码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构习题之多维数组和广义表

时间:2015-07-01 18:29:40      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:二维数组   数据结构   算法   存储   广义表   

第五章  多维数组和广义表

一、基本要求、重点、难点

    本章目的是介绍多维数组的逻辑结构特征及其存储方式,特殊矩阵和稀疏矩阵的压缩存储方法。本章重点是熟悉多维数组的存储方式、矩阵的压缩存储方式,难点是稀疏矩阵的压缩存储方示下实现的算法。

二、考核目标、考核要求

1.多维数组,要求达到“理解”层次

1.1多维数组的逻辑特征。

1.2多维数组的顺序存储结构及地址计算方式。

1.3数组是一种随机存取结构的原因。

2.矩阵的压缩存储,要求达到“理解”层次

2.1特殊矩阵和稀疏矩阵的概念。

2.2特殊矩阵的压缩存储时的下标变换方法。

2.3稀疏矩阵的三元组表表示方法及有关算法。

三、练习题

1.单项选择题

1.1二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围是从07,列下标j的范围从09,则存放M需要存储单元数为(  D  

A) 360               B)480                  C) 240                  D) 320

1.2 N是一个5×8的二维数组,当M按行优先方式存储时,表示该数组的第10个元素的是(  C  

A) N[2][2]         B)N[2][1]              C) N[1][1]             D)N[1][2]

1.3 二维数组M[i][j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围是从04,列下标j的范围从05M按行存储时元素M[3][5]的起始地址与M按列存储时地址地址相同的元素是(  B  

A) M[2][4]        B)M[3][4]             C) M[3][5]            D)M[4][4]

1.4 稀疏矩阵一般的压缩存储方法有两种,即(  D  

A)二维数组和三维数组               B)三元组和散列

C)散列和十字链表                      D)三元组和十字链表

1.5 常对数组进行的两种基本操作是( C

A)建立和删除                             B)索引和修改

C)查找和修改                             D)查找和索引

1.6 设矩阵A是一个对称矩阵,为了节省存储空间,将其下三角部分(见图5.1)按行序存放在一维数组SA[0..n(n+1)/2]中,对任一下三角部分元素aijij),在一维数组SA的下标位置k的值是(  B 

Aj*(j-1)/2+i-1                             Bi*(i+1)/2+j

Cj*(j+1)/2+i-1                                   Di*(i-1)/2+j

 
  技术分享


5.1

2.填空

2.1已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOCA[0][0]),则A[i][j]的地址是[LOC(A[0][0]+(n*i+i))*k ]

2.2 二维数组A[10][20]采用行序为主方式存储,每个元素点一个存储单元,且A[0][0]的存储地址是200,则A[6][12]的地址是[ 332]

2.3 有一个10阶对称矩阵A,采用压缩存储方式(以行序为主存储,且A[0][0]=1),则A[8][5]的地址是[ 42]

版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构习题之多维数组和广义表

标签:二维数组   数据结构   算法   存储   广义表   

原文地址:http://blog.csdn.net/erlian1992/article/details/46711069

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!