第一章 数据结构绪论——《大话数据结构》

1、基本概念

1)数据元素:组成数据的有一定意义的单位,比如在人类中,人就是数据元素

2)数据项:组成数据元素的单位,是数据不可分割的最小单位

3)数据对象:是性质相同的数据元素的集合,是数据的子集,一般将数据对象简称为数据

4)数据结构:数据之间存在一种相互关系,我们称之为结构。为编写一个好的程序,必须分析待处理对象的特性和对象之间的关系,这就是研究数据结构的意义所在。

(PS:我之前一直不懂数据结构到底是什么,简单来说,数据结构就是数据间的关系。而在动手写程序之前,只有分析好数据间的关系才有可能选出好的数据结构。像我之前那种靠直觉写程序的做法真是大错特错。)

2、逻辑结构和物理结构:

数据结构按视点的不同分为逻辑结构和物理结构

1)逻辑结构:数据对象中元素的相互关系

(PS:平时面对一个问题,首先想它的逻辑结构是什么。就是依照逻辑结构来选择合适的数据结构)

集合结构:数据间除了同属一个结构外,没有其他任何关系

线性结构:一对一关系

树形结构:一对多关系,想想二叉树

图形结构:多对多关系,想想蜘蛛网

2)物理结构(也叫存储结构):指数据逻辑结构在计算机中的存储方式

(PS:找到了合适的数据结构,就要用优秀的算法进行实现,用书上的话就是,“物理结构应该正确的反映逻辑结构”,设计物理结构的过程就是数据结构的实现过程)

顺序结构:把数据元素存放在地址连续的存储单元里,其数据的逻辑关系和物理关系是一致的。(数组就是这种存储结构)

链式结构:把数据元素存放在任意的存储单元里,这组数据单元可以是连续的,也可以是不连续的。(这时就需要一个指针存储数据元素的地址)

3、抽象数据类型

1)数据类型:是一组性质相同的值的集合及定义在此集合上的一些操作的总称(知道这个概念也没什么用)

2)数据类型的分类:

原子类型:不可以再分解的基本类型,包括整型、实型、字符型

结构类型:由若干个类型组合而成,不可再分解的。(比如整型数组就是若干个整型数据组成的)

3)抽象数据类型

抽象的定义:抽取出事物具有普遍性的本质

抽象数据类型定义:一个数学模型及定义在该模型上的一组操作(每个计算机都有整数运算,于是抽象出了整型)

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

    原文作者:GarinZhang
    原文地址: https://www.jianshu.com/p/c11195733326
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞