文章分类 -  算法与数据结构

排序算法之快速排序
摘要:快速排序:虽然名字中有快速二字,但其在最糟糕的情况下时间复杂度为O(N^2),在平均情况下,快速排序的时间复杂度为O(nlogn).快速排序也是一种归并算法,我们在待排序序列中选择一个对象作为基准,将小于它和大于它的分别分成两个子序列,然后分别对着两个子序列对排序。 示例: C++实现(递归): P 阅读全文
posted @ 2017-11-27 16:51 LyndonYoung 阅读(211) 评论(0) 推荐(0)
排序算法之梳排序
摘要:梳排序(Comb sort)是一种不稳定排序算法,其改良于冒泡排序和快速排序。在冒泡排序中,只比较阵列中相邻的两项,即比较的间距为1,梳排序提出此间距其实可以大于1,梳排序中,开始时的间距设定为阵列长度,并在循环中以固定的比率递减,通常递减率为1.3,该数字是原作者通过实验得到的最有效的递减率,因为 阅读全文
posted @ 2017-11-21 21:08 LyndonYoung 阅读(1025) 评论(0) 推荐(1)
排序算法之冒泡排序
摘要:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法,冒泡排序的特点是调整相邻的两个对象的位置,每进行一次内循环,就可以将最大值调整到最后,这样下次就不需要考虑它了,冒泡排序的时间复杂度为O(N^2),虽然时间上不占有优势,但是冒泡排序的代码简单,实现难度低。 Python实现 阅读全文
posted @ 2017-11-20 21:29 LyndonYoung 阅读(241) 评论(0) 推荐(0)
仿照PageFile编写数据块大小可调整的数据结构
摘要:最近在编写一个可以保存大量数据并可以对其按字段进行分区并按字段排序的数据结构,该结构分为内存和外存两种处理情况,当内存足以容纳下该批次数据量时,使用哈希结构(boost库的unordered_map)处理,当然这其中会加入一些自己的接口;当内存不足以容纳大批次数据的时候,就会使用外存,将所有数据按元 阅读全文
posted @ 2016-06-22 15:37 LyndonYoung 阅读(247) 评论(0) 推荐(0)
leetcode-cpp
摘要:leetcode-cpp pdf版本。 链接:http://pan.baidu.com/s/1slCDkrr 密码:d8nl 阅读全文
posted @ 2016-04-13 17:44 LyndonYoung 阅读(291) 评论(0) 推荐(0)