1. 二分法 二分查找也属于顺序表查找范围,二分查找也叫做折半查找,二分查找的时间效率为(logN) 二分查找的基本思想是:在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功,如果给定值小于中间值,则查找数组的前半段,否则查找数组的后半段。 二分查找只适用于有序数组或者链 ...
分类:
编程语言 时间:
2020-06-29 23:01:59
阅读次数:
100
查找 线性表 一、顺序查找 (一)数据类型定义 typedef struct { KeyType key; //关键字域 InfoType otherinfo; //其他域 }ElemType; View Code (二)顺序表定义 typedef struct { ElemType *R; //存 ...
分类:
其他好文 时间:
2020-06-29 00:49:36
阅读次数:
87
一.查找 1.顺序查找:简单粗暴,将待查找数据和表中数据一一对比。 2.二分查找:也称折半查找,要求顺序表或者数组必须有序,查找效率相对较高。 3.分块查找:要求块与块之间有序,块内部不需要有序。查找效率高,但对表要求较高。 二.树的查找 1.二叉查找树:它或者是一棵空树,或者是具有下列性质的二叉树 ...
分类:
其他好文 时间:
2020-06-28 22:36:37
阅读次数:
64
本章学习了几种查找的方法,顺序查找、折半查找、二叉排序树查找、哈希表。 对于几种查找的特点,顺序查找的算法简单但是查找效率低,折半查找对结构要求高,同时查找效率也高,二叉排序树查找的数据结构采用二叉链表,删除和插入操作只需要移动指针。 线性表的查找介绍了顺序查找、折半查找、分块查找。 顺序查找比较简 ...
分类:
其他好文 时间:
2020-06-28 22:24:15
阅读次数:
51
跟了几节王道课,发现在解决线性表问题时我们只需要形象地画出该线性表即可更好、更快地解决问题,对于考研者和数据结构初学小白来说很适用! 1、认识线性表 线性表:由n个数据元素组成的有限序列 线性表由存储结构分为:顺序存储和链式存储 线性表的顺序存储结构称为顺序表(具有随机和顺序存取特性),如:数组 线 ...
分类:
其他好文 时间:
2020-06-28 00:35:12
阅读次数:
102
查找 查找 在数据结构中寻找满足某种条件的数据元素的过程 查找表:用于查找的数据集合,由同一种数据类型(或记录)组成,可以是一个数组或链表等数据类型 操作:查询、检索、插入、删除(只有前两种的称为静态查找表、包含后两种的称为动态查找表) 关键字:数据元素中唯一标识该元素的某个数据项的值 平均查找长度 ...
分类:
其他好文 时间:
2020-06-28 00:10:47
阅读次数:
78
一.知识要点 若在查找的同时对表做修改操作(如插入和删除),则相应的表称之为动态查找表。 平均查找长度 设置监视哨的顺序查找 ST.R[O] .key=key; for(i=ST.length;ST.R[i] .key!=key;--i); return i;//在顺序表ST 中顺序查找其关键字等于 ...
分类:
其他好文 时间:
2020-06-27 22:48:38
阅读次数:
64
一、思维导图: 二、需要留意的点 链式结构可以进行二分查找,但是不能在对数时间内完成,因为要对数字下标进行随机访问,实际都得遍历一遍,需要O(n) 二分查找应用场景的局限性: (1)基于顺序表的存储结构; (2)针对有序数据; (3)数据量小且比较操作不耗时时 (4)数据量不能太大(需要连续的内存空 ...
分类:
其他好文 时间:
2020-06-27 20:12:59
阅读次数:
66
一、第七章内容小结 1. 查找的基本概念 2. 线性表的查找 ① 顺序查找:从表的一端开始依次将记录的关键字和给定值进行比较,某记录的关键字和定值相等则查找成功;反之,扫描整个表未找到相等记录,则查找失败。顺序查找适用于线性表的顺序存储结构和链式存储结构。 2-1基于顺序表的顺序查找算法: 1 in ...
分类:
其他好文 时间:
2020-06-27 16:03:50
阅读次数:
78
本章主要学习了查找的相关知识。关于查找,有以下几种基本概念: (1)查找表。按照数据类型可分为数组和链表;按照具体存储逻辑又可分为顺序表、哈希表等等。 (2)关键字。作为待查找的元素,在查找表中进行检索。 (3)动态查找。若表中没有所查的关键字,则将关键字按照原表的规律添加在表中,形成一个含有关键字 ...
分类:
其他好文 时间:
2020-06-27 00:32:29
阅读次数:
67