数据结构第八章

Posted s1111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构第八章相关的知识,希望对你有一定的参考价值。

排序

插入排序:

直接插入排序

技术图片

 

 


时间复杂度O(n^2)(比较n^2/2+移动n^2/2)

折半插入排序:每次通过折半查找法找到插入的位置。这样会比直接插入中使用的顺序查找法快

但时间复杂度仍为O(n^2)

希尔排序:先将待排序列分组,对每组进行直接插入排序,增加数据量重新分组。

是不稳定的排序

交换排序

冒泡排序:会先得到最大的数

技术图片

 

 

时间复杂度为O(n^2)

快速排序:冒泡排序的改良,先选择一个枢轴,把比他小的数放在前面,比他大的数放在后面,形成两个相对有序的子表,在子表中重复操作,直到最后剩下一个数

时间复杂度约为O(nlog2n)

简单选择排序:每次遍历a[i]到a[n],选出最小数字提前。

时间复杂度也为O(n^2)

树形选择排序:先对n个记录两两比较,再对其中n/2个较小记录比较,如此重复直至选出最小。

技术图片

 

堆排序:

技术图片

 

堆顶元素是大于小面子树中所有元素的是大根堆

若从小到大排序,需要用到大根堆

如从大到小排序则要建立小根堆

堆排序不稳定。

归并排序:依次将元素两两归并并排序,然后对归并得到的集合再次进行两两归并后排序...直到只剩下一个集合。

时间复杂度为O(nlog2n)

但空间复杂度为O(n),需要开辟大量辅助存储空间。

 

以上是关于数据结构第八章的主要内容,如果未能解决你的问题,请参考以下文章

数据结构第八章学习总结

第八章学习小结

数据结构-第八章学习小结

第八章 网络的时代—网络开发

数据结构 第八章学习小结

第八章:数组