北京师范大学《数据结构——C语言描述》教学课件:第五章 数组与广义表

第5章数组与广义表
第5章 数组与广义表

第5章数 数组 数组的定义 组与广义 数组是以同型元素为数据元素的线性表。 数组以下标作为元素的标识,通过下标访问各个 表 素 多维数组 多维数组是以同型线性表为数据元素的线性表。 这里的同型指得是具有相同元素类型和相同的表 长
第 5 章 数 组 与 广 义 表 一、数组 ◼ 数组的定义 – 数组是以同型元素为数据元素的线性表。 – 数组以下标作为元素的标识,通过下标访问各个 元素。 ◼ 多维数组 – 多维数组是以同型线性表为数据元素的线性表。 – 这里的同型指得是具有相同元素类型和相同的表 长

5以一个3维数组M[4]5][3为例,如下图所示: 章 数 组 与 义 表 M[0][0][0] M|3 M2 M[0][3][2] MII
第 5 章 数 组 与 广 义 表 M[0][0][0] M[0][3][2] M[0] M[1] M[2] M[3] M[0][3] 以一个3维数组M[4][5][3]为例,如下图所示:

第5章数 数组 多维数组的实现 组与广义 用一维顺序结构线性表实现多维数组 表 struct Array E1 etype* buffer;//数据区 int dims /维数 in七*; /各维长度
第 5 章 数 组 与 广 义 表 一、数组 ◼ 多维数组的实现 – 用一维顺序结构线性表实现多维数组 struct Array { ElemType *buffer; // 数据区 int dims; // 维数 int *L; // 各维长度 };

第设二3维数组A[4][2][3], 5存贮在一个顺序线性表s中 A000 001 002 章结构如下所示 P010 011 A 012 数 A 100 101 A 102 组 A 11 111 A 112 与 A A,A 21 A 2n2 A200A201 P202 义 A A101 A 1∩2 表 A 210 A 211 A 212 A 000 001A002 A010A011A012 A 300A 3012302 A 310 A 311 A 312 2223 A0020012002A01020112012A100A101 311 312
第 5 章 数 组 与 广 义 表 设一3维数组A[4][2][3], 存贮在一个顺序线性表S中, 结构如下所示: 0 1 2 3 4 5 6 7 ... 22 23 A000 A001 A002 A010 A011 A012 A100 A101 ... A311 A312 A310 A311 A312 A300 A301 A302 A210 A211 A212 A200 A201 A202 A110 A111 A112 A100 A101 A102 A010 A011 A012 A000 A001 A002 A310 A311 A312 A300 A301 A302 A210 A211 A212 A200 A201 A202 A110 A111 A112 A100 A101 A102 A010 A011 A012 A000 A001 A002

第5章数 数组 维下标与多维下标之间的换算 组与广义 设多维数组A(10,111n-1),存贮在一个顺序线性表s中。 从一维下标换算到多维下标 表 S(i)→A(i0,i1,…,in-1) 从多维下标换算到—维下标 A(i,i1,.,in-1)→S(i) ndex (015 2n-1 o·41·l2…l21+1·l2·l3…b21+…+in-2·l21+in-1 ∑(·∏)+n1 =k+1
第 5 章 数 组 与 广 义 表 一、数组 ◼ 一维下标与多维下标之间的换算 – 设多维数组A(l0,l1,..,ln-1),存贮在一个顺序线性表S中。 ◼ 从一维下标换算到多维下标 – S(i) → A(i0,i1,..,in-1) ◼ 从多维下标换算到一维下标 – A(i0,i1,..,in-1) → S(i)

第5章数 数组 多维数组的基本操作 组与广义 初始化和撤销 表 按下标访问元素A(i,1,i2
第 5 章 数 组 与 广 义 表 一、数组 ◼ 多维数组的基本操作 – 初始化和撤销 – 按下标访问元素A( i0, i1, i2, .. in-1 )

二、稀跪矩阵 5章数 定义 组与广义 含有较多零元的矩阵称为稀疏矩阵。 稀疏矩阵的压缩存贮 只存贮非零元,以减少存贮空间。 表 00501 020000 000040 000307 000100
第 5 章 数 组 与 广 义 表 二、稀疏矩阵 ◼ 定义 – 含有较多零元的矩阵称为稀疏矩阵。 ◼ 稀疏矩阵的压缩存贮 – 只存贮非零元,以减少存贮空间。 0 0 0 1 0 0 0 0 0 3 0 7 0 0 0 0 4 0 0 2 0 0 0 0 0 0 5 0 1 1

二、稀跪矩阵 5章数 特殊矩阵 组与广义 非零元的分布非常有规律。 表 将非零元存贮于一维空间中,根据非零元 的分布规律建立矩阵行列与一维下标之间 的映射关系
第 5 章 数 组 与 广 义 表 二、稀疏矩阵 ◼ 特殊矩阵 – 非零元的分布非常有规律。 – 将非零元存贮于一维空间中,根据非零元 的分布规律建立矩阵行列与一维下标之间 的映射关系

第 5 章以三角阵为例 数 组 与 0 0 0 0 义 0 表 Mme(2)(i+1) ji≥j 0 1 3 5 n(n+1)/2-1 22 an-1,n-1
第 5 章 数 组 与 广 义 表 −1,0 −1.1 −1,2 −1, −1 20 21 22 10 11 00 0 0 0 0 0 0 n n n n n a a a a a a a a a a 0 1 2 3 4 5 ... n(n+1)/2-1 a00 a10 a11 a20 a21 a22 ... an-1,n-1 以三角阵为例: i j j i j i i Index i j + + = 2 ( 1) ( , )
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京师范大学《数据结构——C语言描述》教学课件:第六章 树和二叉树.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:实验计划.doc
- 北京师范大学《数据结构——C语言描述》教学课件:第九章 排序.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第四章 串.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第八章 查找.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第一章 绪论.ppt
- 山东科技大学:程序设计基础(C语言课件) 第八章 函数(作业说明).doc
- 山东科技大学:程序设计基础(C语言课件)_第8章 函数.ppt
- 山东科技大学:程序设计基础(C语言课件)_第7章 数组.ppt
- 山东科技大学:程序设计基础(C语言课件)_第6章 循环.ppt
- 山东科技大学:程序设计基础(C语言课件)_第5章 表达式与选择结构程序设计.ppt
- 山东科技大学:程序设计基础(C语言课件)_第4章 简单程序.ppt
- 山东科技大学:程序设计基础(C语言课件)_第3章 数据类型.ppt
- 山东科技大学:程序设计基础(C语言课件)_第2章 程序的灵魂——算法.ppt
- 山东科技大学:程序设计基础(C语言课件)_第1章 C语言概述.ppt
- 山东科技大学:程序设计基础(C语言课件)_第13章 文件.ppt
- 山东科技大学:程序设计基础(C语言课件)_第11章 结构体.ppt
- 山东科技大学:程序设计基础(C语言课件)_第10章_指针.ppt
- 数据结构算法演示(Windows版)使用手册.doc
- 数据结构库VC实践实例_迷宫求解参考答案.doc
- 北京师范大学《数据结构——C语言描述》教学课件:第七章 图.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第二章 线性表.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:课程章节主要内容及学时分配.doc
- 北京师范大学《数据结构——C语言描述》教学课件:第三章 栈和队列.ppt
- 南通市科委培训中心:全国计算机等级考试(一级B)培训资料.pdf
- 《计算机网络技术》 第一章 网络知识分类.ppt
- 《计算机网络技术》 第三章 分组交换.ppt
- 《计算机网络技术》 第二章 直连的网络.ppt
- 《计算机网络技术》 第五章 端到端协议.ppt
- 《计算机网络技术》 第六章 计算机网络的安全.ppt
- 《计算机网络技术》 第四章 网络互连.ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第一章 引论(张冬茉).ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第七章 代码优化.ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第三章 词法分析.ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第二章 文法和语言.ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第五章 语法制导翻译和中间代码生成.ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第八章 代码生成.ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第六章 运行时存储空间管理.ppt
- 上海交通大学:《编译原理》课程教学资源(PPT课件)第四章 语法分析.ppt
- 《Photoshop图形图像处理案例教程》 第一章 常识与基本概念.ppt