博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构(九)查找
阅读量:7240 次
发布时间:2019-06-29

本文共 565 字,大约阅读时间需要 1 分钟。

 

定义

 

种类

顺序表查找

 
时间复杂度O(n)
 

有序表查找

二分查找
时间复杂度O(logn)
 

插值查找

二分查找的优化版,每次不二分,而是采用关键字与最大最小值比较后再查找
时间复杂度O(logn)
 

斐波那契查找

时间复杂度O(logn)
 

线性索引查找

按照结构分可以分为线性、树形、多级索引
 

稠密索引

 
其中索引项是有序的,所以可以通过二分插值等查找方式查找索引项, 再通过索引项映射到真正的数据
 

分块索引

块内数据结构
 
 

倒排索引

由属性值来确定文档位置,而不是由文档确定属性值位置
常用于搜索引擎,基于倒排索引的开源框架lucene
 

二叉排序树

顺序表查找效率高,但是增删的效率低
中序遍历就可以得到有序的序列
 
查找和插入都很简单,删除有点麻烦,分为3种情况
前两种情况都好说,第一种直接删除,第二种删除后让唯一的子结点继承被删的位置,
第三种需要通过中序遍历找到该结点的前驱或后继,然后让前驱或后继顶替被删结点
 
二叉排序树总结
查找最好情况是O(logn),也就是平衡二叉树的形态,最坏情况是O(n),也就是斜树,效率等同于顺序表遍历
效率取决于树的深度,极端的斜树就会导致效率低下,所以就引出了平衡二叉树
 

平衡二叉树

 

转载于:https://www.cnblogs.com/ulysses-you/p/7130272.html

你可能感兴趣的文章
关于Log4Net的使用
查看>>
LaTeX argmin argmax 下标使用方法
查看>>
MarkDown 图片大小问题
查看>>
网站推广:如何进行视频推广
查看>>
iOS 时间戳转化为时间
查看>>
php04
查看>>
Chrome扩展程序和油猴推荐
查看>>
React and Redux 手册
查看>>
socket(孔、插座 --> 套接字) Socket通信 -- 了解
查看>>
Linux下用wget下载整个网站:
查看>>
CSDN新版Markdown编辑器(Alpha 2.0版)使用示例(文首附源码.md文件)
查看>>
linux 环境配置 安装jdk
查看>>
暑假计划
查看>>
CSS3:用CSS设置多个背景、背景渐变、指定背景大小
查看>>
约束与索引
查看>>
获取页面所有链接的JS
查看>>
leetcode-Palindrome Partitioning II
查看>>
php 下载已经上传好的excel文件出现乱码------解决办法
查看>>
判断单选框选中不成功,$("#xx").attr("checked")undefined
查看>>
React 实现一个漂亮的 Table
查看>>