《数据结构》课程教学资源(PPT课件讲稿)第五章 多维数组与广义表

第五章多维数组与广义表 2007.9
2007.9 第五章 多维数组与广义表

●51多维数组 5.1.1多维数组的定义 5.1.2多维数组的存储 ●52矩阵的压缩存储 5.2.1特殊矩阵 5.2.2稀疏矩阵 ●53广义表
5.1 多维数组 5.1.1多维数组的定义 5.1.2多维数组的存储 5.2 矩阵的压缩存储 5.2.1 特殊矩阵 5.2.2 稀疏矩阵 5.3 广义表

51多维数组
5.1 多维数组

511多维数组的定义 维数组 维数组可以看成是一个线性表或一个向量,它在计算机 内是存放在一块连续的存储单元中,适合于随机查找。 有一个直接前驱和一个直接后继 二维数组 二维数组可以看成是向量的推广。 有两个直接前驱和两个直接后继 a0a01 ac a10 all a1 A am-10am-11
5.1.1多维数组的定义 一维数组 一维数组可以看成是一个线性表或一个向量,它在计算机 内是存放在一块连续的存储单元中,适合于随机查找。 有一个直接前驱和一个直接后继 二维数组 二维数组可以看成是向量的推广。 有两个直接前驱和两个直接后继 a00 a01 …… a0n-1 a10 a11 …… a1n-1 …………………………. A= am-1 0 am-1 1 …… am-1 n-1

维数组 最多可有三个直接前驱和三个直接后继 ●多维数组 把三维以上的数组称为多维数组, 可有多个直接前驱和多个直接后继 是一种非线性结构
三维数组 最多可有三个直接前驱和三个直接后继 多维数组 把三维以上的数组称为多维数组, 可有多个直接前驱和多个直接后继 是一种非线性结构

在C语言中的描述 pedef int datatype datatype array l(NI datatype array2 [M[N] datatype array 3[XYz 数组一旦被定义,它的维数和维界就不再改 变。因此,数组只有存取元素和修改元素值的 操作
在C语言中的描述 typedef int datatype; datatype array1[N]; datatype array2[M][N]; datatype array3[X][Y][Z]; 数组一旦被定义,它的维数和维界就不再改 变。因此,数组只有存取元素和修改元素值的 操作

5.2多维数组的存储 考虑问题的基本出发点: 计算机的内存结构是一维的。因此用一维内存来存多 维数组,就必须按某种次序将数组元素排成线性序列。 数组一旦建立,结构中的元素个数和元素间的关系就 不再发生变化。因此,一般都是采用顺序存储的方法 来表示数组
考虑问题的基本出发点: 计算机的内存结构是一维的。因此用一维内存来存多 维数组,就必须按某种次序将数组元素排成线性序列。 数组一旦建立,结构中的元素个数和元素间的关系就 不再发生变化。因此,一般都是采用顺序存储的方法 来表示数组。 5.2 多维数组的存储

两种顺序存储方式 行优先顺序—将数组元素按行排列 在 PASCAL、C语言中,数组就是按行优先顺序存储的。 列优先顺序—一将数组元素按列向量排列 在FO○ RTRAN语言中,数组就是按列优先顺序存储的。 推广到多维数组的情况 行优先顺序:先排最右下标,从右到左,最后排最左下标 列优先顺序:先排最左下标,从左向右,最后排最右下标
两种顺序存储方式 行优先顺序——将数组元素按行排列 在PASCAL、C语言中,数组就是按行优先顺序存储的。 列优先顺序——将数组元素按列向量排列 在FORTRAN语言中,数组就是按列优先顺序存储的。 推广到多维数组的情况: 行优先顺序:先排最右下标,从右到左,最后排最左下标 列优先顺序:先排最左下标,从左向右,最后排最右下标

计算机如何实现数组元素的随机存取? 如何计算数组元素的地址? 按上述两种方式顺序存储的序组,只要知道 开始结点的存放地址(即基地址) 维数 每维的上、下界 每个数组元素所占用的单元数, 就可以将数组元素的存放地址表示为其下标的线性函 数。因此,数组中的任一元素可以在相同的时间内存 取,即顺序存储的数组是一个随机存取结构
计算机如何实现数组元素的随机存取? 按上述两种方式顺序存储的序组,只要知道: 开始结点的存放地址(即基地址), 维数 每维的上、下界 每个数组元素所占用的单元数, 就可以将数组元素的存放地址表示为其下标的线性函 数。因此,数组中的任一元素可以在相同的时间内存 取,即顺序存储的数组是一个随机存取结构。 如何计算数组元素的地址?

如何计算数组元素的地址? 内存内存 0 维数组m0a1n2|-mn ao a00 维数组 ao1 On-1 a1 三维数组a0a ap aon n a10 aIn a dol aio al Listsize -1 a-10 am-11 m-I n1
一维数组 二维数组 三维数组 如何计算数组元素的地址? 内存 0 ListSize -1 a0 a1 a2 … an a00 a01 …… a0n-1 a10 a11 …… a1n-1 …………………………. am-1 0 am-1 1 …… a m-1 n-1 a00 a01 …… a0n-1 a10 a11 …… a1n-1 …………………………. am-1 0 am-1 1 …… a m-1 n-1 a0 a1 … an 内存 a00 … a0n a10 … a1n …
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:超立方体 Hypercube(PPT讲稿)Low-Diameter Architectures.ppt
- 东北大学:《计算机图形学》课程教学资源(PPT课件讲稿,主讲:闻时光).ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第四章 串.ppt
- 《现代操作系统 Modern Operating Systems》课程教学资源(PPT课件讲稿,Third Edition)Chapter 3 内存管理 Memory Management.ppt
- 《网络编程实用教程》课程教学资源(PPT课件讲稿)第2章 套接字网络编程基础.ppt
- 《软件工程》课程教学资源(PPT课件)Lecture 6 设计概念和原则 Design Concepts and Principles.ppt
- 西安交通大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第6章 数字量输入输出接口(主讲:桂小林).ppt
- 香港中文大学:《Probability and Statistics for Engineers》课程教学资源(PPT课件讲稿)Chapter 09 Classical Staistical Inference.pptx
- 上海交通大学:《挖掘海量数据集 Mining Massive Datasets》课程教学资源(PPT讲稿)Lecture 07 链接分析 Link Analysis.ppt
- 《计算机仿真技术》课程电子教案(PPT教学课件)第一章 绪论.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第6章 IP路由.ppt
- 《计算机原理及应用》课程教学资源(PPT课件讲稿)第8章 单片机的存储器的扩展.ppt
- 《算法设计》课程教学资源(PPT课件讲稿)Lecture 6 Graph Traversal.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 3 Data Transmission.ppt
- 南京大学:Decidability、Complexity(P、NP、NPC)、Reduce(P NP NPC).pptx
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第四章 电子表格系统Excel 2003.ppt
- 西安电子科技大学:《信息系统安全》课程教学资源(PPT课件讲稿)第三章 信息安全保障体系、第四章 物理安全.ppt
- 《计算机网络》课程电子教案(PPT课件讲稿)第2章 数据通信与广域网技术.ppt
- 《计算机网络与互联网 Computer Networks and Internets》课程电子教案(PPT课件讲稿)Part IV 局域网 Local Area Networks(LANs).ppt
- 《人工智能导论》课程教学资源(PPT课件讲稿)群智能(Swarm Intelligence).ppt
- 西南交通大学:《网络性能评估与测试 Network Performance Evaluation and Testing》(PPT课件讲稿)第2讲 网络测试技术基础(主讲:张新有).ppt
- 《Photoshop CS教程》教学资源(PPT课件)第7章 编辑文字.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)语法制导的翻译(Syntax-Directed Translation).pptx
- 电子科技大学:《密码理论》课程教学资源(PPT课件讲稿)第2章 流密码.ppt
- 搜索引擎技术(PPT讲稿)Web Spam.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第1章 导论(主讲:段磊).ppt
- 赣南师范大学:《计算机网络原理》课程教学资源(PPT课件讲稿)第七章 网络层.ppt
- 《人工智能》课程电子教案(PPT课件讲稿)第9章 机器学习与知识发现.ppt
- 《数字图像处理》课程教学资源(PPT课件讲稿)第7章 图像分割.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)第五章 语法制导的翻译 5.1 语法制导的定义 5.2 S属性定义的自下而上计算.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.3 Semaphores.ppt
- 淮阴工学院:《数据库原理》课程教学资源(PPT课件讲稿)第2章 数据库系统结构.ppt
- 苏州大学:文档评分与向量空间模型(PPT讲稿).ppt
- 清华大学:Computational Models for Social Network Analysis(PPT讲稿)mining big social networks(Part III:Group and Structure).pptx
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第一章 计算机网络安全概述2/2(主讲:肖明军).ppt
- 《计算机硬件基础》课程教学资源(PPT课件讲稿)第六章 汇编语言及其程序设计.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第四章 指令系统及汇编语言程序设计(4.9-4.11).ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 控制语句.ppt
- 《机器学习》课程教学资源(PPT课件讲稿)第十三章 半监督学习.pptx
- 《数字图像处理》课程教学资源(PPT课件)第三章 灰度直方图.ppt