版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/24323125 表插入排序 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24323125 表插入排序(List Insertion Sort)是使用静态链表进行插入排序, 每次插入改动指针项, 通过指针项的链接顺序, 使静态链表有序. 改动2n…
2-路插入排序 具体解释 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24267679 2-路插入排序的思想非常有意思: 通过一个辅助的循环数组, 假设大于最大的元素, 则插入至尾部, 假设小于最小的元素, 则插入至头部, 假设在两者之间, 採用折半查找的方式,移动一部分的元素; 设计到循环数组的中间值的查找和数据移动的问题. 因为折半查找能够降低比較次数, 首尾插入又不须要移动元素, 即移动次数约为[(n^2)/…
堆排序(heap sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 堆排序包括两个步骤: 第一步: 是建立大顶堆(从大到小排序)或小顶堆(从小到大排序), 从下往上建立; 如建堆时, s是从大到小; 第二步: 是依次交换堆顶和堆底, 并把交换后的堆底输出, 仅仅排列剩余的堆, 从上往下建立; 如构造时, s始终是1; 堆排序(Heap Sort)的时间复杂度是O(nlogn), 最坏情况下也是如此. 而高速排序(Quic…
归并排序(merging sort) 具体解释 及 代码 本文地址: http://blog.csdn.net/caroline_wendy 归并排序(merging sort): 包括2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表. 归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如高速排序(quick sort)和堆排序(heap sort), 可是归并排序是稳定排序, 而高速排序和堆排序则不是. 代码: /* * main.cp…
数据结构 - 希尔排序(Shell's Sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24363981 希尔排序(Shell's Sort), 又称"缩小增量排序"(Diminishing Increment Sort), 是插入排序的一种. 主要思想是: 先将整个记录, 通过间隔分成若干个子序列, 分别进行插入排序, 待整个序列基本有序时, 再进行一次插入排序. 由于插入排…
树形选择排序 (tree selection sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 算法逻辑: 依据节点的大小, 建立树, 输出树的根节点, 并把此重置为最大值, 再重构树. 由于树中保留了一些比較的逻辑, 所以降低了比較次数. 也称锦标赛排序, 时间复杂度为O(nlogn), 由于每一个值(共n个)须要进行树的深度(logn)次比較. 參考<数据结构>(严蔚敏版) 第278-279页. 树形选择排序(tr…
如有错漏请不吝拍砖指正,转载请注明出处,很感谢 桌面便签软件是android上经常使用软件的一种,比方比較早的Sticky Note,就曾很流行, Sticky Note的介绍能够參见 http://www.tompda.com/c/article/11778/ 而实际上使用android平台对widget开发的支持,桌面便签类软件是很易于开发的. 本文通过逐步实现一个简单的桌面便签软件,和大家分享进行widget开发的过程和方法. 1.MyNote的终于实现效果 为了提起大家阅读本文的兴趣,先…
python数据结构之直接插入排序 #-*-encoding:utf-8-*- ''' 直接插入排序: 从序列的第二个元素开始,依次与前一个元素比较,如果该元素比前一个元素大, 那么交换这两个元素.该算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法. ''' def InsertSort(L): for i in range(1,len(L)): key = L[i] j = i - 1 while j >= 0: if L[j] > key: L[j+1] = L[j]…
题目 插入排序法由未排序的后半部前端取出一个值.插入已排序前半部的适当位置.概念简单但速度不快. 排序要加快的基本原则之中的一个: 是让后一次的排序进行时,尽量利用前一次排序后的结果,以加快排序的速度,Shell排序法即是基于此一概念来改良插入排序法. 解法 Shell排序法最初是D.L Shell于1959所提出,如果要排序的元素有n个,则每次进行插入排序时并非全部的元素同一时候进行时,而是取一段间隔. Shell排序算法 – n/2间隔 之后的最后一次排序终止. Shell排序算法 – Se…
Vue学习之路之登录注册实例代码:https://www.jb51.net/article/118003.htm vue项目中路由验证和相应拦截的使用:https://blog.csdn.net/wang1006008051/article/details/77962942/ vue登录路由验证的实现:https://www.jb51.net/article/130487.htm [vue+axios]一个项目学会前端实现登录拦截:https://blog.csdn.net/qq67331852…