欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

常用算法

程序员文章站 2022-07-12 13:15:31
...

排序:

  1. 交换排序
  2. 选择排序 
  3. 插入排序
  4. 堆排序
  5. 桶排序。 

不稳定的排序方法包括:快速排序,希尔排序, 堆排序, 选择排序

查找:

    1. 顺序查找

    2. 二分查找

    3. 插值查找

    4. 斐波那契查找

    5. 树表查找

    6. 分块查找

    7. 哈希查找

最短路

AOR

AOE

最小生成树

shell排序:

#include<stdio.h>
void InsertSort(int k[],int n){
    int j = 0 ;
    int gap = n ;
    do{
        gap = gap/3 + 1 ;

        for(int i=gap;i<n;i++){
            if(k[i]<k[i-gap]){
                int temp = k[i] ;
                for(j=i-gap;k[j]>temp;j-=gap){
                    k[j+gap] = k[j] ;
                }
                k[j+gap] = temp ;
            }
        }
    }while(gap>1) ;
}
int main(){
    int i , a[10] = {5,2,6,0,3,9,1,7,4,8} ;
    InsertSort(a,10) ;
    printf("排序后的结果是: ") ;
    for(i=0;i<10;i++){
        printf("%d ",a[i]) ;
    }
    printf("\n\n") ;
    return 0 ;
}



上一篇: 常用算法

下一篇: 常用算法