/*
达内学习 数据结构 day22 2013-9-27
*/
快排、归并排序、线性查找、二分查找
归并排序
需求1:已知两个有序数组,合并成一个有序数组
正常来说data3的长度等于data2和data1的长度之和
if data[j]< data[i] data3[k] = data[j] j++;k++
变革:data1,data2,data3用一个数组,比如data = {1,3,5,7,9,2,4,6,8}
以元素9为分隔点,data可以看成是一个2个有序的子数组 借助临时数组,可以调用3数组的归并
某数组arr有1000个0-2000的随机数,确保无重复,如何高效排序
1,定义一个长度是2000的数组,清0
2,遍历arr,temp[arr] = 1
3,遍历temp把值为1的下标存入arr即可
查找数据的算法:
如果数据无序使用线性查找,从头到尾
如果数据已经拍好序,可以使用二分查找