网络安全的级别 四川大学.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络安全的级别 四川大学

数组和广义表 作业5 单项选择题 1.广义表((a,b),(c,d))的表尾是(   )。(四川大学计算机学院2004年试题) A)(c,d) B)((c,d)) C)(d) D)d 【分析】广义表((a,b),(c,d))可看成是(d1,d2)所组成,其中d1=(a,b),d2=(c,d),所以表尾为(d2)=((c,d))。 【答案:B】 2.若广义表A满足Head(A)==Tail(A),则A为(   )。(北方名校经典试题) A)() B)(()) C)((),()) D)((),(),()) 【分析】根据广义表 Head运算和Tail运算的定义,可用代入法求解: A)Head(A) ,Tail(A):无定义 B)Head(A)=() ,Tail(A)=() C)Head(A)=() ,Tail(A)=(()) D)Head(A)=(),Tail(A)=((),()) 【答案:B】 二、综合题 1.已知稀疏矩阵如下图所示,试写出三元组表示。(南方名校经典试题) 【解答】 其中,第一行的(4,5,6)表示稀疏矩阵的行数,列数及非零元素的值,其他各行为三元组。 注:本题选做。 2.若在矩阵An×n中存在一个元素ai-1,j-1满足ai-1,j-1是第i行元素中最小值且又是第j列元素中的最大值,则称此元素为该矩阵的一个马鞍点。假设以二维数组存储矩阵An×n,试设计一个求该矩阵所有马鞍点的算法。(北方名校经典试题) 注:本题选做。 【解答】用数组S[n]存储某一行(如第i行,i=1~m)的元素值最小的元素的下标,c表示此行的元素值等于最小值的元素的个数(元素值等于最小值的元素可能不止一个),对每个元素值最小的元素再验证是否是所在列的元素值最大的元素,如是则为马鞍点,将其输出。 C++语言版测试程序见4_2_3c++,具体算当如下: template class ElemType void SaddlePoint(ElemType *A,int m,int n) // 输出矩阵A所有马鞍点 { ElemType *S=new ElemType[n+1]; //存储某一行的元素值最小元素的下标 int c; //表示此行的最小值等于最小的元素的个数 int count=0; //马鞍点的个数 int i,j,k; ElemType min; //某一行的最小元素值 for(i=1;i=m;i++) { min=*(A+(i-1)*n+(1-1)); //*(A+(i-1)*n+(1-1))等价于A(i,1) c=1;S[1]=1; //当前已得的元素值最小的元素下标与个数 for(j=2;j=n;j++) if(*(A+(i-1)*n+(j-1))min)//*(A+(i-1)*n+(j-1))等价于A(i,j) { //A(i,j)min min=*(A+(i-1)*n+(j-1)); //A(i,j)为新的最小值 c=1;S[1]=j; //当前已得的元素值最小的元素下标与个数 } else if(*(A+(i-1)*n+(j-1))==min) //*(A+(i-1)*n+(j-1))等价于A(i,j) { //A(i,j)==min c++; //元素值最小的元素值自加1 S[c]=j; } for(j=1;j=c;j++) { //对第i行的c个元素值最小的元素判断是否是马鞍点 k=1; //判断是否第S[j]列有大于A(i,S[j])的元素 while(k=m*(A+(i-1)*n+(S[j]-1))=*(A+(k-1)*n+(S[j]-1))) /* *(A+(i-1)*n+(S[j]-1))等价于A(i,S[j]) *(A+(k-1)*n+(S[j]-1))等价于A(k,S[j]) *(A+(i-1)*n+(S[j]-1))=*(A+(k-1)*n+(S[j]-1)) 等价于A(i,S[j])=A(k,S[j]) */ k++; if(km) { //表示A[i][S[j]]是第S[j]列的最大元素,它是马鞍点 count++; //马鞍点个数自加1 coutendl(i,S[j],; //*(A+(i-1)*n+(S[j]-1))等价于A(i,S[j]) cout*(A+(i-1)*n+(S[j]-1))); } }

文档评论(0)

sunshaoying + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档