数据结构考研复习 1【绪论】

参考书:2019数据结构考研复习指导【王道】

做一些自已疑惑的知识点和题目的记录分析~

索引结构

这里写图片描述
看到索引存储的时候,心里的疑惑是其存在的意义,数据空间毋庸置疑是四种存储结构最大的,其时间效率亦不如顺序结构(这里认为索引存储的索引表为顺序存储结构),那么其存在的意义为何?

查了一些资料,才感受到气的作用,最明显的用于数据库查询中,参考链接:

【程序员必读系列】-数据库索引的原理
数据库为何要建立索引的原因说明
干货:mysql索引的数据结构

用我的理解做一个关于我最初疑惑的回答,用数据库来进行说明,那就是:

首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。

数据

在存储数据时,通常不仅要存储各数据元素的值,而且还要存储数据元素之间的关系

对此句如何理解呢?
翻书的时候在数据结构c语言版(第五页最上面)看到了如下一段话:
数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是在他们之间存在着某种关系,这种数据元素相互之间的关系称为结构

通常结构分为以下四类基本结构:

  • 集合
  • 线性结构
  • 树形结构
  • 图状结构或者网状结构

这里略去基本说明,只是为了解释元素之间的关系为何。

链式存储设计

链式存储设计时,结点内的储存单元地址一定连续

这题可能真的是易错点,第二次做的时候又错了!!

理解:
在链式存储中,各个不同结点的存储空间可以不连续,但是注意,结点内,存储单元地址一定连续。
以单链表来举例: Data | next 的结构分别可以认为是一个存储单元,这两个之间必须连续!

猜你喜欢

转载自blog.csdn.net/wy_97/article/details/79829505