[NEFU 数据结构] 第 1 章 绪论 知识点整理
Posted 鱼竿钓鱼干
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[NEFU 数据结构] 第 1 章 绪论 知识点整理相关的知识,希望对你有一定的参考价值。
[NEFU 数据结构] 第 1 章 绪论 知识点整理
阅读须知
-
需求指向:
此博客用于应付NEFU数据结构考试,基于题目进行整理,不适合想深入学习数据结构与算法艺术的同学。 -
前置知识:
C语言 -
参考资料:
数据结构C语言版|第二版 严蔚敏
数据结构C语言版习题解析与实验指导|第二版 严蔚敏
一、思维导图
二、考点
1.2 基本概念和术语
-
数据:客观事物的符号表示
-
数据元素:数据的基本单位,通常作为整体考虑和处理
-
数据项:组成数据元素,有独立含义的,不可分割的最小单位
-
数据对象:数据元素的集合
-
数据结构:
带结构的数据元素的集合,是数据元素的组织形式
包括逻辑结构和存储结构两个层次 -
逻辑结构:
与数据存储无关,独立于计算机
两个要素:数据元素,关系
常见逻辑结构:
-
存储结构(物理结构):分为 顺序存储结构,链式存储结构
-
顺序存储结构:
连续存储区域
数据之间逻辑关系由存储位置表示 -
链式存储结构:
无需连续存储区域
需要附增指针字段
空间使用更灵活
物理地址和逻辑地址不同
数据之间逻辑关系用指针表示 -
数据类型:一个值的集合和定义在这个值上操作的总称
-
抽象数据类型:数据对象、数据对象上关系集合、数据对象基本操作集合
1.3 抽象数据类型的表示和实现
- 抽象数据类型独立利于具体实现,将数据和操作封装到一起
- 在 C++ 中,类的声明表示抽象数据类型,类的实现来实现抽象数据类型
- 抽象数据类型相当于在概念层上描述问题,类相当于在实现层上描述问题
1.4 算法和算法分析
-
算法的定义
为了解决某类问题的有限长的序列
有穷性:有穷步后结束,每步有穷时间内完成
确定性:不产生二义性
可行性:所有操作都可以通过已实现的基本运算执行有限次来实现
输入:零个或多个输入
输出:一个或多个输出 -
评价标准
正确性:合理数据输入下,有限的运行时间内得到正确的结果
可读性:便于人们理解和交流
健壮性:对非法数据有合理反应和处理
高效性:时间复杂度和空间复杂度(两个都要) -
算法时间复杂度
问题规模:算法求解问题的输入量
语句频度:一条语句重复执行的次数
大O计数法:忽略所有低次幂和最高次幂的系数
O ( 1 ) < O ( l o g 2 N ) < O ( N ) < O ( N l o g 2 N ) < O ( N 2 ) < O ( N 3 ) < O ( 2 N ) O(1)<O(log_2N)<O(N)<O(Nlog_2N)<O(N^2)<O(N^3)<O(2^N) O(1)<O(log2N)<O(N)<O(Nlog2N)<O(N2)<O(N3)<O(2N)
常数阶:算法中语句频度是个常数,即使再大,算法复杂度都是O(1)
最好时间复杂度,最坏时间复杂度,平均时间复杂度
时间复杂度取决于:问题的规模,处理数据的初态 -
算法空间复杂度
若算法执行时所需的辅助空间相对于输入数据量是个常数,则称这个算法原地工作,辅助空间为O(1) -
时间复杂度和空间复杂度没有直接联系
以上是关于[NEFU 数据结构] 第 1 章 绪论 知识点整理的主要内容,如果未能解决你的问题,请参考以下文章