C语言 数组——查找算法的函数实现

目录

线性查找(Linear Search)

线性查找的性能

猜数游戏

二分查找(Binary Search)

并非吹毛求疵,鸡蛋里挑骨头

二分查找的性能


线性查找(Linear Search

要求数据表是已排好序的
从线性数据表中的第一个(或最后一个)记录开始查找
依次将记录的关键字与查找关键字进行比较
当某个记录的关键字与查找关键字相等时,即查找成功
反之,查完全部记录都没有与之相等的关键字,则查找失败

线性查找的性能

猜数游戏

二分查找(Binary Search

要求数据表是已排好序的
先将表的中间位置记录的关键字与查找关键字比较
如果两者相等,则查找成功
否则将表分成前、后两个子表,根据比较结果,决定查找哪个子表

并非吹毛求疵,鸡蛋里挑骨头

mid = (high + low) / 2;
如果数组很大, low high 之和大于有符号整数的极限值(在
limits.h 中定义)
就会发生数值溢出,使 mid 成为一个负数
防止溢出的解决方案
修改计算中间值的方法,用减法代替加法
mid = low + (high - low) / 2;

二分查找的性能

比较次数少,查找速度快,平均性能好
每执行一次,都将查找空间减少一半,是计算机科学中分治思想的完美体现
最多所需的比较次数是第一个大于表中元素个数的 2 的幂次数
14 24 >14 )个数,最多比较的次数是4
缺点
要求待查表按关键字有序排列,否则需要先进行排序操作
必须采用顺序存储结构,插入和删除数据需移动大量的数据
适用于不经常变动而查找频繁的有序表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/14297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arcgisPro精确移动要素某一点至指定点位

1、打开要素,如下: 2、选择移动工具,如下: 3、选择需要移动的要素,如下: 4、按住Ctrl键,移动锚点的位置至三角形顶点位置,如下: 5、拖动锚点至上面多边形的左上角点&…

李斌阻击马斯克,也不放过李想

市场唯一不变的就是变化。 当年特斯拉开放专利,引起了国内电动车的创业潮,蔚来比小鹏、理想早几个月成立,也是造车新势力中首家实现交付的品牌。 但时过境迁,现在已经不是蔚来领衔“蔚小理”的时代了,理想是其中销量…

加密与解密(第四版)】第二十五章笔记

第二十五章 数据取证技术 25.1 硬盘数据的获取和固定 取证专用的Linux可启动光盘 硬盘复制机 利用取证计算机复制硬盘 手机(JTAG) 电子数据的固定(HASH值) 25.2 硬盘的分区和数据恢复 25.3 内存分析 25.4 动态仿真技术 25.…

2024电工杯B题:大学生平衡膳食食谱的优化设计及评价

大学时代是学知识长身体的重要阶段,同时也是良好饮食习惯形成的重要时期。这一特 定年龄段的年轻人,不仅身体发育需要有充足的能量和各种营养素,而且繁重的脑力劳动和 较大量的体育锻炼也需要消耗大量的能源物质。大学生中饮食结构不合理以及…

弱电工程企业项目一体化管理系统解决方案!企智汇项目管理系统

企智汇工程项目管理系统是一款为弱电工程企业量身打造的专业解决方案,旨在帮助企业实现项目管理的数智化、全流程化和一体化。以下是该系统的详细介绍: 1. 功能丰富:企智汇工程项目管理系统支持全周期的项目管理,包括客户管理、招…

LVGL显示中文字体及其它语言文字详细笔记教程

在前面几篇博客文章中,已经对LVGL的移植和使用进行了较为详细的介绍,在本文中将讲解如何在LVGL的控件中显示中文字体及其它语言字体。 LVGL在VScode中安装模拟器运行配置笔记教程_vscode lvgl-CSDN博客 LVGL移植到STM32 MCU平台详细经验笔记教程-CSDN博…

vue koa post 请求代理失败问题总结

场景是在使用 koa 写接口时,客户端发送 post 请求,服务端会报下面这个错误,导致接口未能访问成功: 前端接口一直 Pending 状态, 解决方案:走的是本地 mock 数据,未访问服务端的接口 总结&#x…

[JAVASE] 类和对象(五) -- 抽象类和接口

目录 一. 抽象类 1.1 抽象类的定义 1.2 抽象类的实现 1.3 抽象类的作用 1.4 抽象类注意事项 二. 接口 2.1 接口的定义 2.2 接口的实现 2.3 接口的作用 2.4 接口注意事项 三. 总结 一. 抽象类 1.1 抽象类的定义 如果一个类中没有包含足够的信息来描绘一个具体的对象, 那么…

远程PLC、工控设备异地调试,贝锐蒲公英异地组网方案简单高效

北京宇东宁科技有限公司专门提供非标机电设备,能够用于金属制品的加工制造。设备主要采用西门子的PLC作为控制系统,同时能够连接上位机用于产量、温度、压力、电机运行数据的监控,以及工厂的大屏呈现需求。目前,客户主要是市场上的…

百度陈之若:第一批大模型伙伴已经实现财富自由了

大模型继续在 2024 年的春天里疾驰而进。 2024 年 4 月 9 日,百度智能云在成都举行的首届 GENERATE 全球生态大会上,公布了过去一年大模型生态建设的最新“成绩单” 。 目前,已经有超过 8.5 万客户在使用千帆大模型平台,开发了超…

EI稳定检索--人文社科类会议(ICBAR 2024)

【ACM独立出版】第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024) 2024 4th International Conference on Big Data, Artificial Intelligence and Risk Management 【高录用•快检索,ACM独立出版-稳定快速EI检索 | 往届均已完成EI, Scopus检索】 【见…

SAPUI5基础知识2 - 手动创建一个SAPUI5的项目

1. 前言 在本篇文章中,我们将手动一步一步建立出第一个SAPUI5的 ‘Hello World!’ 项目。 2. 步骤详解 2.1 在BAS中建立Dev Space 进入SAP Business Application Studio的Dev Space Manger,选择创建Dev Space。 勾选HTML5 Application Template插件…

OpenWrt改网桥模式(AP模式)

OpenWrt改网桥模式(AP模式) 点击“接口” 删掉所有 wan 接口 点击“设备”,配置“br-lan" 点击网桥接口,勾选所有接口 点击保存 添加新接口(不添加的话路由器自身系统没网) 返回 “网络” - “接…

k8s部署presto

(作者:陈玓玏) 一、前提条件 已部署k8s;已部署hadoop和hive,可参考以下链接: https://blog.csdn.net/weixin_39750084/article/details/136750613?spm1001.2014.3001.5502 https://blog.csdn.net/wei…

Linux-挂盘-分区-卸盘

Linux-挂盘-分区-卸盘 1. 添加硬盘 2. 查看硬盘 [rootlocalhost /]# lsblk # 查看我们新添加的磁盘 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 80G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 …

百度智能云参与信通院多项边缘计算标准编制,「大模型时代下云边端协同 AI 发展研讨会」成功召开

1 中国信通院联合业界制定、发布多项标准化成果,推动产业发展 大模型开启了 AI 原生时代,云边端协同 AI 构建了「集中式大规模训练」、「边缘分布式协同推理」新范式,有效降低推理时延和成本,提升数据安全和隐私性,也…

AtCoder ABC352 A-D题解

比赛链接:ABC352 Problem A: 签到题。 #include <bits/stdc.h> using namespace std; int main(){int N,X,Y,Z;cin>>N>>X>>Y>>Z;if((X<Z && Z<Y) || (Y<Z && Z<X))cout<<"YES"<<endl;else…

数据采集与AI分析,亮数据+通义千问助力跨境电商前行

文章目录 前言工具介绍数据采集工具亮数据Web Scraper IDE亮点 AI数据分析工具 实战电商数据采集与AI分析电商平台选取数据采集完全托管数据集自定义数据集 AI分析 价格总结 前言 随着信息技术的飞速发展&#xff0c;数据采集与AI分析在跨境电商中扮演着越来越重要的角色。通过…

用ControlNet+Inpaint实现stable diffusion模特换衣

用ControlNetInpaint实现stable diffusion模特换衣 ControlNet 训练与架构详解ControlNet 的架构用于文本到图像扩散的 ControlNet训练过程Zero卷积层的作用解释 inpaintInpaint Anything 的重要性Inpaint Anything 的功能概述 在现代计算机视觉领域&#xff0c;稳定扩散&#…

微信小程序开发 tabbar组件常见问题

一、 tabbar不显示问题 问题 刚开始我在app.json中配置了下面的代码&#xff0c;但tabbar并没有显示。代码如下&#xff1a; "tabBar": {"custom": true,"color": "#7A7E83","selectedColor": "#3cc51f","…