data-structure
数据结构(2020.12更新)
重复遍历要排序的数列,一次比较两个元素,如果顺序错误则交换。每次比较的数量从后往前-1
1 | public class demo_sort { |
选择排序
从一端到另一端,每次比较n,n-1….1个数据,每次挑个最小的,放入第1,2….n位。保证每次都能选出个最小的,放在开头。从头至尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。每次swap一个就Okay
希尔排序(分组插入排序)
gap不断递减,在每次的分组里分别做排序。类推
归并排序(先分组再合并)
不断分组,再比较,每在一对数组里选走一个数字,其分组指针向后移一位,继续进行比较。
快速排序
拎出一个pivot(选个最左边的),从hi开始,选第一个所指的,大于pivot则放在hi上,hi左移,读左移后指向的元素进行比较。相反同理,直至low和hi搞一块,则pivot赋值过去。
堆排序
大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列;
小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列;
- AVL树
找到插入路径上离插入节点最近的平衡因子的绝对值大于1的结点A,进行位置调整
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Money's space!
评论
评论区1评论区2