一.冒泡排序 1.1.冒泡的原理 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较. 2.1.冒泡排序的代码实现 def bubble_sort(seq): count=len(seq) for i in range(0,count): for j in range(i+
快速排序是交换排序,是冒泡排序的改进版. 快排过程: 1.选定一个分界值 2.分成三个部分(小于分界部分,分界值,大于分界值部分) 3.对于分开的两部分重复上述操作,直到排序完成 C/C++代码: //分界值切分 //挖坑法: int PartSortWakeng(int *a, int begin, int end) { //挖空第一个值作为分界值 int tmp = a[begin]; while (begin<end) { //右指针碰到
二分法: 平均时间复杂度:O(log2n) int halfFuntion(int a[], int length, int number) { int start = 0; int end = length - 1; int index = 0; while(start < end) { index = start + (end - start)/2 if(a[index] == number){ return index; } else if(a[index] < number){