/*心血来潮打算学一下这个提高自己的综合编程能力,希望能坚持学一下。
出自:【【C语言描述】《数据结构和算法》】 https://www.bilibili.com/video/BV1jW411K7yg/?share_source=copy_web&vd_source=bab35cd72a6b7a3ffd3c77e664d802f1*/
第一讲 数据结构与算法导论
程序设计=数据结构+算法
数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。数据结构通常分为逻辑结构和存储结构(或物理结构)。
- 逻辑结构:是从具体问题抽象出来的数学模型,是描述数据元素及其关系的数学特性的。有时把逻辑结构简称为数据结构。逻辑结构在计算机存储中的映像称为存储结构。
- 集合结构:该结构的数据元素间的关系是“属于同一个集合”。
- 线性结构:该结构的数据元素之间存在着一对一的关系。常见的有链表、队列、栈等。
- 树形结构:该结构的数据元素之间存在着一对多的关系。常见的有二叉树、二叉查找树、平衡二叉查找树等。
- 图形结构:该结构的数据元素之间存在着多对多的关系,也称网状结构。
- 存储结构:数据的存储结构是数据的逻辑结构在计算机存储器中的实现,包括数据元素的存储表示和关系的存储表示。数据的存储结构分为顺序存储结构和链式存储结构。
- 顺序存储结构:表示数据元素在存储器中是连续存储的,可以用相对位置来表示数据元素之间的逻辑结构,如顺序表、队列、栈等。
- 链式存储结构:每个数据元素里设置了一个指针用来指向另一个元素的存储地址,以此来表示数据元素之间的逻辑结构。
第二讲 谈谈算法
算法是对解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法具有五个特征:输入、输出、有穷性、确定性和可行性。