第八章学习小结

一、排序的概念:将一系列数据按照某个关键字进行递增或递减的顺序排列起来

二、排序的方式:

1、插入排序:

  直接插入排序:     一 一比对

  折半插入排序:在已经拍好的序列中插入,适合初始记录无序、n较大的情况

  希尔排序:待排序的关键字基本有序->效率较高      分组插入,先分割(相隔某个增量的记录),对每组进行直接插入排序(不能用于链式结构)

 

2、交换排序:

  冒泡排序:左右一 一比对

  快速排序:选一个作为分隔,对其进行左右两端分隔,然后利用递归,一 一划分(不稳定、适用于顺序结构,不适用链式结构)

 

3、选择排序:

  简单选择排序/直接选择排序:以第一个数进行比较,然后找到里面最小的那一个数后,调换位置,紧接着第二个数开始(还是可以用循环)

  树形选择排序:从树的叶子到根,两两比较,换位

  堆排序:调整堆、建初堆(筛选法)

 

4、归并排序:将两个或两个以上的有序表合成一个有序表

三、排序的稳定性:

(1)稳定:直接插入排序 , 折半插入排序 , 冒泡排序 , 归并排序 , 基数排序

(2)不稳定:希尔排序 , 快速排序 , 简单选择排序 , 堆排序 , 

学习心得: 第八章就插入算法进行了详细的解释,各种不同的算法以及各自的优缺点无不体现着数据结构的魅力,趣味无穷。对时间、空间复杂度等因素的考虑决定着选用何种算法进行插入,让我体会到了纵观全局的感觉。但临近期末有些无暇顾及这一章,计划在暑假好好再研究一下。期末加油!

posted @ 2020-07-12 21:40  田晓涵  阅读(106)  评论(0编辑  收藏  举报