Bootstrap

数据结构-绪论

王道章节内容

知识框架

考纲内容

算法时间复杂度和空间复杂度的分析与计算

正文

数据结构

基本概念

数据(符号、可输入、被处理):

描述客观事物的符号,是计算机可以操作的对象,是能够被计算机识别,并输入给计算及处理的符号集合;

既包括整型、实型等数值类型,也包括字符、声音、图像等非数值类型。

数据元素(基本单位):

组成数据的、有一定意义的基本单位;

例如:人类——人,畜禽类——牛马鸡羊。

数据项(元素的细分,最小单位):

若干个数据项组成了数据元素;

例如:人——眼睛嘴巴鼻子,学习记录——学号姓名性别。

数据对象(性质相同):

性质相同的数据元素的集合,数据的子集;

性质相同,指数据元素具有相同数量和类型的数据项;

例如:整数集合、人有姓名、生日、性别等相同的数据项。

数据类型:

  • 原子类型:其值不再可分;
  • 结构类型:其值可以分解为若干成分(分量);
  • 抽象数类型(ADT):一个数学模型及定义在该数据模型上的一组操作。包含“一个数据对象”、“数据对象中各数据元素之间的关系”和“对数据元素的操作”,体现程序设计中“问题分解”、“抽象”和“信息隐藏”的特性。

补充:能和我讲讲抽象数据类型中问题分解、抽象和信息隐藏分别是什么意思吗,请举例说明

数据结构:

相互之间存在一种或多种特定关系的数据元素的集合;

“三要素”

逻辑结构:

存储结构(物理结构):

存储结构指数据结构在计算机中的表示(映像),包括数据元素的表示和关系的表示,是用计算机语言实现的“逻辑结构”。

补充:

在《大话数据结构》这本书中提到:“数据元素的存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址,这样通过地址就可以找到相关联数据元素的位置”,请你回答以下问题:

1.为什么数据元素的存储关系不能反映其逻辑关系?

2.为什么不能反映就需要指针来存储?

数据的运算:

运算的定义是针对逻辑结构的,指出运算的功能;

运算的实现是针对存储结构的,指出运算的具体操作步骤。

算法

基本概念

定义:

解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

特性:

输入输出、有穷性、确定性和可行性。

设计要求:

正确性、可读性、健壮性、时间效率高和存储量低;

健壮性指算法也能对不合法数据做出恰当的处理。

算法效率的度量

时间复杂度:

详解:

空间复杂度

碎碎念

我的博客写得有些过于详细和冗余了,但实际上,我还未真正进入真正的备考过程,算作处在学习打基础阶段,详细啰嗦一点无可厚非,稳扎稳打,也方便后期的回溯;

此外,说到后期的回溯,为了方便我在任何时候都能快速回溯过往知识,我把那些思考和图书解释以图片的形式保留;

最后提一嘴,可以发现王道是有课后题的,至于课后题就选择考纲内的题做一做就行,可以出一个课后题博客,时间安排在整体知识复习完后,也算是一个检验和知识回溯。

参考文献

王道《数据结构》

程杰《大话数据结构》

;