数据结构——查找和排序部分整理

雨燕双飞 提交于 2019-12-18 02:34:31

查找

查找:静态查找、动态查找、哈希查找
静态查找:顺序查找、折半查找(二分查找)、索引顺序查找(分块查找)
顺序查找:ASL=1/2(n+1)平均查找长度
折半查找:ASL可以将所给序列画成类似完全二叉树,根据每层点个数*所在层数之和。
索引查找:块间有序,块内无序ASL=1/2(b+1)+1/2(s+1).
动态查找:二叉排序树(二叉查找树)、B-/B+树
二叉排序树:动态查找高效,
同一组关键字构造的二叉排序树,形态不一定相同,ASL也不一定相同(给定顺序了,就唯一了)
它的ASL画图计算
B-树:多路查找树
一颗m阶B-树是m叉平衡二叉树,树中每个节点最多m棵子树。
哈希表:构造方法、处理冲突方法
处理冲突方法:1、开放定址法:线性探测再散列(d= 1,2,3…m-1)、二次探测再散列(d=1,-1,4,-4,9,-9)、伪随机探测再散列(其中有一种双散列探测)2、再哈希 3、链地址法
哈希函数好坏取决于:哈希函数、处理冲突方式、装填因子a(a=填入记录长度/哈希表长度)

排序

排序:插入排序、“交换”排序、选择排序、归并排序
插入排序:直接插入、希尔排序(间距d)
“交换”排序:冒泡排序、快速排序
选择排序:简单选择排序、堆排序

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!