1、确定划线语句的执行次数,计算它们的渐近时间复杂度(注意本题有两个问题)。 i=1; k=0; do { k=k 10*i; i ; } while(i<=n)
2、确定划线语句的执行次数,计算它们的渐近时间复杂度(注意本题有两个问题)。 i=1; x=0; do { x ; i=3*i; } while( i 3、确定划线语句的执行次数,计算它们的渐近时间复杂度(注意本题有两个问题)。 i=1; x=0; for(i=0;i 4、确定划线语句的执行次数,计算它们的渐近时间复杂度(注意本题有两个问题)。 y=0; while(n>=y*y) y ;
1、以行优先存储对称矩阵的下三角元素,对称矩阵结构体定义如下: typedef int elemtype; typedef struct smatrix{ elemtype *elements; int m; //阶数 }smatrix 请完成以下算法填空题: (1)查找运算 elemtype find(smatrix *dm, int i, int j) //查找[i][j] elemtype find(smatrix *dm, int i, int j) //m行m列 { int temp, k; if (i<0 || i>=_________ || j<0 || j>=___________) return error; if(ielements[k]; } (2)赋值运算void setvalue(smatrix *dm, int i, int j, elemtype x) void setvalue(smatrix *dm, int i, int j, elemtype x) //设置[i][j]=x { int temp, k; if(ielements[_________] = ___________; }
2、稀疏矩阵以行三元组表方式存储,请完成下列程序实现稀疏矩阵元素的查找运算,并给出算法时间复杂度分析。 提示:实现该方法所需结构体定义如下 typedef int elemtype; typedef struct term{ int col, row; /*非零元素在稀疏矩阵中的列下标 col 和行下标 row*/ elemtype value; /*非零元素的值*/ }term; typedef struct sparsematrix{ int m, n, t; /*m 是矩阵行数, n 是矩阵列数, t 是实际非零元素个数*/ term table[maxsize]; /*存储非零元素的三元组表*/ }sparsematrix; elemtype find(sparsematrix *m, int i, int j) { if(i>=m||j>=n) return null; for(k = 0; k<__________; k ){ if(m->table[k].row==_________ && m->table[k].col==j) return m->table[k].value; } return zero; //zero为预定义的零元值 }