作为计算机领域非常重要的一个方向,我个人认为数据结构是编程领域最有趣味,最有挑战的模块之一。如果学会了各种编程语言的数据结构,就好像拿到了该语言的《九阳真经》,平凡的招式都能演化出很多种变化。所以,本章就介绍数据结构中的各种算法。主要蓝本就是严蔚敏老师的《数据结构》。
首先我们来统一术语,方便沟通使用。
数据:客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象:性质相同的数据元素的集合,是数据的一个子集。
数据结构:相互之间存在一种或多种特定关系的数据元素的集合
- 集合。结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系
- 线性结构。结构中的数据元素之间存在一个对一个的关系
- 树形结构。结构中的数据元素之间存在一个对多个的关系
- 图状结构或网状结构。结构中的数据元素之间存在多个对多个的关系
数据类型:值的集合和定义在这个值集上的一组操作的总称
抽象数据类型:一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用
算法:是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;此外,一个算法还具有下列5个重要特性:(1)有穷性(2)确定性(3)可行性(4)输入(5)输出
算法设计的要求:(1)正确性(2)可读性(3)健壮性(4)效率与低存储量需求

被折叠的 条评论
为什么被折叠?



