zl程序教程

您现在的位置是:首页 >  其它

当前栏目

查找

查找
2023-09-14 08:56:53 时间

顺序查找

int SequenceSearch(int a[], int n, int key)
{
    int i=0;
    while(i < n && a[i] != key){
        i++;
    }
    return i==n ? -1 : i;
}

  

 

二分查找

int BinarySearch(int a[], int n, int key)
{
    int low, high, mid;
    low = 0;
    high = n-1;
    while(low <= high) {
        mid = low + (high - low)/2;
        if (a[mid] == key) {
            return mid;
        } else if (a[mid] > key){
            high = mid -1;
        } else {
            low = mid + 1;
        }
    }
    return -1;
}

 

 

二叉排序树

 

 

平衡二叉树

 

多路查找

 

哈希表