原创 数据结构学习笔记--数据结构相关定义

2013-9-8 16:47 1361 22 22 分类: MCU/ 嵌入式 文集: ARM

 

数据结构学习笔记之数据结构相关定义


1. 数据相关定义

  • 何为数据结构?
      答:数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
  • 什么是数据元素
     答:组成数据的、有一定意义的基本单元。数据项是最小的基本单元,数据元素由若干个数据项构成。
  • 数据对象
          数据对象则是具有同性质的数据元素的集合,是数据的一个子集。
 

2. 数据的组织方式

        数据结构的组织方式可以从两个角度来考虑:其一是从解决问题的角度来看,数据的组织方式可以称之为逻辑结构;从计算机的角度来看,数据的组织方式可以称之为物理结构(存储结构)
  • 逻辑结构  
    逻辑结构是指数据对象中数据元素之间的相互关系。大致存在以下四种基本的结构:集合结构、线性结构、树形结构以及图形结构。其中集合结构中的数据是平等关系,他们同属一个集合,类似数学中的结合;线性结构表示数据元素之间存在一一对应的关系;而树形结构则是一种一对多的层次关系;图形结构则是多对多的关系。在解决问题时,根据问题的需要,选择合适的逻辑结构。
  • 物理结构(存储结构)
    从计算机的角度来看,数据最终存在计算机中,就产生了两种基本的存储方式:顺序存储结构和链式存储结构。我们常见的数组类型就是顺序存储结构,而链表则采用了链式存储结构。显然这两种存储结构适合不同的场合。链式存储结构与顺序存储结构相比,在于它的存储单元可以是连续的,也可以是不连续的,适合数据结构的动态变化,更具有灵活性和可扩展性。

3. 数据类型

    首先来看数据类型的定义。数据类型是指:一组性质相同的值得集合以及定义在此集合上的一些操作的总称。
        为什么需要有数据类型的概念呢?这是因为在解决问题时,需求是不同的。譬如,现在的房子有别墅、有错层、有单间;有一百多平米的也有几十平米的。这为满足不同的人需求提供了方便。
        C语言中,按照取值的不同,存在以下两种类型:
  • 原子类型:表示不可分解的基本类型,如整形、实型、字符型等。
  • 结构类型:由若干个类型组合而成,这里的类型可以是基本类型也可以是结构类型,时刻再分解的。如整型数组、结构体、联合体等。
        此外,数据类型还包括定义在该数据类型的一组操作。如整形变量就有相应的操作,如加、减、乘除等。不同的数据类型操作不完全相同。对已有的数据类型进行抽象,就有了抽象数据类型(ADT)。
        抽象数据类型(Abstract Data Type,ADT):是指一个数学模型及定义在该模型上的一组操作。类似于数据类型的定义。我们可以根据问题的需要,定义自己的抽象数据类型。譬如,在游戏中,定义一个角色,我们可以给这个抽象的数据类型建立一个模型来表示这个角色,此外还可以定义该角色的拥有的技能,即模型的一组操作。

 

文章评论0条评论)

登录后参与讨论
我要评论
0
22
关闭 站长推荐上一条 /2 下一条