思维导图 算法小结 1.顺序查找 ①基础方法 1 int Search(SSTable ST, KeyType key) 2 { 3 for(i=1;i<=ST.length;i++) 4 { 5 if(key==ST.R[i].key) return i; 6 } 7 return 0;//若未查 ...
分类:
其他好文 时间:
2020-06-28 12:34:09
阅读次数:
72
1、心得体会:在第七章的学习当中,主要是对查找这一操作的深入学习,主要操作对象为线性表、树表和散列表。 查找,主要有顺序查找、折半查找、分块查找。 一、线性表查找 11、 顺序查找方法既适用于线性表的顺序存储结构,又适用千线性表的链式存储结构。 在顺序查找中,有一个很有技巧的设置,在对当前位置的关键 ...
分类:
其他好文 时间:
2020-06-28 12:30:13
阅读次数:
76
二、 (1)装填因子:将M个元素存入用长度为S的数组表示的散列表,装填因子即为M/S。 (2)召回率(Recall Rate,也叫查全率)是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率;精度是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。 (关 ...
分类:
其他好文 时间:
2020-06-28 00:17:23
阅读次数:
67
一、思维导图 二、重要知识点 1.线性表的查找 1.1顺序查找 设置监视哨的顺序查找算法: int Search_Seq(SSTable ST,KeyType key) { ST.R[0].key = key; for(i = ST.length;ST.R[i].key != key:--i); r ...
分类:
其他好文 时间:
2020-06-28 00:13:18
阅读次数:
76
一、思维导图: 二、需要留意的点 链式结构可以进行二分查找,但是不能在对数时间内完成,因为要对数字下标进行随机访问,实际都得遍历一遍,需要O(n) 二分查找应用场景的局限性: (1)基于顺序表的存储结构; (2)针对有序数据; (3)数据量小且比较操作不耗时时 (4)数据量不能太大(需要连续的内存空 ...
分类:
其他好文 时间:
2020-06-27 20:12:59
阅读次数:
66
一、线性表的查找 1、顺序查找: typedef KeyType int;//这个根据具体情况去定义;在这里定义为int; typedef struct{ KeyType key; InfoType otherinfo;//这个根据具体情况去改,这里只是抽象的说成还要添加这些类型。 }ElemTyp ...
分类:
其他好文 时间:
2020-06-27 13:29:49
阅读次数:
62
顺序查找 监视哨的顺序查找 因为每次循环都需要对是否越界,即是否小于n做判断。事实上,还可以有更好一点的办法,设置一个哨兵,可以解决不需要每次让i与n作比较。 折半查找(二分查找) 二分查找(又称为折半查找)是在有序序列中查找比较多的查找算法,基本思路:设有一个从小到大的序列,取中间的元素m进行比较 ...
分类:
其他好文 时间:
2020-06-27 09:20:15
阅读次数:
58
本章主要学习了查找的相关知识。关于查找,有以下几种基本概念: (1)查找表。按照数据类型可分为数组和链表;按照具体存储逻辑又可分为顺序表、哈希表等等。 (2)关键字。作为待查找的元素,在查找表中进行检索。 (3)动态查找。若表中没有所查的关键字,则将关键字按照原表的规律添加在表中,形成一个含有关键字 ...
分类:
其他好文 时间:
2020-06-27 00:32:29
阅读次数:
67
第7章 查找 一、内容小结 (1)基本概念: ①查找表:是由同一类型的数据元素(或记录)构成的集合 (eg.线性表、树表、散列表); ②关键字:是数据元素(或记录)中某个数据项的值--》作为一种"标识"; ③查找:根据给定的值,在查找表中确定一个其关键字等于给定值得记录或数据元素; 查找成功即返回该 ...
分类:
其他好文 时间:
2020-06-27 00:11:46
阅读次数:
65
查找分为线性表的查找、树表的查找、散列表的查找。 一些定义: 查找表:由同一类型的数据元素(或记录)构成的集合(在查找时对表做修改操作,如插入和删除,则称为动态查找表;否则称为静态查找表) 关键字:数据元素(或记录)中某个数据项的值(如果一个查找表里只存储了关键字,意义不是很大 平均查找长度ASL: ...
分类:
其他好文 时间:
2020-06-27 00:10:28
阅读次数:
89