数据结构
数据与数据之间的结构关系(如数组、队列、树、图等结构),这种结构关系有两种,一种逻辑结构,一种是存储结构
逻辑结构分类
数据和数据间无对应关系,也就是说数据间无任何关联
数据和数据间一一对应,也就是说相邻的数据间会有联系,但不相邻的数据间无联系
数据和数据间一对多,也就是说父节点和子节点是一对多的关系,子节点也只会和父节点有关系
数据和数据间多对多的关系,也就是说各个节点都有可能互相关联,每个节点都更加的灵活
存储结构分类
a、顺序存储,节点按序存储,优点:磁盘检索快速,适合数据查询
b、链式存储,节点无序存储,但节点有存储对方的指针,优点:适合增删
算法
按照输入的条件,基于数据结构来最快,最省内存地完成数据计算的整个流程、步骤
总结
-
程序 = 数据结构 + 算法 。数据是程序的中心。数据结构和算法两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系。没有数据间的有机关系,程序根本无法设计。
-
数据结构与算法关系:数据结构是底层,算法高层。数据结构为算法提供服务。算法围绕数据结构操作。
-
解决问题(算法)需要选择正确的数据结构。例如:算法中经常需要对数据进行增加和删除用链表数据结构效率高,数组数据结构因为增加和删除需要移动数字每个元素所有效率低。
-
数据结构特点:每种数据结构都具有自己的特点。例如:队列:先进先出。栈:先进后出。等等
-
算法的特性:算法具有五个基本特征:输入、输出、有穷性、确定性和可行性。
-
数据结构应用:数据结构往往同高效的检索算法、索引技术、排序算法有关
-
数据结构(逻辑数据结构)通过计算机语言来实现数据结构(存储数据结构)。例如:树型数据结构:通过计算机语言中的数组(节点)和指针(指向父节点)来实现。
-
存储结构:逻辑数据结构的实现。存储结构通过计算机语言实现。 例如:堆数据结构,堆是一棵完全二叉树,所以适宜采用顺序存储结构(顺序存储:数组),这样能够充分利用存储空间。
-
算法目的:算法是为数据结构服务。例如:数据结构通常伴随有查找算法、排序算法等
-
数据结构的优劣:一种数据结构的优劣是在实现其各种运算的算法中体现的。