
数据结构与算法基础
文章平均质量分 52
「已注销」
这个作者很懒,什么都没留下…
展开
-
二叉树的深度优先和广度优先遍历【转载】
二叉树的深度优先和广度优先遍历(超详细步骤)(java实现)转载 2021-05-24 23:28:50 · 121 阅读 · 0 评论 -
【C++】【排序】排序算法概要
1 总结优化后的快速排序性能最优;序列情况:如果待排序列基本有序,或者序列短,适合采用简单算法(冒泡、选择、插入),序列长适合改进的算法;时间情况:堆排与归并排较为稳定,而快排时间不确定;空间情况:归并排强调要马跑得快,就要给马吃饱。快排次之,堆排最少。稳定性情况:归并排最好;2 排序示意图下图均来自菜鸟教程的内容:链接1)冒泡2)选择3)插入4)希尔5)堆排6)归并7)快排...原创 2021-05-21 15:24:04 · 142 阅读 · 0 评论 -
【C++】【排序】快速排序
1 主要思想5 2 4 8 6 3 2 4 8 1 )从数列端选取第一个元素比如5,经过一次大循环,让此元素位于数列中间。此时数列被分为两部分,小于等于5 以及 大于等于5的。之后对小于等于5的部分数列以及大于等于5的数列再次应用此方法,各自又可以分为两个子部分,循环往复,最后经过回溯,就可以完成排序。排序的终止条件是左边的索引low >= high。 2)对于每个循环中的操作是,获取左端第一个元素,存入变量pivot,从右边第一个值开始比较,如果比pivot大或者等于,就不移动,这是原创 2021-05-21 13:32:01 · 202 阅读 · 0 评论 -
【C++】【排序】堆排序
图片来源于菜鸟教程,还有讲解:链接1 基础知识1)树的新理解方法: (非空树)一棵树有一个根,其余结点又可以划分为不同的集合,每一个集合又是一棵树,并且称为根的子树。 在完全二叉树中,由于每个结点最多有两个孩子结点,因此完整的最小的一棵子树是由三个结点构成。也就是说,根与两个孩子构成一棵树,而其两个孩子作为根也可以构成一棵树,整颗大树是由一棵棵小树构成。详细定义见<大话数据结构>P1512)树中根与孩子结点间序号关系:总根index=1: 在有的教材中对树的标记从i原创 2021-05-21 10:38:09 · 170 阅读 · 2 评论