首页 > C语言中,数据结构,逻辑结构与存储结构的区别..百度谷歌过,但是答案太混杂,不敢确定

C语言中,数据结构,逻辑结构与存储结构的区别..百度谷歌过,但是答案太混杂,不敢确定

我的认为是:
数据结构包含存储结构与逻辑结构。
存储结构包括:链表,数组,集合。
逻辑结构包括:队列。
不知这样理解对否?不对的话可以说明一下

希望有知道的人可以讲解一下,网上的资料太过混乱。
谢谢


我将采用“迂回”的方式来回答题主的问题。

先来说说数据类型抽象数据类型,先看下面3个例子。

例1,如果我给你一个整数你会获得哪些信息?


例2,如果我给你一个C语句int num;(32位机器)你能获得哪些信息?


例3,如果我给你一个队列你会获得哪些信息?


理解了上面的内容,我们来看看教课书上的一些定义。

数据类型的定义(Data Type)

抽象数据类型(Abstract Data Type, ADT)


什么是数据结构?

业界并无明确定义,算法导论中给出如下定义:

A data structure is a way to store and organize data in order to facilitate
access and modifications.

个人比较喜欢的定义是:数据结构是基于某一编程语言对抽象数据类型进行【高效】的实现

通常所说线性表、队列、栈等其实说的是抽象数据类型,只给出相应的定义但不涉及具体的实现。


什么是逻辑结构?

数据结构这门主要就是教你干三件事:

  1. 将现实世界中的事物以计算机能够理解的方式(符号化、离散化)存储到计算机中

    • 编程语言教会你符号化

    • 离散数学教会你离散化

  2. 同时存储事物之间的逻辑关系

  3. 高效地实现相应的操作

所谓逻辑结构指的是现实世界中事物间的逻辑关系


什么是物理结构/存储结构?

了解了逻辑结构,再来说说物理结构/存储结构。

课本中的定义:

得益于抽象,我们在编程时常常将内存看成是一片连续的存储单元(一个大数组)

全文完
$$


这幅图的理解正确与否?


1.首先我来说几个概念性的东西:

2.最后推荐你一本书看:《大话数据结构》这本书你值得拥用,讲的通俗易懂,结合了图形来进行讲解。

【热门文章】
【热门文章】