C语言数据结构(一),概念

《C语言数据结构》严蔚敏,吴伟民版。
此章为概念。
下章内容链接:https://blog.csdn.net/daqino1/article/details/88703321

计算机解决问题:
1.从具体问题抽象出适当的数学模型。
2.设计一个解此数学模型的算法。
3.编出程序,进行测试,调整直至得到最终解答。

什么是数据结构:
计算操作的对象,以及这些被操作的对象之间的关系。

基本概念和术语:
1.数据(data):对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
2.数据元素(data element):数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
3.数据项(data item):一个数据元素可由若干个数据项组成。数据项是数据元素的不可分割的最小单位。
4.数据对象(data object):性质相同的数据元素的集合,是数据的一个子集。
5.数据结构(data structure):相互之间存在一种或多种特定关系的数据元素的集合。数据结构的4类基本结构(集合,线性结构,树形结构,图状(网状)结构)。

集合:数据元素属于同一集合外,无其他关系。(就是在一起)
线性结构:数据元素之间存在一个对一个对关系。(1:1)
树形结构:数据元素之间存在一个对多个对关系。(1:N)
图状结构:数据元素之间存在多个对多个对关系。(N:N)
逻辑结构:数据元素之间的逻辑关系。
物理结构(存储结构) :数据结构在计算机中的表示(又称映像)。

位(bit):计算机中表示信息的最小单位是二进制书的一位。
元素(element)或结点(node):用一个由若干位组合起来形成的一个位串表示一个数据元素。
数据域(data field):数据元素有若干数据项组成时,位串中对应于各个数据项的子位串。

计算机中有两种不同表示数据元素的方法:顺序映像和非顺序映像。因此得到两种存储结构:顺序存储结构和链式存储结构。

此书讲解的存储结构是数据结构在C虚拟处理器中的表示,称为虚拟存储结构。

数据类型(data type): 一个值的集合和定义在这个值集上的一组操作的总称。例如:C语言中的整型变量,值集为莫哥区间,定义的操作为加减乘除等等。
数据类型:原子类型和结构类型。

抽象数据类型(abstract data type, ADT):一个数学模型以及定义在该模型的一组操作。
1.原子类型(atomic data type):变量的值不可分解。
2.固定聚合类型(fixed-aggregate data type):变量的值由确定数据的成分按某种结构组成。
3.可变聚合类型(variable-aggregate data type):与固定聚合类型比较,值的成分的数目不确定。
4.多形数据类型(polymorphic data type):值的成分不确定的数据类型。

算法(algorithm):
有穷性、确定性、可行性、输入、输出

算法设计要求
正确性、可读性、健壮性、效率与低存储量需求

算法效率度量:
时间复杂度:T(n) = O(f(n))
暂时这么记录时间的比对:理解就好
1 < 对数 < n < n*对数 < n的平方 < n的幂 < n的指数
存储空间需求:
空间复杂度:S(n) = O(f(n))

下章内容链接:https://blog.csdn.net/daqino1/article/details/88703321

你可能感兴趣的:(数据结构,基础,基础,数据结构)