词条信息

admin
admin
超级管理员
词条创建者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> 程序开发    数据结构   

数据结构之常见查找

标签: 数据结构 查找

顶[0] 发表评论(0) 编辑词条

简单查找:

 

     顺序查找:

     从线性表的一端开始,依次将每个记录的关键字与给定值进行比较,若某个记录的关键字等于给定值,表示查找成功,返回记录序号;若将线性表中所有记录都比较完,扔未找到关键字与给定值相等的记录,则表示查找失败,返回 一个失败值.

 

 

     折半查找:



 

     又称为二分查找.这种查找方法要求查找表的数据是线性结构保存,并且还要求查找表中的数据是按关键字的由小到大有序排列.

 

 

 

 

     二叉排序树:



 

     二叉排序树或者是一棵空树,或者是一棵具有以下性质的二叉树:

     (1)若它有左子树,则左子树上的所有结点都小于根结点数据.

     (2)若它有右子树,则右子树上的所有结点都大于根结点数据.

     (3)左右子树各是一棵二叉排序树.

 

 二叉排序树删除节点(有左右子树)

 


删除无右子树节点




 删除无左右子树

 

 

     索引查找:

     对大量数据进行查找时块,索引要多占用空间,更新时不仅要更新主表,也要更新索引表.

 

     1.在索引表中进行查找.

     查找过程如下:

     (1)首先根据给定的关键字key,按定义的函数计算出索引值index1,在索引表上查找出索引值等于index1的索引项,以确定对应子表在主表中的开始位置和长度.

     (2)接着根据从索引表中获取的开始序号start,在主表指定的位置(即子表的开始处)顺序查找关键字key.

 

     2.向主表中插入数据.

     在线性表的索引存储结构上进行插入删除运算的算法,与查找算法类似.其具体过程如下:

     (1)根据待插入的元素的值查找索引表,确定出对应的子表.

     (2)接着,根据待插入元素的关键字,在该子表中做插入元素的操作.

     (2)插入完成后,修改索引表中相应子表的长度.

 

 

     哈希表:



 

     哈希表的基本思想是:以线性表中每个元素的关键字key为自变量,通过一定的函数关系h(key)计算出函数的值,把这个值作为数组的下标,将元素存入对应的数组元素中. 

     函数h(key)称为哈希函数,函数的值称为哈希地址.

     缺点1:可能浪费空间

     缺点2:可能发生冲突

 

     常用的构造哈希函数的方法:

    >直接定址法(关键字本身或者关键字加上某一个常数直接作为地址,一般要求关键字连续不重复)

    >除法取余法(一般除数选择奇数或者素数)

    >数字分析法(对关键字的某些部分进行分析)

    >平方取中法(平方取中)

    >折叠法(用关键字拆分成长度相等的几段再相加)

    可以根据数据特点自己构造适合的哈希函数

 

     处理冲突的方法:

    >开放地址法.



 

    >链接法.




 

 

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇redis数据结构之String
下一篇数据结构基本知识和理解

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>