Advertisement

数据结构七大排序及时间与空间复杂度的对比

阅读量:

1、插入排序

核心原理:以首个元素为起点依次向后遍历,但每次进行比较时采取从后向前的顺序。

操作步骤:保存当前遍历到的元素数值,将其与前方已排序部分的元素进行对比,若发现比当前元素大的数值则将其后移,直至找到比当前元素小的数值位置,并将该数值插入至其后方

复制代码
 void InsertSort(int array[], int size)

    
 {
    
     for (int i = 0; i < size; i++){
    
     int last = array[i];
    
     int j;
    
     for (j = i - 1; j >= 0; j--){
    
         if (array[j] < last){
    
             break;
    
         }
    
         
    
         array[j + 1] = array[j];
    
     }
    
     array[j + 1] = last;
    
     }
    
 }
    
    
    
    

2、希尔排序

主要思想:依据gap = (gap / 3) + 1(初始gap等于数组规模)的分组规则,将序列划分为若干个子序列,每

全部评论 (0)

还没有任何评论哟~