
数据结构
文章平均质量分 83
千岛飞鱼
有时候学会放弃是一种智慧,把泪换成汗水。我的爱
展开
-
8种排序算法--开山篇
我们不得不知道8种排序算法。8种排序更是大企业面试的常问题目。首先我们要明白一些概念:首先作为排序由于记录数量,使排序过程中涉及的存储器不同,可将排序方法分为内部排序,外部排序。内部排序:待排序的记录存放在计算机随机存储器中进行的排序过程。外部排序:待排序记录很大,是内存一次不能全部记录,在排序中尚要对外存进行访问的排序过程。 那常见的内部排序有 选择排序(直接选择原创 2013-08-23 10:30:09 · 1283 阅读 · 0 评论 -
8种排序算法--冒泡排序
冒泡排序是属于交换排序的。算法比较好写。冒泡排序就是利用沉浮定理来的。将大数上浮,小数下沉。或者相反。这种算法就是每次比较一趟,将最值依次往后放。比如说:有一组数 :9,7,4,2,3,6,4,8,1 共九个数冒泡就是这样实现的。先第一个数第2个数比,数大就给后面,那么依次比最,大数自然会放最后面第1次 7 4 2 3 6 4 8原创 2013-08-23 11:19:49 · 1685 阅读 · 5 评论 -
8种排序算法--直接插入排序
直接插入排序。 我的想法是:首先将序列想成是有序的,然后依次往后追加数让他成为大数列。如果追加的数使该序列无序,就将这个数进行插入到前面有序的序列中。直到全部追加完毕就排序完毕了。 现在有这么一个序列:6 7 4 3 9 1 2 3 第1次:比较是从第二开始的,如果前面的数比后面的数大就将两个数重新排,结果没有。第2次: 4 6 7 3 9 1原创 2013-08-23 17:35:23 · 1015 阅读 · 0 评论 -
8种排序算法--直接选择排序
直接选择排:这种排序思想。直接选择排序顾名思义:就是重一堆中每次取出最大数(或者最小数)依次排列: 有这么一组数:9 1 5 4 8 7 4 6 6采用选择排序是这么的:第1次 1 9 5 4 8 7 4 6 6 首先重开始的里面选择最小的,交换位置第2次 1 4 5 9 8 7 4 6 6原创 2013-08-23 16:03:41 · 1449 阅读 · 0 评论 -
8种排序算法--折半插入算法
折半插入排序算法:也叫二分插入排序算法。这种算法和直接插入算法基本一样。都是属于插入排序。所以时间复杂度为N2,空间复杂度为1.最好情况时间复杂度是n。先看看这种算法思想。折半插入算法与直接插入不同是:不是比的过程,那是插的过程。二分排序想名字就是把有序的东西分成2半。比如说你向1 2 3 4 5 6这个有序序列插入4,你怎么插,你可以先和6比,在和5比这样可以做。但是作为一个有序序原创 2013-08-26 09:15:06 · 1716 阅读 · 0 评论 -
8种排序算法--快速排序
快速排序是非常优越的一种排序,时间复杂度为nlogn,空间复杂度为logn。下面我说说他实现的排序的算法。快速排序的实现思想:将一组数据,从里面随便找一个值为key值(一般以这组数的第一个数为key),然后用这个key值将数据划分为2部分(一边大于他的数,一边小于他的数)然后将这两边的数分别用这个方法来递归实现字。直到所有都排序完毕。 我们来看看这个数据如何进行快速排序的。原创 2013-09-16 18:55:38 · 1409 阅读 · 0 评论