数据结构学习之第一章数据结构绪论

第一章数据结构绪论

文章目录

  • 第一章数据结构绪论
  • 前言
  • 一、数据结构起源
  • 二、各个术语及概念
    • 2.1 数据
    • 2.2 数据元素
    • 2.2 数据项
    • 2.3 数据对象
    • 2.4 数据结构
  • 三、逻辑结构与物理结构
    • 3.1 逻辑结构
      • 3.1.1 集合结构
      • 3.1.2 线性结构
      • 3.1.3 树形结构
      • 3.1.4 图形结构
    • 3.2 物理结构
      • 3.2.1 顺序存储
      • 3.2.2 链式存储
  • 四、数据类型
    • 4.1 数据类型
    • 4.2 抽象数据类型
  • 总结与预告
  • 超链接


前言

If you give someone a program, you will frustrate them for a day;if you teach them how to program, you will frustrate them for a lifetime.(如果你交给某人一个程序,你将折磨他一整天;如果你叫某人如何编写程序,你将折磨他一辈子)

一、数据结构起源

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。
读着稍微绕口,就是人们认为计算机应该是从问题中抽象出一个对应的数据模型,设计出一个解决此数据模型的算法,然后再编写程序,得到一个实际的软件。
但现实是相对于解决数值计算问题,更优先的是选择并利用合适的数据结构去更高效地解决问题。因此程序设计 = 数据结构 + 算法

二、各个术语及概念

2.1 数据

概念:描述客观事物地符号,是计算机中可以操作地对象,是能被计算机识别,并输入给计算机处理的符号集合。(可以输入到计算机和能被计算机程序处理是两大前提)
在这里插入图片描述

2.2 数据元素

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

2.2 数据项

概念:一个数据元素可以由若干个数据项组成,是数据不可分割的最小单位
人的数据项可以是:器官类:眼耳鼻嘴手脚等;者个人信息类:姓名,性别,年龄等

2.3 数据对象

概念:性质相同的数据元素的集合,是数据的子集。

2.4 数据结构

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

数据结构学习之第一章数据结构绪论_第1张图片

三、逻辑结构与物理结构

3.1 逻辑结构

概念:数据对象中数据元素之间的相互关系

3.1.1 集合结构

概念:同属于一个集合中数据元素之间无关系
数据结构学习之第一章数据结构绪论_第2张图片

3.1.2 线性结构

概念:数据元素之间是一对一的关系
在这里插入图片描述

3.1.3 树形结构

概念:数据元素之间是一对一的关系
数据结构学习之第一章数据结构绪论_第3张图片

3.1.4 图形结构

概念:数据元素之间是多对多的关系
数据结构学习之第一章数据结构绪论_第4张图片

3.2 物理结构

概念:数据的逻辑结构在计算机中的存储形式,存在两种形式:顺序存储和链式存储
基本目标是将数据及其逻辑关系存储到计算机内存中

3.2.1 顺序存储

概念:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系一致
就是按序排队,不给插队

3.2.2 链式存储

概念:把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的,通过指针存放相应地址
相对顺序存储更加灵活

四、数据类型

4.1 数据类型

概念:一组性质相同的值的集合及定义在此集合上的一些操作的总称

在这里插入图片描述

4.2 抽象数据类型

抽象概念:抽取事物具有的普遍性的本质
抽象数据类型概念:指一个数学模型及定义在该模型上的一组操作
抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。抽象数据类型把实际生活中的问题分解成多个规模小且易处理的问题,然后简历一个计算机能处理的数据模型,并把每个功能模块的实现细节作为一个独立的单元,从而使具体实现过程隐藏起来。一下为描述抽象数据类型的标准格式

ADT   马里奥(抽象数据类型名)
Data 
	(数据元素之间逻辑关系的定义)这边我也不知道该咋说,如果马里奥作为一个数据对象的话,那双手双脚就应该是
	数据元素,而下面的操作就是使这些数据元素动起来,所以综合马里奥游戏里的变化,数据元素有:双手双脚的位
	置,马里奥的坐标位置,马里奥的身高和颜色等,逻辑关系的话太复杂了,我想不清也理不清,有大佬的话可以评
	论或私信告知,我再补上去
Operation
	操作1:跳起
		初始条件:按W键
		操作结果描述:马里奥Y轴数值增加n
	操作2:前进
		初始条件:按D键
		操作结果描述:马里奥X轴数值增加n
	......
endADT

总结与预告

该系列为阅读程杰老师的《大话数据结构》的知识整理和自我归纳,清华大学出版社
下一章,算法

超链接

数据结构学习之第二章算法

你可能感兴趣的:(数据结构与算法,数据结构,算法)