查找
线性结构:顺序查找,折半查找,分块查找
树形结构:二叉搜索树(二叉排序树),AVL平衡二叉树,B树,B+树
散列结构:散列表Hash,性能分析,冲突处理,效率指标–平均查找长度,查找成功,查找失败
线性表顺序查找:
1 | typedef struct List{ |
折半查找:二分查找,只用在有序的顺序表
算法思想:首先将给定值key和表中中间位置元素的关键字比较,如果相等,成功,返回元素位置
1 | int Binary_Search(SeqList L,ElemType key) |
分块查找:索引顺序查找,吸取顺序查找和折半查找的优点,有动态结构,适用于快速查找
B树:多路平衡查找树
Hash表:一个把查找表中的关键字映射成该关键字对应地址的函数,叫做Hash(key)=Addr。
散列表:根据关键字而直接进行访问的数据结构,也就是,散列表建立了关键字和存储地址之间的一种直接映射关系。