查找 主要内容 查找的概念 静态查找表 线性查找 折半查找 动态查找表 二叉查找树、平衡二叉树、B-、B+树 哈希查找 静态查找表 数据集合“只读”,即只能对该数据集合进行查询操作 动态查找表 数据集合“可写”,即可对集合元素做插入、删除等操作 注: 查找算法和数据存储的结构有关 关键字 数据元素中某个数据项或组合项的值 可以标识一个数据元素 关键字可以相同,即不一定唯一标识这个元素 主关键字 可以唯一标识一个记录的关键字 次关键字 识别若干记录的关键字 平均查找长度(Average Search Length) 查找就是不断将数据元素的关键字与待查找关键字进行比较,查找算法在查找成功时平均比较的次数称作平均查找长度 Pi:查找第i个数据元素的概率 Ci:查找该元素的过程中比较的次数 折半查找的性能 平均查找长度 第h层的元素有2h-1个,找到它需要比较h次 等概率条件下 ASL ASL=(1+2+2+3+3+3+3+4)/8=21/8 查找不成功时的比较次数: 折半查找 总结 顺序查找和折半查找都针对静态查找表 折半查找效率较高 但是 折半查找要求数据有序 且存储结构必须是顺序存储(链表怎么折半?) 二叉排序树(又称二叉查找树) 或为空树,或为如下性质的二叉树: 若左子树与右子树不空,则 左子树上所有结点的值根结点的值=右子树上所有结点的值 各个击破
原创力文档

文档评论(0)