![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Echo1214_Xie
这个作者很懒,什么都没留下…
展开
-
图/树——宽度优先搜索(BFS)
转载宽度优先搜索(BFS, Breadth First Search)是一个针对图和树的遍历算法。发明于上世纪50年代末60年代初,最初用于解决迷宫最短路径和网络路由等问题。对于下面的树而言,BFS方法首先从根节点1开始,其搜索节点顺序是1,2,3,4,5,6,7,8。 BFS使用队列(queue)来实施算法过程,队列(queue)有着先进先出FIFO(First Input First...转载 2018-08-14 19:18:13 · 17803 阅读 · 1 评论 -
图/树——深度优先搜索(DFS)
转载深度优先搜索(DFS, Depth First Search)是一个针对图和树的遍历算法。早在19世纪就被用于解决迷宫问题。对于下面的树而言,DFS方法首先从根节点1开始,其搜索节点顺序是1,2,3,4,5,6,7,8(假定左分枝和右分枝中优先选择左分枝)。 DFS的实现方式相比于BFS应该说大同小异,只是把queue换成了stack而已,stack具有后进先出LIFO(Last I...转载 2018-08-14 19:23:07 · 14466 阅读 · 0 评论 -
计算排列组合C(n,k)
通过归纳法可得:C(n,k)=C(n-1,k-1)+C(n-1,k)所以通过数组填表可以得到一个表格,其值代表组合数。//计算排列组合C(n,k)=C(n-1,k-1)+C(n-1,k)int c[15][15] = { 0 };void init(){ c[0][0] = 1; for (int i = 1; i < 15; ++i) { c[i][0] = 1;...原创 2018-08-27 11:06:25 · 9418 阅读 · 0 评论 -
队列和栈
1. 循环队列的实现:在循环队列中,我们使用一个数组和两个指针(head 和 tail)。 head 表示队列的起始位置,tail 表示队列的结束位置。class MyCircularQueue {private: vector<int> data; int head; int tail; int size;public: /** ...原创 2018-08-27 20:15:01 · 221 阅读 · 0 评论 -
二叉树的前中后序遍历(递归与非递归)
/**递归方式遍历**///先序递归遍历void preOrder(Node * root){ if (root != nullptr) { visit(root); preOrder(root->left); preOrder(root->right); }}//中序递归遍历void inOrder(Node * root){ if (root !...转载 2018-09-04 15:15:01 · 363 阅读 · 0 评论