数据结构的随笔
考研狗看数据结构书以此文章记录一些笔记,不定期更新
1.1.1数据、数据元素、数据对象、数据类型、数据结构
-
数据元素是数据的基本单位,一个数据元素由若干数据项组成,数据项是构成数据元素的最小单位
-
数据对象是同性质的数据元素的集合,是数据的一个子集
-
数据类型是一个值的集合和定义在此集合上一组操作的总称,有原子类型、结构类型、抽象数据类型
-
-
算法设计取决与逻辑结构,实现取决于存储结构
1.1.2数据结构三要素
-
数据的逻辑结构
从逻辑关系上描述数据,分为线性结构和非线性结构,有集合、线性结构、树形结构、图状结构或网状结构,逻辑结构是独立于计算机的
-
数据的存储结构
数据结构在计算机中的表示(映像/物理结构),包括数据元素的表示和关系的主要表示。顺序存储、链式存储、索引存储、散列存储
-
数据的运算
运算的定义针对逻辑结构,运算功能针对存储结构。
1.2算法和算法评价
1.2.1算法的基本概念
-
算法是对解题步骤的一种描述,是指令的有限序列
-
算法五个特性
-
有穷性:必须在有穷步后结束,每一步在有穷时间内完成
-
确定性:每条指令有确切的意义,相同输入有相同的输出
-
可行性:算法中步骤可以通过已经实现的基本运算执行有限次实现
-
输入:一个算法有零个或多个输入,这些输入取自某个特定对象集合
-
输出:有一个或多个输出,输出与输入有特定关系
-
-
好算法的特性
-
正确性
-
可读性
-
健壮性
-
效率与低存储量需求
-
1.22算法效率的度量
-
时间复杂度
-
空间复杂度
算法原地工作是指算法需要辅助空间为常量