算法
二叉树:中序遍历的迭代递归算法。
端阳月七
如果你真的想做一件事情,那么就算障碍重重,你也会想尽一切办法去办到它。但若是你不是真心的想要去完成一件事情,那么纵使前方道路平坦,你也会想尽一切理由阻止自己向前。
展开
-
Sort
bubble&select 起泡排序是无序向量里的算法,是将最大的元素排到最后,最坏迭代n次,所以最坏时间复杂度是O(n^2),最好时间复杂度是O(n),平均时间复杂度是O(n^2)。 而选择排序是无序列表里的算法,选择最大的元素排到最后,selectMax()算法执行一次复杂度是O(n),一共迭代n次,所以时间复杂度是O(n^2),没有最好最坏之说。 快速 ...原创 2020-08-23 17:52:56 · 341 阅读 · 0 评论 -
DFS
有向图的dfs原创 2020-10-09 23:46:09 · 97 阅读 · 0 评论 -
各种复杂度
插入 删除 查找原创 2020-11-17 13:21:24 · 83 阅读 · 0 评论 -
BFS
广度优先遍历 while ( ! Q.empty() ){ int v = Q.dequeue();//取出队首顶点v dTime(v) = ++clock;//发现v的时间 for ( int u = firstNbr(v); -1 < u; u = nextNbr(v,u) ) if ( UNDISCOVERDE == status(u) ) { status(u) = DISCOVERED; Q.enqu原创 2020-11-19 16:56:06 · 115 阅读 · 0 评论 -
Inorder&Postorder&LevelOrder
递归 迭代 中序遍历 O(n) O(n) 递归 if ( !x ) return; //处理递归基 traverse( x->lChild, visit ); //遍历左子树 visit( x->data); //访问根节点 traverse( x->rChild, visit ); //遍历右子树 迭代 控制权转交给左孩子;图中的被发现状态和visited状态 访问左侧链节点,遍历右子树; 左...原创 2020-11-17 15:38:05 · 242 阅读 · 0 评论