第1章 基本概念 —— 1.2 数据结构
来源:互联网 发布:淘宝的芦荟胶是真的吗 编辑:程序博客网 时间:2024/06/15 15:12
1.2.1 数据结构是关于三个部分的内容:数据对象的组织方式、操作集、算法
- 数据对象在计算机中的组织方式(图书摆放),包含以下两个概念:
逻辑结构:如书籍顺序排列,每本书是一个数据对象,从第一本书开始编号,每本书的位置可以由它的编号唯一确定,那么这个数据对象集的逻辑结构就是“线性”的,因为数据对象都串到一条线上,编号跟书是“1对1”的关系。
物理存储结构:把书的信息存进计算机时,可以设计一个结构体来记录一本书,书的集合可以用结构体的数组来存储,也可以用结构体的链表来存储。数组或者链表就是数据对象集在计算机中的物理存储结构。树和图也是物理存储结构。 - 操作集(插入、查找)。
- 实现这些操作的算法。
1.2.2 抽象数据类型 (Abstract Data Type)
数据类型:数据对象集 + 数据集合相关联的操作集。
抽象:描述数据类型的方法不依赖于具体实现,即只描述数据对象集和相关操作集“是什么”,并不涉及“如何做到”的问题。
- 与存放数据的机器无关;
- 与数据存储的物理结构无关;
- 与实现操作的算法和编程语言均无关。
示例:“矩阵”的抽象数据类型定义。
- 类型名称: 矩阵(Matrix)
- 数据对象集: 一个MN的矩阵
由MN个三元组< a, i, j >构成,其中a是矩阵元素的值,i是元素所在的行号,j是元素所在的列号。 - 操作集: 对于任意矩阵A、B、C Matrix,以及整数i、j、M、N
- Matrix Create( int M, int N ):返回一个MN的空矩阵;矩阵类型为Matrix;
- int GetMaxRow( Matrix A ):返回矩阵A的总行数;
- int GetMaxCol( Matrix A ):返回矩阵A的总列数;
- ElementType GetEntry( Matrix A, int i, int j):返回矩阵A的第i行、第j列的元素;返回值类型为ElementType,也是一个抽象数据类型,能够自定义,可以是#define ElementType int也可以是#define ElementType char等。
- Matrix Add( Matrix A, Matrix B ):如果A和B的行、列数一致,则返回矩阵C=A+B,否则返回错误标志;
- Matrix Multiply( Matrix A, Matrix B ):如果A的列数等于B的行数,则返回矩阵C=AB,否则返回错误标志;
阅读全文
0 0
- 第1章 基本概念 —— 1.2 数据结构
- 第1章--说说数据结构的基本概念
- 数据结构——基本概念
- 数据结构——基本概念
- 第1章:基本概念
- 数据结构——00基本概念
- 第1章 基本概念 —— 1.3 算法(Algorithm)
- C++ STL — 第3章 基本概念
- 第 2 章 基本概念------------(1)
- PHP数据结构之一:PHP数据结构基本概念—数据结构
- 数据结构——第一讲、基本概念(1)
- 数据结构——树的基本概念
- 数据结构学习——树的基本概念
- 数据结构——基本概念和术语
- 数据结构——树的基本概念
- 数据结构——图的基本概念
- 数据结构 — 堆基本概念以及基本操作
- 数据结构-1 基本概念
- 高阶自定义View --- 粒子变幻、隧道散列、组合文字
- 活动选择问题——动态规划解法(自底向上)
- 语音信号处理之(四)梅尔频率倒谱系数(MFCC)
- 排序-6-归并排序
- MySQL中时间函数NOW()和SYSDATE()的区别
- 第1章 基本概念 —— 1.2 数据结构
- 在Ubuntu的环境下,使用Spyder+TensorFlow搭建深度学习环境
- C#进阶 06 算数运算符及表达式
- JSP 内置动作 标签
- Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
- bat脚本
- C语言初步-第7讲:分支结构体验(正差值)
- Problem 1004-2017 ACM/ICPC Asia Regional Shenyang Online
- Turtlebot3入门手册之六:开始使用和远程操作