n(*≧▽≦*)n 1 /* 2 编写程序输出以邻接表为存储结构的无向图的各顶点的度。 3 */ 4 /**********************************/ 5 /*文件名称:lab8_01.c */ 6 /**********************************/ 7 ...
分类:
其他好文 时间:
2016-12-20 20:50:00
阅读次数:
586
最短路径=》BFS 所有路径=》DFS 126. Word Ladder II BFS+DFS: BFS找出下一个有效的word进队 并记录step 更新两个变量:unordered_map<string, vector<string>> next, unordered_map<string,int ...
分类:
其他好文 时间:
2016-12-18 10:02:21
阅读次数:
158
图是一种很重要的数据结构,在我们的编程生活中应用极其广泛 ...
分类:
其他好文 时间:
2016-12-11 18:03:42
阅读次数:
176
在竞赛中如果系统栈很小的话,过深的递归会让栈溢出,这个时候我们就要自己手写栈,将递归转化成手工栈。 方法其实也很简单。 基本思路上,我们就是用栈不断的pop,push。但是何时push,何时pop呢? 在《算法导论》上对深度优先遍历树的讲解中,在深度遍历中,会对每个节点进行染色,白色为没有被访问过; ...
分类:
其他好文 时间:
2016-10-25 13:43:32
阅读次数:
164
树的经典问题和方法 《算法竞赛入门经典(第2版)》392页 欧拉序列。对有根树t进行dfs(深度优先遍历),无论是递归还是回溯,每次到达一个结点时都将深度记录下来,可以得到一个长度为2n-1的序列,称为t的欧拉序列f(类似于欧拉回路)。 为了方便,把结点k在欧拉序列中第一次出现的序号记为pos(k) ...
分类:
其他好文 时间:
2016-10-23 17:47:51
阅读次数:
154
一、深度优先遍历和广度优先遍历( DFS && BFS ) 【深度优先】 0->3->1->2->4 1.从0开始,首先找到0的关联顶点3 2.由3出发,找到1;由1出发,没有关联的顶点。 3.回到3,从3出发,找到2;由2出发,没有关联的顶点。 4.回到4,出4出发,找到1,因为1已经被访问过了, ...
分类:
其他好文 时间:
2016-10-19 13:46:55
阅读次数:
174
1.构造函数和析构函数的执行顺序 下图是多虚基类的情况,其中A和B类是类C和类D的虚基类,类E是类C和类D的派生类。 各类定义可以简写如下: 各类构造函数简写如下: 在创建E类对象时,按从左到右深度优先遍历算法来调用各个构造函数:A --> B --> C --> D --> E 析构函数的执行顺序 ...
分类:
编程语言 时间:
2016-09-23 18:32:09
阅读次数:
208
DOM中的遍历为深度优先遍历(上左右), DOM中提供遍历的方法有两种 NodeIterator TreeWalker 这两种方法都是对元素进行遍历 NodeIterator 创建一个NodeIterator的方法为 document.createNodeIterator(node,whattowa ...
分类:
其他好文 时间:
2016-09-21 23:03:38
阅读次数:
140
树结构,尤其是二叉树结构是算法中常遇见的,这里根据学习过程做一个总结。 二叉树所涉及到的知识点有:满二叉树与完全二叉树、节点数目的关系、节点数与二叉树高度的关系、层次遍历、深度优先遍历、广度优先遍历等等。 这里对二叉树的基本结构实现c++版本以及python版本的代码,并且实现二叉树的前中后序遍历过 ...
分类:
编程语言 时间:
2016-09-17 23:40:24
阅读次数:
218
二叉树的创建代码==>C++ 创建和遍历二叉树 深度优先遍历:是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。 广度优先遍历:是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。 ...
分类:
编程语言 时间:
2016-09-17 01:51:57
阅读次数:
280