Skip to content

caowanjing-code/algorithm

Repository files navigation

algorithm

个人算法练习

基本算法

算法比较

img

在不同数据量时的对比,可以看出快速排序的性能最优

img

希尔排序

图形解释

img

将整个待排序分割成为若干个子序列分割直接插入排序

归并排序

img

归并排序操作:

分和治的应用,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是 O(nlogn) 的时间复杂度。代价是需要额外的内存空间。

步骤:

1.申请空间,使得其大小为2个已经排序列之和,该空间来存放合并后的序列。

2.设定2个指针,最初位置分别为2个已经排序列的起始位置

3.比较2个指针所指的元素,选择行对小的元素放入到合并空间,并移动指针到下一个位置

4.重复3直到序列尾

5.将另一个序列剩下的所有元素直接复制到合并序列尾。

快速排序

快速排序,说白了就是给基准数据找其正确索引位置的过程。

image

堆栈排序

堆是一颗顺序存储的完全二叉树

最后排序的结果是每个节点的关键字都不大于父节点

image

About

个人算法练习

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published