查找——线性索引查找
来源:互联网 发布:手机网络助手下载 编辑:程序博客网 时间:2024/05/20 05:09
索引的定义
一本书的内容通常是无序的,如果没有目录,要想快速找到某一张,则需要将一本书按顺序翻过去,这是非常耗时的。计算机的索引跟图书目录类似,它记录了关键词和数据的位置。索引按照结构可以分为线性索引、树形索引、多级索引。实际上他们的命名是根据索引数据结构来区分的,线性索引是指索引项集合组织为线性结构。常用的线性索引有:稠密索引、分块索引、倒排序索引。
稠密索引
稠密索引是指每一条数据都有一个索引和其对应,这个索引记录了关键词和指针,并且该索引是排序的。稠密索引的查找非常快,但遗憾的是,因为为每一条记录都创建了索引,所以维护这个索引需要大量的内容空间以及性能。
分块索引
分块索引类似于图书馆的书架,每一个书架放了某个编号范围的图书。分块索引有以下几个特点:
- 块内无序
- 块间有序
- 每个块拥有一个最大关键码
- 存储了块的记录个数
- 拥有指向块首数据的指针
倒排索引
假如有N篇文章:
A.i am a good boy.
B.i love eat beef.
…….
假设这两篇文章非常长,如果我们要搜索good这个单词在哪篇文章里,正常情况下,我们要遍历所有的文章,并且找出结果,这样做的话,搜索的范围就会非常大。
倒排索引给了我们优化解决的方法,它先创建一个排好序的关键词表,关键词表对应的是文章列表地址。然后解析每一篇文章,如果含有某一个关键词,就将该文章的地址加入到关键词表对应的搜索结果里去。通过这种方式,我们只需要先找到关键词,然后再找到关键词对应的文章列表,再遍历这个列表就能找到这篇文章。如果我们只查找一次,肯定不划算的,通常情况下,这种技术用在查找频繁的搜索引擎中。
阅读全文
0 0
- 查找——线性索引查找
- c查找算法——线性索引查找
- 数据结构之查找(四)——线性索引查找
- 查找-线性索引,二叉排序树
- 线性索引查找
- 线性索引查找 - 概念
- 线性索引查找
- 线性表索引查找
- 线性索引查找-理论
- 线性索引查找
- 大话数据结构—顺序表、有序表、线性索引查找
- 查找——线性表的查找
- 【查找算法】——顺序查找、折半查找、分块查找(索引查找)
- 数据结构与算法14:线性索引查找
- 【学习笔记----数据结构23-线性索引查找】
- 线性查找法————折半查找
- 查找——线性表顺序查找算法
- 查找——线性表的折半法查找
- C#与C++代码互相调用
- 二叉搜索树
- 再读SIFT理论及源码
- HDU 1847(Good Luck in CET-4 Everybody!) 巴什博弈 Java
- 单调队列入门
- 查找——线性索引查找
- unix 02
- Hbase数据库的一些基础知识
- 【AndroidManifest.xml详解】Manifest属性之versionCode,versionName
- 应用CXF开发RESTful风格的WebService入门实例
- 关于Scanner中nextxxx()须注意的一点
- 设计一个不能被继承的类
- 设计模式讲解与代码实践(九)——组合
- 部署phpmyadmin