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

一、线性表的查找

等概率条件下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. 哈希表的查找---散列查找法

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

哈希冲突的解决办法

相关推荐
励志要当大牛的小白菜43 分钟前
ART配对软件使用
开发语言·c++·qt·算法
qq_513970441 小时前
力扣 hot100 Day56
算法·leetcode
PAK向日葵2 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
爱装代码的小瓶子3 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
爱喝矿泉水的猛男4 小时前
非定长滑动窗口(持续更新)
算法·leetcode·职场和发展
_Kayo_4 小时前
VUE2 学习笔记6 vue数据监测原理
vue.js·笔记·学习
YuTaoShao4 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
chenchihwen4 小时前
大模型应用班-第2课 DeepSeek使用与提示词工程课程重点 学习ollama 安装 用deepseek-r1:1.5b 分析PDF 内容
人工智能·学习
超浪的晨4 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
YouQian7724 小时前
Traffic Lights set的使用
算法