随笔分类 - 算法竞赛入门经典2第六章
┭┮﹏┭┮,前面第五章鸽成废物了,这次迅速完成基础篇,来实现这个疯狂寒假的计划。我终将学会这算法。
摘要:Parentheses_Balance 点击查看代码 #include<iostream> #include<stack> using namespace std; int main() { int T; scanf("%d%*c", &T); while(T--) { string str; ge
阅读全文
摘要:Undraw_the_Trees 点击查看笔者代码 #include<iostream> #include<vector> using namespace std; const int maxn = 20000+5, maxl = 200+5; int cnt = 0, sum = 0; strin
阅读全文
摘要:有一条名为Pregel的河流经过Konigsberg城,城中有7座桥,把河中的两个岛与河岸连接起来,当地居民热衷于一个难题,是否存在一条路线,可以不重复地走遍7座桥 首先是抽象为平常中我们常见的一笔画问题,这样的路线称为欧拉道路(eulerian path) 点击查看欧拉回路 C..........
阅读全文
摘要:好吧,笔者开单章开上瘾了,话不多说,先来一个拓扑排序,笔者最初自己写的时候并没有使用拓扑排序吧 Ordering_Tasks题解 点击查看笔者代码 #include<iostream> #include<cstring> #include<vector> using namespace std; c
阅读全文
摘要:前面的篇幅占了太多,再次新开一章,讲述BFS求最短路的问题 注意此时DFS就没有BFS好用了,因为DFS更适合求全部解,而BFS适合求最优解 这边再次提醒拓扑变换的思想在图形辨认中的重要作用,需要找寻不同图形在进行拓扑变换时候的不变性 假设有一个网格迷宫,由n行m列的单元格组成,每个单元格要么是空地
阅读全文
摘要:图(graph)描述的是一些个体之间的关系。与线性表和二叉树不同的是,这些个体间不是前驱后继的顺序关系,也不是祖先后代的层次关系,而是错综复杂的网状关系 对于线性表(链表来说)各种节点之间的关系是前驱后继 对于树来说,各种结点之间的关系是祖先后代的层次关系 对于图来说,各种结点之间是错综复杂的网状关
阅读全文
摘要:#好吧,笔者错误估计树结构中的内容了,只能再来一篇写一下非二叉树的模型,放心,马上向图前进 借助这篇文章一定要注意,再C++中传递已知长度的数组,如果传递引用的时候(指针也是一样) 格式如此type (&name)[m][n] 这样才会被计算机认可,其实也正常,这与运算符的优先级相关 []的优先级高
阅读全文
摘要:第六章中树的内容较多,因此特地多开一篇来进行总结。 6.3.3 二叉树的递归遍历 对于二叉树T,可以递归定义它的先序遍历,中序遍历和后序遍历 PreOrder(T) = T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树) InOrder(T) = InOrder(T的左子树)
阅读全文
摘要:写在前面的一些杂谈 reference to 'next' is ambiguous//出现该错误的原因一般是因为代码中出现了关键字,使得编译器无法正常编译 对于一个完全二叉树来说,其第k个节点下的左右节点分别是2k和2k+1,同理可以不严谨的推断出对于一个完全n叉树来说,其第k个节点下的子节点的编
阅读全文