• 二分查找 —— 优化自己的思想(快速查找)


    正常的二分查找,头尾不断替换,每次砍掉一半

    复制代码
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdlib.h>
    #include<stdio.h>
    #define N 1024
    
    void search(int a[N],int num) //二分查找法
    {
        int tou = 0;
        int wei = N - 1;
        int zhong;
        int flag = -1;  
        int ci = 0;
        while (tou<=wei)
        {    
            zhong = (tou + wei) / 2;
            if (num==a[zhong]) 
            {    
                ci++;
                printf("找到,a[%d]=%d", zhong, num);
                flag = 1;
                break;
            }
            else if (num > a[zhong])
            {
                tou = zhong + 1;
            }
            else 
            {
                wei = zhong - 1;
            }
    
        }
    
        if (flag == -1)
        {
            printf("没有找到");
        }
    }

    拉格朗日二分查找,每次砍掉一大半

    void searchL(int a[N], int num) //拉格朗日查找法
    {
        int tou = 0;
        int wei = N - 1;
        int zhong;
        int flag = -1;
        int ci = 0;
        while (tou <= wei)
        {
            zhong = tou+(wei-tou)*1.0*(num-a[tou])/(a[wei]-a[tou]);
            if (num == a[zhong])
            {
        
                printf("找到,a[%d]=%d,%d", zhong, num,++ci);
                flag = 1;
                break;
            }
            else if (num > a[zhong])
            {
                tou = zhong + 1;
            }
            else
            {
                wei = zhong - 1;
            }
    
        }
    
        if (flag == -1)
        {
            printf("没有找到");
        }
    }
    void main()
    {
        int a[N];
        for (int i = 0; i < N; i++)
        {
            a[i] = i;
            printf("%d", i);
        }
    
        int num;
        scanf("%d", &num);
        searchL(a, num);
        system("pause");
    }
  • 相关阅读:
    ubuntu上安装boost库
    boost array使用
    2017新年总结
    qt 设置等待事件
    vs下 qt源码调试
    使用记事本创建Web服务(WebService)
    司以类聚,人以群分
    附件上传
    DES 加密解密
    工作总结-js插件
  • 原文地址:https://www.cnblogs.com/zhenghongxin/p/6625382.html
Copyright © 2020-2023  润新知