首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵。对m行n列的稀疏矩阵M,进行转置运算后得到n行m列的矩阵MT,如图3-1所示 为了压缩稀疏矩阵的
阅读以下说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵。对m行n列的稀疏矩阵M,进行转置运算后得到n行m列的矩阵MT,如图3-1所示 为了压缩稀疏矩阵的
admin
2010-01-15
45
问题
阅读以下说明和C函数,将应填入(n)处的字句写在对应栏内。
[说明]
若一个矩阵中的非零元素数目很少且分布没有规律,则称之为稀疏矩阵。对m行n列的稀疏矩阵M,进行转置运算后得到n行m列的矩阵MT,如图3-1所示
为了压缩稀疏矩阵的存储空间,用三元组(即元素所在的行号、列号和元素值、表示稀疏矩阵中的一个非零元素,再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表)。例如,图3-1所示的矩阵M相应的三元组顺序表如表3-1所示。其转置矩阵MT的三元组顺序表如表3-2所示。
函数TransposeMatrix(Matrix M)的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算。
对M实施转置运算时,为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置,需先计算M中每一列非零元素的数目(即MT中每一行非零元素的数目),并记录在向量num中;然后根据以下关系,计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置:
cpot[0]=0
cpot[j]=cpot[j-1]+num[j-1]) /*j为列号*/
类型ElemType,Triple和Matrix定义如下:
typedef int ElemType;
typedef struct{ /*三元组类型*/
int r,c; /*矩阵元素的行号、列号*/
ElemType e; /*矩阵元素的值*/
}Triple;
typedef struct{ /*矩阵的元组三元组顺序表存储结构*/
int rows,cols,elements; /*矩阵的行数、列数和非零元素数目*/
Triple data[MAXSIZE];
}Matrix;
[C语言函数]
int TransposeMatrix(Matrix M)
{
int j,q,t;
int *num, *cpot;
Matrix MT; /*MT是M的转置矩阵*/
num=(int*)malloc(M.cols*sizeof(int));
cpot=(int*)malloc(M.cols*sizeof(int));
if(!num ||cpot)
return ERROR;
MT.rows=(1); /*设置转置矩阵MT行数、列数和非零元素数目*/
MT.cols=(2);
MT.elements=M.elements;
if(M.elements>0){
for (q=0 ; q<M. cols ; q++)
num[q]=0;
for (t=0; t<M.elements;++t) /*计算矩阵M中每一列非零元素数目*/
num [M.data[t].c]++;
/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/
(3);
for(j=1;j<M.cols;j++)
cpot[j]=(4);
/*以下代码完成转置矩阵MT三元组顺序表元素的设置*/
for(t=0;t<M.elements;t++){
j=(5); /*取矩阵M的一个非零元素的列号存入j*/
/*q为该非零元素在转置矩阵MT三元组顺序表中的位置(下标)*/
q=cpot[j];
MT.data[q].r=M.data[t].c;
MT.data[q].c=M.data[t].r;
MT.data[q].e=M.data[t].e;
++cpot[j]; /*计算M中第j列的下一个非零元素的目的位置*/
}/*for*/
} /*if*/
free(num); free(cpot);
/*此处输出矩阵元素,代码省略*/
return OK;
}/*TransposeMatrix*/
选项
答案
(1)M.cols;(2)M.rows;(3)cpot[0]=0;(4)cpot[j-1]+num[j-1];(5)M.data[t].c
解析
转载请注明原文地址:https://kaotiyun.com/show/EBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某学校起草的对信息化教学资源的格式要求中,________________有错误。
鼠标指针的形状取决于它所在的位置以及与其他屏幕元素的相互关系。在文字处理的文本区域,指针就像(),指向当前待插入字符的位置。
为保护个人信息不被泄露,每个人都需要提高安全意识。以下各项,除(62)外,都是应该养成的安全习惯。
在Word2007中,若用户需要将一篇文章中的字符串“Internet”全部替换为字符串“因特网”,则可以在编辑菜单中选择()命令。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
下列关于计算机病毒的说法中错误的是_______。
某企业的大数据工程项目包括如下四个阶段的工作:①数据获取,②数据清洗与整理,③数据分析,④数据展现。一般来说,工作量较大、花费时间较长的阶段是______(1),技术含量最高的阶段是______(2),准备向有关部门递交成果的阶段是______(3)。
下列选项中,不能收发电子邮件的软件是______。
在WPS2016电子表格中,如果单元格A2到A50中存储了学生的成绩(成绩取值在0~100之间),若要统计小于60分学生的个数,正确的函数是___________。
随机试题
简述议会一经理制的基本特征。
下列概念中哪项是错误的
下列资料属等级资料的是
病势急剧者,不可能是虚证。()
在城市规划工作中,科学、系统的调查,其作用不是为了:
甲、乙、丙三人的月收入分别是5000元、4000元、1000元。如果保持三人月收入比值不变且使平均月收入达到5000元,则丙的月收入增加了()。
图2是A、B两个家庭的色盲遗传系谱图,A家庭的母亲是色盲患者(图中●),这两个家庭由于某种原因调换了一个孩子,请确定调换的两个孩子是()。
某原料供应商对其顾客实行如下优惠措施:①一次购买金额不超过1万元,不予优惠;②一次购买金额超过1.1万元,但不超过3万元,给九折优惠;③一次购买金额超过3万元,其中3万元九折优惠,超过3万元的部分八折优惠。某厂因库容原因,第一次在该供应商处购买原料付
PeopleofBurlingtonarebeingdisturbedbythesoundofbells.FourstudentsfromBurlingtonCollegeofHigherEducationarein
Althoughherefusedtoactonmysuggestion,hehadtoadmitthat______whatIsaid.
最新回复
(
0
)