数据结构--第九章--查找

一、线性表的查找

等概率条件下ASL成功=

对于n个元素,二分查找成功时最多的关键字比较次数为:log2(n+1)

不成功时最多的关键字比较次数为log2(n+1)

由此可知,二分查找的最坏性能和平均性能接近

二分查找的判定树:

二、数表查找

1. 二叉排序树

中序遍历二叉排序树得到的是一个递增有序的序列

二叉排序树的插入和生成

插入过程:(1)若二叉排序树T为空,则创建一个key域为k的节点,将它作为根节点;(2)否则将k和根节点的关键字比较,若两者相等,则说明树中已有此关键字k,无须插入,直接返回0;(3)若K<T->key,则将k插入根节点的左子树中,否则将它插入右子树中。

结点删除

2. 平衡二叉树---AVL树

结论:含有n个节点的平衡二叉树的平均查找长度为0(log2n)

3. 哈希表的查找---散列查找法

哈希表又称散列表,是除顺序表存储结构,链表存储结构和索引存储结构之外的又一种存储线性表的存储结构

哈希冲突的解决办法

相关推荐
GoAI7 小时前
DeepSeek Harness Memory (一)主流记忆插件总结
后端·算法·面试
Pniubi8 小时前
力扣54.螺旋矩阵
算法·leetcode·矩阵
wangqiaowq8 小时前
Ontology 学习
学习
choumou_M10 小时前
算法_1:由浅入深学习快速排序QuickSort
学习·算法·排序算法
Coder_Shenshen11 小时前
罗克韦尔ACD工程归档离线变量树解析
算法·c#
一壶浊酒伴余生12 小时前
新概念英语第一册 · 句法笔记
笔记·英语学习·英语语法·新概念英语
心仪久了会沦陷12 小时前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
小此方12 小时前
[算法实战论:动态规划]背包问题概念,01不满背包问题,01满背包问题,背包问题的滚动数组空间优化
算法·动态规划
悠仁さん14 小时前
【C++】哈希表
c++·算法·散列表