数据结构与算法
一枚小码农
这个作者很懒,什么都没留下…
展开
-
直接选择排序
基本概念算法思想:第一趟从n个元素的数据序列中选出关键字最小/大的元素并放在最前/后位置,下一趟从n-1个元素中选出最小/大的元素并放在最前/后位置。以此类推,经过n-1趟完成排序。时间复杂度选择排序的交换操作介于 0 和 (n - 1) 次之间。选择排序的比较操作为 n (n - 1) / 2 次之间。选择排序的赋值操作介于 0 和 3 (n - 1) 次之间。比较次数O(n^2),比较次数与关...原创 2018-04-24 21:33:43 · 500 阅读 · 0 评论 -
希尔排序
基本概念是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量 =1( < …<d2<d1),即所有记录放在同一组中进行直接插入排序为止。具体如...原创 2018-04-24 21:55:00 · 2773 阅读 · 0 评论 -
插入排序
基本概念基本思想是:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。算法复杂度如果目标是把n个元素的序列升序排列,那么采用插入排序存在最好情况和最坏情况。最好情况就是,序列已经是升序排列了,在这种情况下,需要进行的比较操作需(n-1)次即可。最坏情况就是,序列是降序排列,那么此时需要进行的比较共有n(n-1)/2次。插入排序的赋值操作是比较操作的次...原创 2018-04-24 22:07:29 · 206 阅读 · 0 评论 -
大O、大Θ、大Ω表示法的概念
Stanford的Alogrithm课程里看到的大Θ用来分类算法大O算法性能的上界大Ω算法性能的下界原创 2018-04-24 22:13:28 · 7128 阅读 · 0 评论 -
快慢指针的问题
一.问题来源 昨晚看微博,发现于梁斌penny,他在说现在的面试制度考不出来真功夫,也就是基本功,面试题千篇一律的算法,看过会,不看就不会。期间提到了快慢指针求中位数。 查资料时我发现,这其实是计算机系统原理里的知识点。二.快慢指针概念 快慢指针中的快慢指的是移动的步长,即每次向前移动速度的快慢。例如可以让快指针每次沿链表向前移动2,慢指针每次向前移动1次。三.快慢指针的...转载 2018-07-25 17:58:59 · 977 阅读 · 0 评论