第1章 绪
1.1 有下列几种二元组表示的数据结构,试画出它们分别对应的图形表示,并指出它们分别属于何种结构。 (1) A= ( D,R ),其中,D = { a1,a2,a 3,a4 }, R={ } (2) B= ( D,R ),其中,D = { a,b,c,d,e}, R={ (a,b),(b,c),(c,d),(d,e)} (3) C= ( D,R ),其中,D = { a,b,c,d,e,f,g}, R={ (d,b),(d,g),(b,a),(b,c),(g,e),(e,f)} (4) K= ( D,R ),其中,D = { 1,2,3,4,5,6}, R={ <1,2>,<2,3>,<2,4>,<3,4>,<3,5>,<3,6>,<4,5>,<4,6>} | (1) 集合 (2) 线性表 (3) 树 (4) 图 | ||
1.2 设n为正整数,求下列各程序段中的下划线语句的执行次数。 | |||
(1) i=1; k=0 while(i<=n-1) { k+=10*i ; i++; } | (2) for (int i=1; i<=n; i++) for (int j=1; j<=n; j++) { c[i][j]=0; for (int k=1; k<=n; k++) c[i][j]=c[i][j]+a[i][k]*b[k][j] } | 解: (1) n-1 (2) | |
(3) x=0; y=0; for (int i=1; i<=n; i++) for (int j=1; j<=i; j++) for (int k=1; k<=j; k++) x=x+y; | (3) | ||
1.3 指出下列个算法的功能,并求其时间复杂度。 | |||
(1) int sum1(int n) { int p=1,s=0; for (int i=1;i<=n; i++) { p*= i; s+=p;} return s; } | (2) int sum2 (int n) { int s=0; for ( int i=1; i<=n; i++) { int p=1; for (int j=1; j<=i; j++) p*=j; s+=p; } return s; } | 解: (1) , T(n)=O(n) (2) , T(n)=O(n2) | |
1.4 算法设计 有3枚硬币,其中有1枚是假的,与真币重量略有不同。如何借用一架天平,出?以流程图表示算法。 | |||
上机练习题 要求:给出问题分析、算法描述、源程序及运行截图,在线提交。 数据结构与算法题库 | |||
1. 设 a, b, c为3个整数,求其中位于中间值的整数。 | |||
第2章 线性表
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论