coding A&D:排序算法-概念总结

一. 插入排序
            #直接插入排序:
                        每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。
                        有序序列(初始为:最左端第一个元素) | 待排序序列
            #折半插入排序:

            #希尔排序:
                        【1】选取合适的增量increment,一般为 d1=n/2,d2 = n/2」+ 1
                                                        d3= n/3』+ 1
                        【2】所有距离为increment的元素为同一个子序列,共有increment个字序列;
                        【3】各个字序列中分别进行直接插入排序;
                        【4】d变化,重复【3】


二. 交换排序
            #冒泡排序:
                    从一端开始,对相邻元素进行两两比较,顺序相反进行比较:
                    从左端:每一趟,最大元素浮到顶端(右端)
                    从右端:每一趟,最小元素浮到顶端(左端)
            #快速排序:
                    【1】从带排序序列中选取一个「基准值」;
                    【2】通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字均比另一部分关键字小;
                    【3】继续对长度较短的序列(子序列)进行同样的分割,最后到达整体有序
                    
                    在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。

三. 选择排序
            #简单选择排序:
                    【1】找到数组中最小的那个元素
                    【2】将最小的这个元素和数组中第一个元素交换位置
                    【3】在剩下的元素中找到最小的的元素,与数组第二个元素交换位置

                        重复以上步骤,即可以得到有序数组。
            #堆排序:

                    【1】构造初始堆;大根堆,或小根堆
                    【2】将堆顶元素与末尾元素进行交换,使末尾元素最大。然后继续调整堆,再将堆顶元素与末尾元素交换,得到第二大元素。如此反复进行交换、重建、交换。
                    https://blog.csdn.net/u013384984/article/details/79496052

四. 归并排序:分而治之
五. 基数排序:从个位数开始,依次进行排序

六. 外部排序:多路归并排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值