欢迎访问文稿网!

什么是数据结构

范文之家 分享 时间: 加入收藏 我要投稿 点赞

什么是数据结构

    2.2.1 什么是数据结构

    数据结构指的是数据之间的相互关系,即数据的组织形式。数据结构一般包括以下三方面内容:

    ①数据元素之间的逻辑关系,也称数据的逻辑结构(Logical Structure);

    数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

    ②数据元素及其关系在计算机存储器内的表示,称为数据的存储结构(Storage Structure);

    数据的存储结构是逻辑结构用计算机语言的实现(亦称为映像),它依赖于计算机语言。对机器语言而言,存储结构是具体的。一般,只在高级语言的层次上讨论存储结构。

    ③数据的运算,即对数据施加的操作。

    数据的运算定义在数据的逻辑结构上,每种逻辑结构都有一个运算的集合。最常用的检索、插入、删除、更新、排序等运算实际上只是在抽象的数据上所施加的一系列抽象的操作。

    所谓抽象的操作,是指我们只知道这些操作是“做什么”,而无须考虑“如何做”。只有确定了存储结构之后,才考虑如何具体实现这些运算。

    为了增加对数据结构的感性认识,下面举例来说明有关数据结构的概念。

    例2-2 表2-1是一学生成绩表。注意,了解表中数据元素、数据项、开始节点和终端节点等概念。

    

    表2-1 学生成绩表

    (1)逻辑结构

    表中的每一行是一个数据元素(或记录、节点),它由学号、姓名、各科成绩及平均成绩等数据项组成。表中数据元素之间的逻辑关系是:对表中任意一个节点,与它相邻且在它前面的节点(亦称为直接前趋(Immediate Predecessor)最多只有一个;与表中任意一节点相邻且在其后的节点(亦称为直接后继(Immediate Successor)也最多只有一个。表中只有第一个节点没有直接前趋,故称为开始节点;也只有最后一个节点没有直接后继,故称之为终端节点。例如,表中“李四”所在节点的直接前趋节点和直接后继节点分别是“张三”和“王五”所在的节点,上述节点间的关系构成了这张学生成绩表的逻辑结构。

    (2)存储结构

    该表的存储结构是指用计算机语言如何表示节点之间的这种关系,即表中的节点是顺序邻接地存储在一片连续的单元之中,还是用指针将这些节点链接在一起?

    (3)数据的运算

    在学生成绩表中,可能要经常查看某一学生的成绩,如当学生退学时要删除相应的节点;进来新学生时要增加节点。究竟如何进行查找、删除、插入,这就是数据的运算问题了。

    搞清楚了上述三个问题,也就弄清了学生成绩表这个数据结构。

221381
领取福利

微信扫码领取福利

微信扫码分享