数据结构----顺序查找

1.查找算法的四个特征:
内外有别:分为内查找和外查找
静态动态: 静态查找时,表的内容不变;动态查找时,表的内容不断地变化。
原词变词: 原词系指用原来的关键词,变词系指使用经过变换的关键词。
数字文字: 指进行比较的时候,是否用数字的性质(或者类似于数字的性质进行分布排序)。
2.顺序查找
2.1无序表的顺序查找
从起点开始顺着往下查,一直找到相同的关键词为止。(或者查找失败
算法1:


for (int i = 0; i < n;i++)
{
    if(K==kI)
    {
        find it;
    }
    else if(i==n-1)
    {
        fail;
    }
}

算法2:对于算法 1的改进

    int i = -1;
    while()
    {
        i = i + 2;
        if(k[i]==k)
        {
            if(i<=N)
                find it;
            else
            {
                not find;
            }
            
        }
        if(k[i+1]!=k)
        {

        }
        else
        {
            res = i + 1;
            if (i <= N)
                find it;
            else
            {
                not find;
            }
        }
        

    }

加速原理:
当算法的一个内循环要测试两个或多个条件时,应力图将其减少成一个条件。
2.2自组织表
显而易见,平均查找长度与查找各元素的概率是相关的,把经常出现的元素(查找的概率较大)自动向表的前端移动(MOVE-TO-FRONT),把不经常出现的元素自动向表的后端移动。
2.3排序与查找
2.3.1在我们进行多次查找时,先将文件排序再进行查找是一个快速的查找方法。但如果仅仅进行一次查找,进行排序则会消耗很多时间。
2.3.2由此,我们进入下一章节来考虑排序后的有序表如何进行数据的查找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不停---

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值