分清数据结构、逻辑结构、物理结构以及数据的运算的关系
- 数据结构包括逻辑结构、物理结构以及数据的运算
因为数据结构的三要素:逻辑结构、物理结构(也叫存储结构)以及数据的运算,三者缺一不可,少了任何一个成分都不叫数据结构。
例如:顺序表、单链表、散列表(也叫哈希表)都是数据结构,因为它们既包含了逻辑结构:线性表。也包含了了物理结构:顺序存储、链式存储、散列存储;
再例如,栈和队列还有有序表;它们都是逻辑结构(线性),因为我们知道栈和队列的定义是:栈或队列是一种操作受限的线性表,而有序表则是有序的线性表。这三者都没提现存储结构和数据的运算,因此不叫数据结构。另外,这三者都可以进行顺序存储和链式存储。
2.数据的运算则提现在数据的操作中,而数据的操作需要逻辑结构以及物理结构辅助完成
解释: 数据的运算包括运算的定义和实现,数据的定义是针对逻辑结构的,指出数据运算的功能。这一点需要自己去分析。数据的实现是针对存储结构的,指出数据运算的具体操作步骤。
3.逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。而存储结构包括元素的表示和关系的表示。
对于前者和后者可用一个例子回答,比如你和你的父亲,你们都是社会上的元素:人,你们之间的逻辑结构是父子关系,存储结构(也就是表现形式):户口本。我们都知道户口本上有你和你父亲的人名(元素的表示),还有你和你父亲之间的关系(关系的表示)。因此存储结构包括原素的表示和关系的表示。
但是呢,你无法否定,不管户口本存不存在,你的父亲永远都是你的父亲,这是无法改变的事实,是独立与户口本而存在的。这也就是前句话的理解:逻辑结构与数据的存储无关。