C语言提高篇-数据结构
一、 基本概念
在计算机中,数据结构是指数据元素在计算中的存储和组织形式,主要描述数据元素之间的逻辑关系以及位置关系等,也就是说数据结构描述的若干个元素之间的关系
数据结构的选择会影响到程序执行的时间效率(时间复杂度)以及空间效率(空间复杂度)
计算机程序 = 数据结构 + 算法
二、 数据结构的三种层次
1、逻辑结构
主要描述数据元素之间的逻辑关系
2、物理结构
主要描述数据元素之间的位置关系
3、运算结构
主要描述数据结构的实现操作
三、 逻辑结构的分类
1、集合结构
主要描述所有的数据元素都属于一个总体,不强调数据元素之间的关系
如:
2 3 5 7 11 13 … 统称为素数/质数
2、线性结构
主要描述数据元素之间存在一对一的前后关系
该结构中必须存在唯一的首元素
该结构中必须存在唯一的尾元素
除了首元素之外,每个元素有且只有一个前趋元素
除了尾元素之外,每个元素有且只有一个后继元素
如:
排队等公交
3、树形结构
主要描述元素之间存在一对多的关系
其中起始元素叫做根元素,顶端的元素叫做叶元素
除了根元素之外,每个元素有且只有一个前趋元素
除了叶元素之外,每个元素都可以有多个后继元素