一、查找的基本概念

查找:查询某个关键字是否在(数据元素集合)表中的过程。也称作检索。
查找表: 由同一类型的数据元素(或记录)构成的集合。
主关键字: 能够惟一区分各个不同数据元素的关键字
次关键字: 通常不能惟一区分各个不同数据元素的关键字
查找成功: 在数据元素集合中找到了要查找的数据元素
查找不成功:在数据元素集合中没有找到要查找的数据元素
静态查找: 只查找,不改变数据元素集合内的数据元素
动态查找: 既查找,又改变(增减)集合内的数据元素
静态查找表: 静态查找时构造的存储结构
动态查找表: 动态查找时构造的存储结构

定义要查找数据元素的结构体为:
typedef struct
{
KeyType key;
} DataType;

平均查找长度ASL(Average Search Length):查找过程所需进行的关键字比较次数的平均值,是衡量查找算法效率的最主要标准,其数学定义为:

其中,Pi是要查找数据元素出现的概率,Ci是查找相应数据元素的比较次数。

二、查找算法分类

1、线性表方法
2、二叉排序树
3、根据关键字码值直接访问方法(哈希法)
4、索引方法

C语言数据结构——查找(检索)相关推荐

  1. 【数据结构(C语言)】数据结构-查找

    查找 文章目录 查找 一.基本概念 1.查找表 2.关键字 3.查找 二.查找算法的性能分析 1.平均查找长度(Average Search Length) 三.基于线性表的查找 1.存储结构的定义 ...

  2. 平衡查找树C语言程序,C语言数据结构之平衡二叉树(AVL树)实现方法示例

    本文实例讲述了C语言数据结构之平衡二叉树(AVL树)实现方法.分享给大家供大家参考,具体如下: AVL树是每个结点的左子树和右子树的高度最多差1的二叉查找树. 要维持这个树,必须在插入和删除的时候都检 ...

  3. C语言数据结构顺序表的顺序查找和折半查找的功能

    C语言顺序表顺序查找和折半查找的基本思想和应用 顺序查找算法:又称为线性查找,主要用在-线性表-中进行查找 通常分为:1-无序线性表的一般查找: 2-对关键字有序的顺序表查找: 优缺点分析: 缺点:当 ...

  4. 数据结构c语言版第一章答案,《c语言数据结构》第一章概论自测题答案

    <<c语言数据结构>第一章概论自测题答案>由会员分享,可在线阅读,更多相关<<c语言数据结构>第一章概论自测题答案(4页珍藏版)>请在人人文库网上搜索. ...

  5. 一些可运行的C语言数据结构代码

    网上有很多C语言数据结构代码:有的不能运行:下面是一些能运行的,和运行截图:备用一下: 1 队列 #include<stdio.h> #include<stdlib.h>#de ...

  6. C语言数据结构【手抄版】第五章 树和二叉树【上篇】

    注意:文中彩色代码均在Visual Studio 2022编译器中编写,本文为C语言数据结构手抄版,文中有部分改动,非原创. 目录 5.1.树的基本概念和术语 1.树的定义 2.树的表示法 3.基本术 ...

  7. 稀疏矩阵 c语言,C语言数据结构 稀疏矩阵

    <C语言数据结构 稀疏矩阵>由会员分享,可在线阅读,更多相关<C语言数据结构 稀疏矩阵(4页珍藏版)>请在人人文库网上搜索. 1.实验十 稀疏矩阵#include #defin ...

  8. c语言 数据结构 课程设计 通讯录制作

    c语言  数据结构  课程设计  源码 infoBook.c #include "dataStruct.h" #include <stdio.h> #include & ...

  9. C语言数据结构课程设计任务书

    C语言数据结构课程设计任务书 四.课程设计题目: 1.文本编辑系统 [问题描述] 输入一页文字,程序可以统计出文字﹑数字﹑空格的个数·静态存储一页文章,每行最多不超过80个字符,共N行. [要求] ( ...

  10. Go语言-数据结构与算法

    go语言之专业数据结构与算法 3.golang实现数组结构 code\ArrayList\ArrayList.go package ArrayListimport ("errors" ...

最新文章

  1. CSS魔法堂:更丰富的前端动效by CSS Animation
  2. 谷歌出现新冠肺炎确诊病例,限制员工出行;比尔·盖茨:可能成百年不遇的大流行病...
  3. 大话WiFi省电模式
  4. python学习小结
  5. 商户分账交易汇总和商户交易汇总不一致
  6. Java之设计模式详解 (转)
  7. c语言提取七位数讲解,输入一个七位数将这个数的奇位数重新组合成新的四位数并输出的编程怎么写    在线等急...
  8. feign调用多个服务_SpringCloud使用Feign实现服务调用|chu
  9. maven3常用命令
  10. breakall lisp文件_breakall.lsp下载
  11. 理解雅可比矩阵和海森矩阵
  12. 2021.6.27-参加青少年人工智能编程水平测试C++四级(通过)
  13. [雅礼集训]xiz(字符串匹配)
  14. notifier_chain 内核通知链的学习与使用
  15. 《安富莱嵌入式周报》第221期:2021.07.12--2021.07.18
  16. 在Linux上使用迅雷解决方案xware
  17. 机械原理课程设计 洗瓶机机构设计(设计说明书+3张CAD图纸+连杆机构设计软件)
  18. python判断人生阶段
  19. 月薪40k+测试·开发同步认可的FastAPI:Python 世界里最受欢迎的异步框架
  20. Firefox火狐无法启动出现弹窗--小黑日常超细解决教程

热门文章

  1. 数据结构与算法---常用三大排序算法
  2. 当图变成了一棵树(纠结的生成树)
  3. jmeter中通过命令方式生成结果文件
  4. [整理]flex,datagrid数值列排序
  5. C#|GMap.NET控件基本使用-高德地图
  6. cvDilate() 图像膨胀
  7. java设置本机地址写在哪个类_JAVA获取指定的类型的本机MAC地址
  8. opencv各种小程序代码
  9. Go黑魔法之导出API供C调用
  10. k380没有验证码_罗技K380蓝牙键盘