索引和查找课堂笔记与解读同伴问题和收获

课堂笔记

  • 索引:(Index)是一种线索性指引,它是关键字和相应的物理地址之间的一种逻辑清单。
  • 索引的逻辑特征
    数据逻辑结构包括集合,线性结构,树形结构和图形结构
  • 线性索引技术
    线性索引技术包括稠密索引,分块索引,多重表和倒排表
  • 静态索引和动态索引的区别
    静态索引:插入删除复杂度高,使用内容基本不变得集合,可以是线性或树形(多级),而动态索引:插入删除不能太复杂,适用变化多且快速的情况,一般为树形。
  • 树形索引
    分为二叉搜索树和B树
  • 查找概述
    查找算法的性能
  • 线性表的查找技术
    *顺序查找,最暴力的破解方法,针对无需顺序表,链表的查找,只能如此,其复杂度为O(n)
    *在有序表上的查找
    折半查找和斐波那契查找
    *索引查找
    索引查找的必要性:数据量大时,身姿小巧的索引表可以入驻内存获得高速查找效率.除了折半查找和斐波那契查找,还有内插查 找和分块查找.
    *非数值有序表上的查找
  • 树表的查找技术
  • 散列表的查找技术
    *散列概述
    根据设定的散列函数H(key Word)和处理冲突的方法,将一组关键字映像到一个有限的、连续的地址集(区间)上。这种表称为散列表。
    *装填因子:填满程度,记为a,常取值于[0.65,0.9]
    *散列函数构造设计基本原则,值域内,散列函数值在分配的散列表长度空间内;简单性,散列函数的计算都很简单;均匀性,散列函数的输出结果尽量均匀的分布在整个地址取值空间上
  • 处理冲突的方法
    *开放寻址法,在散列表中形成一个探查序列,沿此序列逐单位进行查找,直到找到一个空的单元时将新节点放入
    *拉链法,将所有关键字为同义词的结点链接到同一个单链表中
posted @ 2017-12-01 11:36  林臻  阅读(154)  评论(0编辑  收藏  举报