title: 《数据结构(C语言版)》笔记-1.2 基本概念和术语
date: 2022-10-22 16:11
tags: [数据结构]
〇、问题
- 什么是数据
- 什么是数据元素、什么是数据项
- 什么是数据对象
- 什么是数据结构
- 数据结构有哪些分类
- 什么是数据类型
- 什么是抽象数据类型
一、数据
数据是对客观事物的符号表示,所有能输入到计算机中并被计算机程序处理的符号的总称。
二、数据元素
一本书在数据计算机中就是一个数据元素:
{
name:"《数据结构(C语言版)》",
author:"严蔚敏,吴伟民",
content:"..."
}
其中书名、作者等是数据项
三、数据对象
某一类数据元素的集合。如“计算机相关的书”、“整数”等。
四、数据结构
带关系的数据元素。
如,让你来管理一个图书馆,你用Excel来管理,此即“表”结构。
数据元素之间的关系称为结构。
基本结构有如下4类:
- 集合
- 线性结构
- 树形结构
- 图状结构
五、逻辑结构与存储结构
上面说的元素之间的关系即逻辑结构,而如何把元素的值与元素值之间的关系存储在计算机中就是存储结构。
数据在计算机中的存储方式分为:顺序存储和链式存储。
顺序存储就是一个砖头挨着一个砖头,链式存储就是每个码头保存在不同的位置,而我在当前这个砖头上放了一个纸条,写明了下一个砖头在哪。
- 算法设计取决于逻辑结构;
- 算法实现取决于存储结构。
六、数据类型
int、char、string…我知道这些是数据类型,但是数据类型到底是什么?
分两方面:
- 规定了值的范围,如一个变量是int类型,那么它就只能取-1、0、1、2…
- 规定了能对这个值进行的操作,如果是个int类型,那么我就可以对它进行除运算,而如果是string类型就不能进行除运算
七、抽象数据类型
数据类型同样是int,但是在不同的设备上可能是不同的实现方式。但是抽象数据类型,跟如何实现没有关系,指的是一个数学模型以及定义在该模型上的一组操作。
在《数》(指《数据结构(C语言版)》这本书,后不再赘述)这本书里以如下的形式表示一个抽象数据类型:
ADT 抽象数据类型名{
数据对象:(数据对象的定义)
数据关系:(数据关系的定义)
基本操作:(基本操作的定义)
}ADT 抽象数据类型名