排序算法
来源:互联网 发布:翻译视频的软件 编辑:程序博客网 时间:2024/05/17 04:57
单纯思路。
快速排序,假如有数字7,5,4,3,6.
那么思想是这样的第一轮快排得到:6,5,4,3,7.
设立i,j分别为a[0]及a[N-1];a[0] = key;现在关键值key = 7
那么第一次快排后,根据原则。从尾部开始比对key值小于则调换a[j]和key值。否则继续j--;
那么接着根据快排原则,i++向前搜索,探索比较是否有大于key的值,有的话交换,没有的话继续i++;
发现没有一个值大于7的于是乎,最后快排结果为6,5,4,3,7。之后在分别的key值两边的数快排以此推到。
归并排序,假如有数字6,5,2,1,15,4
首先以分的原则,分为T1[]={6,5,2}和T2[]={1,15,4}两部分进行排序得到:{2,5,6}和{1,4,15}
之后设立一个T[],将T1[]和T2[]的数字,设i和j为T1,T2数组坐标。之后进行数字比较。若T1[i]<T2[j],那么将T1[i]记录到T[]中,并且下标i++;
继续比较T1与T2的大小,直到T1或者T2数组中没有元素。再把剩余的T1或者T2的元素连到T[]下。
示例:
T[]= {1};//T1={2,5,6};T2={4,15}
T[]={1,2};//T1={5,6};T2={4,15}
T[]={1,2,4};//T1={5,6};T2={15}
T[]={1,2,4,5};//T1={6};T2={15}
T[]={1,2,4,5,6,15}
*这样看来无论是链表、哈希表。还是在归并排序当中的应用。都是以计算机空间为代价,来换取效率上的优越。就是所谓的空间换时间了。半夜突想排序!仅仅范例!
0 0
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 排序算法
- 15_09_08 Log.i();初学者易范错误
- IndexedDB
- cocos2d-x常见的报错(收集整理)
- iOS开发系列课程(07) --- 分栏视图控制器
- 华为手机Android开发调试时logcat不显示问题
- 排序算法
- php中 echo print print_r var_dump的区别
- wxpython comboBox 自动完成提示功能
- CSS层叠样式温故第一天
- Leet Code Medium 2 add two numbers
- PE格式详细讲解9– 导出表
- 置换元素(替换元素)和非置换元素(不可替换元素)
- POJ 1180 Batch Scheduling
- CSS3:简易的循环弹跳动画