数据结构 绪论 day1

来源:互联网 发布:梦幻之星新星捏脸数据 编辑:程序博客网 时间:2024/05/22 10:56

资料来源《大话数据结构》

     

        数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科


程序设计=数据结构+算法


    基本概念和术语

   

  数据:描述客观事物的符号,是计算机中可操作的对象,是能被计算机识别并输出给计算机处理的符号集合。

     特点:可以输入到计算机中;能被计算机程序处理


     图像、声音等其实是通过编码的手段变成字符数据来处理的。


   数据元素:是组成数组的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。

    例:牛、马、鸡、羊就是禽类的数据元素

  

   数据项:一个数据元素可以由若干个数据项组成

     例:人的手、电话、住址就是人这个数据元素的数据项

     数据项是数据最不可分割的最小单位。但真正讨论问题时数据元素才是数据结构中建立数据模型的着眼点。


   数据对象:性质(数据元素数量和类型)相同的数据元素的集合,是数据的子集。


    数据结构:是相互之间存在一种或多种特定关系的数据元素关系的数据元素的集合

 不同数据元素之间不是独立的,而是存在一种或多种特定关系的数据元素的集合。

   想写出一个好的程序必须分析待处理对象的特性及各处理对象之间存在的关系,这就是研究数据结构的意义所在。



  逻辑结构和物理结构

  

    逻辑结构:数据对象中数据元素之间的相互关系。

       1.集合结构:数据元素除了同属于一个集合外,他们之间没有其他关系。

       2.线性结构:数据元素之间是一对一的关系

       3.树形结构:元素存在一种一对多的层次关系

       4.图形结构:数据元素多对多

元素之间的逻辑结构关系如果有方向,那么用带箭头的连线表示。


逻辑结构是针对具体问题的,为解决一个具体的问题选择一个合适的数据结构表示数据元素之间的逻辑关系。


       物理结构:数据的逻辑结构在计算机中的存储形式


        1.顺序存储结构:顾名思义   数据元素存放在地址连续的存储单元中,数据间的逻辑关系和物理关系是一致的

        2.链式存储结构:类似银行医院按号服务  把数据存放在任意的存储单元里,存储单元可以连续也可以不连续。

 (链式存储相比灵活,数据存在哪里都可以,只要有一个指针存放相应的地址就能找到啦)


     逻辑结构是面向问题的,物理结构是面向计算机的。其基本目的就是讲数据及其逻辑关系存储到计算机内存中。,


      抽象数据类型

       数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

    类型就是用来说明变量或者表达式的取值范围和所能进行的操作。

    C语言中的数据类型可分为两类:

    ①原子类型:不可再分解的基本类型:整型、实型、字符型等

    ②结构类型:由若干个类型组合而成,是可以分解的:整型数组等


   抽象是抽出事物具有的普遍性的本质。


抽象数据类型:指一个数学模型及定义在该模型上的一作。      仅取决于它的一组逻辑特性,与其在计算机内部如何表达实现无关。


抽象的意义在于数据类型的数学抽象特性。

抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。


0 0