1.数据、数据元素、数据项、数据结构、数据对象
2 数据结构的三要素
1.逻辑结构
2.物理结构(存储结构)
3.数据的运算
1.逻辑结构
2.物理结构(存储结构)
3.数据的运算
3.数据类型、抽象数据类型
4.讨论一个数据结构的步骤
1.定义逻辑结构(数据与数据之间的关系)
2.定义数据的运算
3.确定数据的存储结构(物理结构)
5.判断某种结构是逻辑结构还是存储结构或数据结构
当一个结构,如数组、链表、树、图,在逻辑结构中只有一种定义,而在物理结构中却有两种选择,那么这个结构就属于逻辑结构;
相反,当此结构在原有基础上加上了某种限定,使得其在物理结构中只有一种定义,那么这个结构就属于物理(存储)结构;
举例1:栈、队列、有序表属于什么结构?
分析:栈在逻辑结构中只能属于线性结构,而在物理结构中它可以使用顺序存储(数组),也可以使用链式存储(链表),所以说栈是一种逻辑结构。
举例2:线索二叉树属于什么结构?
分析:首先,可以得到二叉树是一种数据结构,但是线索二叉树是加上线索后的链表结构(不能用顺序存储),也就是说,它是计算机内部的只有一种存储结构,所以线索二叉树是物理结构。
逻辑结构和存储结构的区别点在于:数据的逻辑结构是独立于在计算机中的存储结构的,数据的存储方式有多种不同的选择。例如栈是一种逻辑结构,它可以用顺序存储也可以用链式存储。
而数据结构是既可以描述逻辑结构又可以描述存储结构和数据运算,必须包含以上三种元素。所以像顺序表、哈希表、单链表都是数据结构。
随机存取 Vs 非随机存储
随机存取就是直接存取,可以通过下标直接访问的那种数据结构,与存储位置无关,例如数组。
非随机存取就是顺序存取了,不能通过下标访问了,只能按照存储顺序存取,与存储位置有关,例如链表。