- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章习题及解答
⒈假设按行优先存储整数数组A[9][3][5][8]时,第一个元素的字节地址是100,每个整数占4个字节。问下列元素的存储地址是什么?
⑴a0000 ⑵a1111 ⑶a3125 ⑷a8247
⑴a0000 的存储地址是100。
⑵a1111 的存储地址是776。
⑶a3125 的存储地址是1784。
⑷a8247 的存储地址是4416。
⒉设有三对角矩阵An×n,将其三条对角线上的元素存于数组B[3][n]中,使得元素B[u][v]=aij,试推导出从(i,j)到(u,v)的下标变换公式。
u = i
v = {j if i≤2 | j-i+2 if i2}
⒊假设一个准对角矩阵:
按以下方式存储于一维数组B[4m]中:
0 1 2 3 4 5 6 … k … 4m-1 4m a 11 a 12 a21 a22 a33 a34 a43 … aij … a2m-1,2m a2m,2m-1 a2m,2m
写出由一对下标(i,j)求k的转换公式。
略
⒋现有如下的稀疏矩阵A(如图所示),要求画出以下各种表示方法。
⑴三元组表示法。
⑵十字链表法。
略
⒌画出下列广义表的存储结构示意图。
⑴A=((a,b,c),d,(a,b,c))
⑵B=(a,(b,(c,d),e),f)
略
⒍对于二维数组A[m][n],其中m=80,n=80,先读入m,n,然后读该数组的全部元素,对如下三种情况分别编写相应算法:
⑴求数组A靠边元素之和。
⑵求从A[0][0]开始的互不相邻的各元素之和。
⑶当m=n时,分别求两条对角线的元素之和,否则打印m!=n的信息。
⒎有数组A[4][4],把1到16个整数分别按顺序放入A[0][0]...A[0][3],A[1][0]...A[1][3],A[2][0]
...A[2][3],A[3][0]...A[3][3]中,编写一个算法获取数据并求出两条对角线元素的乘积。
int mul (int A[4][4])
{
int k=1,s=1;
for (i=0; i4 ;i++)
for (j=0 ;j4 ;j++)
{
A[i][j] =k;
k++;
}
for (i=0; i4 ;i++)
{
s* = A[i][i];
s* = A[i][3-i];
}
return(s);
}
⒏n只猴子要选大王,选举办法如下:所有猴子按1,2,...,n编号围坐一圈,从第1号开始按1、2、...、m报数,凡报m号的退出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴子就是大王。n和m由键盘输入,打印出最后剩下的猴子号。编写一个算法实现。
typedef struct node{
int data;
struct node *next;
}Node ,*LkList;
void process (int n, int m)
{
L=new Node;
L-data=1;
L-next =L;
rear =L;
for (i=2 ;i=n ;i++)
{
s=new Node;
s-data=i;
s-next=rear-next;
rear-next = s;
rear = s;
}
p=L;
while (p-next != p)
{
i=1;
while (im)
{
q=p;
p=p-next;
i++;
}
q-next=p-next;
coutp-dataendl;
delete p;
p=q-next;
}
cout”the last monky is : ” p-dataendl;
}
⒐假设稀疏矩阵A和B(具有相同的大小m*n)都采用三元组表示,编写一个算法计算C=A+B,要求C也采用三元组表示。
参见教科书
⒑假设稀疏矩阵A和B(分别为m*n和n*1矩阵)采用三元组表示,编写一个算法计算C=A*B,要求C也是采用稀疏矩阵的三元组表示。
#define SMAX 1024
typedef struct{
int i;
int j;
datatype v;
}SPNode;
typedef struct{
SPNode data[SMAX]; /*0号单元未用*/
int mu;
int nu;
int tu;
}SPMatrix;
SPMatrix *Matrix_add (SPMatrix *A,SPMatrix *B)
{
SPMatrix *C;
C-mu = A-mu;
C-nu = A-nu;
C-tu = 0;
pa=1 ; pb =1 ; pc=1;
while (pa=A-tu pb=B-tu)
{
if ((
您可能关注的文档
- 第章 季节时间序列模型.ppt
- 第章 工艺系统中的夹具.ppt
- 第章 工业废渣加固土.ppt
- 第章 市场与政府之间界限的划分.ppt
- 第章 孔加工刀具.ppt
- 第章 带电界面.ppt
- 第章 并发控制.ppt
- 第章 并行接口及定时计数技术.ppt
- 第章 工业建筑设计.ppt
- 第章 并行通信及接口芯片.ppt
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
文档评论(0)