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

课堂笔记

  • 索引:(Index)是一种线索性指引,它是关键字和相应的物理地址之间的一种逻辑清单。
  • 索引的逻辑特征

    数据逻辑结构包括集合,线性结构,树形结构和图形结构

  • 线性索引技术

    线性索引技术包括稠密索引,分块索引,多重表和倒排表

  • 静态索引和动态索引的区别

    静态索引:插入删除复杂度高,使用内容基本不变得集合,可以是线性或树形(多级),而动态索引:插入删除不能太复杂,适用变化多且快速的情况,一般为树形。

  • 树形索引

    分为二叉搜索树和B树

  • 查找概述

    查找算法的性能

  • 线性表的查找技术

    顺序查找,最暴力的破解方法,针对无需顺序表,链表的查找,只能如此,其复杂度为O(n)

    在有序表上的查找

    折半查找和斐波那契查找

    索引查找

    索引查找的必要性:数据量大时,身姿小巧的索引表可以入驻内存获得高速查找效率.除了折半查找和斐波那契查找,还有内插查 找和分块查找.

    非数值有序表上的查找

  • 树表的查找技术
  • 散列表的查找技术

    散列概述

    根据设定的散列函数H(key Word)和处理冲突的方法,将一组关键字映像到一个有限的、连续的地址集(区间)上。这种表称为散列表。

    装填因子:填满程度,记为a,常取值于[0.65,0.9]

    *散列函数构造设计基本原则,值域内,散列函数值在分配的散列表长度空间内;简单性,散列函数的计算都很简单;均匀性,散列函数的输出结果尽量均匀的分布在整个地址取值空间上

  • 处理冲突的方法

    开放寻址法,在散列表中形成一个探查序列,沿此序列逐单位进行查找,直到找到一个空的单元时将新节点放入

    拉链法,将所有关键字为同义词的结点链接到同一个单链表中

时间: 2024-09-29 15:54:47

索引和查找课堂笔记与解读同伴问题和收获的相关文章

九章算法系列(#2 Binary Search)-课堂笔记

前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一节课,说真的很实用,特别是对于我这种算法不扎实,并且又想找工作,提高自己的情况. 那就不多说废话了,以后每周都写个总结吧,就趁着这一个月好好把算法提高一下.具体就从:课堂笔记.leetcode和lintcode相关习题.hdu和poj相关习题三个方面来写吧.希望自己能够坚持下来,给大家分享一些好的东

SQL课堂笔记

--注释 公司里一般而是用绝不重复的guid()做主键(web项目不常用) 如null参与运算,结果都是null 在数据库中创建索引能提高查询效率,)只在经常要检索的字段创建索引) sql查询null的数据 selsct * from table where name is null 查询年龄介于20到30的数据 selsct * from table where age between 20 and 30 查询年龄是20,22,32,46的数据 selsct * from table wher

JAVA的面向对象编程--------课堂笔记

JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程. 面向过程的基本单元是函数.   什么是对象:EVERYTHING IS OBJECT(万物皆对象)   所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么(方法):告诉外界对象有那些功能. 后者以前者为基础. 大的对象的属性也可以是一个对象.   为什么要使用面向对象: 首先,面向对象符合人类看待事物的一般规律. 对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节. 方法的定义非常重要.方法有参

2017年5月26日课堂笔记

2017年5月26日 星期五 晴 空气质量:中度污染 内容:JavaScript:初识js,按钮的点击事件,变量的使用,数据类型,typeof的使用, string的使用,数组的使用,运算符的运用,逻辑控制语句的使用 备注:5月28日补课堂笔记 一.初识js 老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>初

兄弟连学python 课堂笔记 ---- Redis类型

Redis通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型. String(子串类型) set 命令:设置一个键和值,键存在则只覆盖,返回ok > set 键  值    例如: >set name zhangsan get 命令:获取一个键的值,返回值 > get 键        例如:>get name setnx命令:设置一个不存在的键和值(

兄弟连学python 课堂笔记 ---- Redis基本操作

基本操作 Redis 是 Key-Value 内存数据库,操作是通过各种指令进行的,比如 `SET` 指令可以设置键值对,而 `GET` 指令则获取某一个键的值.不同的数据结构,Redis 有不同的指令,这样指令一共有几十个,下面主要介绍一些常用的指令. Redis 对 Key 也就是键有各种各样的指令,主要有下面的指令(下面的指令中小写字符串都是参数,可以自定义):>keys *  //返回键(key) >keys list*   //返回名以list开头的所有键(key)>exist

2017年5月12号课堂笔记

2017年5月12号 星期五 空气质量:轻度污染(昨天的北风转今天的南风) 内容:html表格的基本使用,表格跨行跨列,高级表格,播放音乐,播放视频,网页布局,iframe内联框架: 文本框,密码框,单选按钮,复选框,下拉框  备注:周日晚想起来补上的周五课堂笔记(一带一路今天开会天气好晴朗) 一.html表格的基本使用 模仿老师代码: <!DOCTYPE html><html><head lang="en"> <meta charset=&q

Hadoop学习笔记(2) ——解读Hello World

Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello Word. OK,我们先来看一下当时在命令行里输入的内容: $mkdir input $cd input $echo "hello world">test1.txt $echo "hello hadoop">test2.txt $cd .. $bin/ha

?统计学习精要(The Elements of Statistical Learning)?课堂笔记(一)

前两天微博上转出来的,复旦计算机学院的吴立德吴老师在开?统计学习精要(The Elements of Statistical Learning)?这门课,还在张江...大牛的课怎能错过,果断请假去蹭课...为了减轻心理压力,还拉了一帮同事一起去听,eBay浩浩荡荡的十几人杀过去好不壮观!总感觉我们的人有超过复旦本身学生的阵势,五六十人的教室坐的满满当当,壮观啊. 这本书正好前阵子一直在看,所以才会屁颠屁颠的跑过去听.确实是一本深入浅出讲data mining models的好书.作者网站上提供免