数据结构学习---线性表;树;哈希表进行查找的区别
2016-09-21 13:17
337 查看
查找
线性表和树:
记录在线性表、链表、树这几种数据结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系。因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较”的基础上。
在顺序查找时,比较的结果为"="与"!="两种可能;在折半查找、二叉排序树查找、B-树查找时,比较的结果为"<"、"="或">" 3种可能。查询的效率依赖于查找过程中所进行的比较的次数。
哈希表:
哈希表的定义:根据设定的哈希函数f(key)和处理冲突的方法将一组关键字映像到一个有限的连续的地址集(区间)上,并以关键字在地址集中的"像"作为记录在表中的存储位置,这种表便称为哈希表。这一映像过程称为哈希造表或散列。所得存储位置称为哈希地址或散列地址。
哈希函数是一种映像,将关键字映像为对应的散列地址。eg:Beijing映像为02,映像规则为城市首字母在字母表中的序号。因此哈希函数的设定很灵活,只要使得任何关键字由此所得的哈希函数值都落在表长允许范围之内即可。
且哈希表的构造方法:1.直接定址法;2.数字分析法;3.平方取中法;4.折叠法;5.除留余数法等。
线性表和树:
记录在线性表、链表、树这几种数据结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系。因此,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较”的基础上。
在顺序查找时,比较的结果为"="与"!="两种可能;在折半查找、二叉排序树查找、B-树查找时,比较的结果为"<"、"="或">" 3种可能。查询的效率依赖于查找过程中所进行的比较的次数。
哈希表:
哈希表的定义:根据设定的哈希函数f(key)和处理冲突的方法将一组关键字映像到一个有限的连续的地址集(区间)上,并以关键字在地址集中的"像"作为记录在表中的存储位置,这种表便称为哈希表。这一映像过程称为哈希造表或散列。所得存储位置称为哈希地址或散列地址。
哈希函数是一种映像,将关键字映像为对应的散列地址。eg:Beijing映像为02,映像规则为城市首字母在字母表中的序号。因此哈希函数的设定很灵活,只要使得任何关键字由此所得的哈希函数值都落在表长允许范围之内即可。
且哈希表的构造方法:1.直接定址法;2.数字分析法;3.平方取中法;4.折叠法;5.除留余数法等。
相关文章推荐
- 数据结构学习笔记 --- 查找(哈希表)
- 数据结构学习笔记(10)---基于线性表的查找
- 个人练习数据结构之--------------关于线性数据的有序数组以及之上的二分法查找、不同排序方法的学习
- 数据结构学习之线性表和数组的区别
- 数据结构学习笔记 --- 查找(哈希表)
- 线性表,链表,哈希表是常用的数据结构,在进行Java开发时
- 数据结构学习笔记 --- 线性表 (双向链表、循环链表)
- 数据结构学习(三)——单链表的操作之查找、删除、插入。
- 数据结构学习笔记 --- 线性表 (双向链表、循环链表)
- 数据结构学习笔记 --- 线性表 (应用举例)
- 数据结构学习笔记(3.线性表之循环链表)
- 理解error和exception之间的区别,学习如何对其进行处理
- 数据结构学习笔记-2.顺序查找与折半查找比较
- 数据结构学习笔记(5.线性表之双向循环链表)
- 数据结构学习——字符串查找BF算法
- C++数据结构--.哈希表线性探测开放寻址法与独立表链地址法
- 学习数据结构 -> 线性表 -> 线性表的介绍
- 数据结构学习笔记 --- 线性表 (单链表)
- 线性表,链表,哈希表是常用的数据结构,在进行Java开发时
- 数据结构学习笔记 --- 线性表 (一些常见的关于链表的算法和面试题)