😍查找😍

Posted xiaofff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了😍查找😍相关的知识,希望对你有一定的参考价值。

顺序查找

顺 序 查 找 法 的 特 点 : 用 所 给 关 键 字 与 线 性 表 中 各 元 素 的 关 键 字‘ 逐 个 比 较 ‘, 直 到 成 功 或 失 败 。 存 储
结 构 通 常 为 顺 序 结 构 , 也 可 为 链 式 结 构 。
typedef struct {
    ElemType *elem;
    int Len;    //表长
}Stable;

int Search(Stable St,ElemType key){
    St.elem[0] = key;   //哨兵
    //从后往前找
    for(i=St.Len; St.elem[i]!=key; --i)

    //若表中不存在关键字,则将查找到i=0时退出for循环
    return i;
}

折半查找

折半查找的思想:将表中间位置记录的关键字与查找 关 键 字 比 较 , 如 果 两 者 相 等 , 则 查 找 成 功 ; 否
则 利 用 中 间 位 置 记 录 将 表 分 成 前 、 后 两 个 子 表 , 如 果 中 间 位 置 记 录 的 关 键 字 大 于 查 找 关 键 字 , 则 进 一
步 查 找 前 一 子 表 , 否 则 进 一 步 查 找 后 一 子 表 。 重 复 以 上 过 程 , 直 到 找 到 满 足 条 件 的 记 录 , 使 查 找 成 功 ,
或 直 到 子 表 不 存 在 为 止 , 此 时 查 找 不 成 功 。
int BinarySer(SqList L,ElemType key){
    int low=0,hight=L.Len-1,mid;
    whlie(low <= hight){
        mid = (low+hight)/2;        //中间位置
        if(L.elem[mid] == key){
            return mid;
        }else if(L.elem[mid] > key){    //前半部分找
            hight = mid-1;
        }else{          //后半部分找
            low = mid-1;
        }
    }
    return -1;      //查找失败
}

技术图片
查找成功与失败
技术图片

技术图片

索引查找(分块查找)

基本思想:将查找表分为若干子块,块内的元素可以‘无序‘,块之间是‘有序‘的
8, 14, 6, 9, 10, 22, 34, 18, 19, 31,40, 38, 54, 66, 46, 71, 78, 68, 80, 85, 100, 94, 88, 96, 87
将25个记录分为5块,每块中有5个记录

技术图片



以上是关于😍查找😍的主要内容,如果未能解决你的问题,请参考以下文章

使用AutoHotKey做按键映射来扩充我可怜的小键盘

请问微信😱表情符号还有其它99个表情符号各是啥意思?

查找上一个活动片段

记录C#常用的代码片段

如何使用导航架构组件查找子片段

如何创建片段以重复变量编号中的代码行