2004年上海海事大学数据结构考研试题

合集下载

(NEW)上海海事大学《828数据结构及程序设计》历年考研真题汇编

(NEW)上海海事大学《828数据结构及程序设计》历年考研真题汇编
目 录
2013年上海海事大学828数据结构及程序设计考研真题 2014年上海海事大学828数据结构及程序设计考研真题 2015年上海海事大学828数据结构及程序设计考研真题 2016年上海海事大学828数据结构及程序设计考研真题 2017年上海海事大学828数据结构及程序设计考研真题 2018年上海海事大学828数据结构及程序设计考研真题
2018年上海海事大学828数据结构 及程序设计考研真题
2013年上海海事大学828数据结构 及程序设计考研真题
2014年上海海事大学828数据结构 及程序设计考研真题
2015年28数据结构 及程序设计考研真题
2017年上海海事大学828数据结构 及程序设计考研真题

上海海事大学c语言练习题[1] 2

上海海事大学c语言练习题[1] 2

C语言表达式!(3<6)||(4<9)的值是【1】.答案: 1). 1 逻辑“或”第6题(1.0分)假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是【1】.答案: 1). 6 如果x>y则++x,否则++y第7题(1.0分)执行下列语句后,b 的十进制值是【1】.int x=240,y=15,b;char z='A';b=(( x && y ) && ( z < 'a' ));答案: 1). 1 &&逻辑判断,十进制x,y都存在则为1,A为字符,ASCII码小于a第11题(1.0分)以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar();while(ch ____ 'Y')/*在括号中填写*/ch=getchar();答案: 1). ==第13题(1.0分)C语言中,数组元素的下标下限为【1】.答案: 1). 0第14题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案: 1). void第15题(1.0分)C语言源程序的基本单位是【1】.答案: 1). 函数第3题(1.0分)语句 printf("%f%%",1.0/3);输出为 0.333333. 答案:N第4题(1.0分)语句scanf("%7.2f",&a);是一个合法的scanf函数. 答案:N第5题(1.0分)在switch-case语句中,必须使用default语句.答案:N第6题(1.0分)关系运算符(大于、小于)的优先级高于(低于加减乘除)算术运算符并且低于(高于)赋值运算符.答案:N第13题(1.0分)通过return语句,函数可以带回一个或一个以上的返回值.答案:N 只能1个第15题(1.0分)C程序中有调用关系的所有函数必须放在同一个源程序文件中.答案:N第2题(2.0分)用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是().long a=0xffffff;int b; char c;A:0ffffff 和0x61 B:-1和98 C:-1和97 D:指向同一地址答案:C 0x表示16进制第3题(2.0分)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是(). A:字符A B:字符a C:字符e D:非法的常量答案:A若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().A:scanf("%6.2f%d",&a,&b); B:scanf("%f%n",&a,&b); C:scanf("%f%3o",&a,&b);D:scanf("%f%f",&a,&b);答案:C第8题(2.0分)下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是().A:8 B:23 C:17 D:6 答案:B第11题(2.0分)下面有关 for 循环的正确描述是().A:for 循环只能用于循环次数已经确定的情况 B:for 循环是先执行循环循环体语句,后判断表达式C:在 for 循环中,不能用 break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第13题(2.0分)以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无 B:###### C:# D:### 答案:B第15题(2.0分)在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为().A:0 B:1 C:True D:非0 答案:A第16题(2.0分)以下对一维整型数组a的正确说明是().A:int a(10); B:int n=10,a[n]; C:int n; scanf("%d",&n); int a[n];D:#define SIZE 10 (换行) int a[SIZE]; 答案:D第17题(2.0分)在C语言中,引用数组元素时,其数组下标的数据类型允许是().A:整型常量 B:整型表达式 C:整型常量或整型表达式 D:任何类型的表达式答案:C第1题(1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组中下标最大的元素的值是【1】. 答案:3第3题(1.0分)c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构. 答案:循环第4题(1.0分)预处理命令行都必须以【1】号开始. 答案:#第7题(1.0分)执行下列语句后,*(p+1)的值是【1】.char s[3]="ab",*p; p=s; 答案:b第8题(1.0分)若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*"); 答案:0第12题(1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】. 答案:0将数组a的首地址赋给指针变量p的语句是【1】. 答案:p=a;第4题(1.0分)若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第7题(1.0分)int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第9题(1.0分)int i,*p=&i;是正确的C说明语句.答案:Y第10题(1.0分)语句"int *pi,pj"定义了两个指针变量答案:N第13题(1.0分)在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第15题(1.0分)若i =3,则printf("%d",-i++);输出的值为 -4.答案:N第2题(2.0分)下列定义不正确的是().A:#define PI 3.141592 B:#define S345 C:int max(x,y); int x,y; { } D:static char c; 答案:C第3题(2.0分)以下程序段的输出结果为().char c[]="abc";int i=0;do while(c[i++]!='\0');printf("%d",i-1);A:abc B:ab C:2 D:3 答案:D第10题(2.0分)若有char a[80],*s=a;正确的输入语句是().(s输入字符串)A:scanf("%s",s); B:gets(*s); C:scanf("%c",s); D:getchar(s,80); 答案:A第11题(2.0分)以下函数调用语句中实参的个数是().func((e1,e2),(e3,e4,e5));A:2 B:3 C:5 D:语法错误答案:A第13题(2.0分)int a[10];给数组a的所有元素分别赋值为1、2、3、……的语句是().A:for(i=1;i<11;i++)a[i]=i; B:for(i=1;i<11;i++)a[i-1]=i;C:for(i=1;i<11;i++)a[i+1]=i; D:for(i=1;i<11;i++)a[0]=1; 答案:B第17题(2.0分)若有说明:int a[][3]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是().A:2 B:3 C:4 D:无确定值答案:B第1题(1.0分)设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b++)-(++c);后,a的值是【1】.答案:28第6题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:字符第7题(1.0分)题号:98已知a=13,b=6, !a的十进制数值为【1】.答案:0第13题(1.0分)题号:340C语言中,二维数组在内存中的存放方式为按【1】优先存放.答案:行第14题(1.0分)题号:331C程序在执行过程中,不检查数组下标是否【1】.答案:越界第7题(1.0分)题号:930关于if语句中,条件表达式只能是关系表达式或逻辑表达式答案:N第15题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成 int a[10]={0*10};答案:N第1题(2.0分)题号:2219设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为().A:float B:char C:int D:double 答案:D第8题(2.0分)题号:2046以下程序的输出结果是().main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}A:i=2,j=1,k=3 B:i=1,j=1,k=2 C:i=4,j=2,k=4 D:i=1,j=1,k=3 答案:D第9题(2.0分)题号:2210若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是().A:(exp==0) B:(exp!=0) C:(exp==1) D:(exp!=1) 答案:B第10题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14 B:4 C:15 D:3 答案:B第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节 B:5个字节 C:6个字节 D:7个字节答案:C第19题(2.0分)题号:2282以下能对二维数组a进行正确初始化的语句是().A:int a[2][]={{1,0,1},{5,2,3}}; B:int a[][3]={{1,2,3},{4,5,6}};C:int a[2][4]={{1,2,3},{4,5},{6}}; D:int a[][3]={{1,0,1}{},{1,1}}; 答案:B第20题(2.0分)题号:2152若char a[10];已正确定义,以下语句中不能从键盘上给a数组的所有元素输入值的语句是().A:gets(a); B:scanf("%s",a); C:for(i=0;i<10;i++)a[i]=getchar(); D:a=getchar();答案:D第1题(1.0分)题号:92C语言中的字符变量用保留字【1】来说明. 答案:char第3题(1.0分)题号:388设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】. 答案:1.0or1第4题(1.0分)题号:293getchar()函数只能接收一个【1】. 答案:字符第9题(1.0分)题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】. 答案:1第14题(1.0分)题号:346合并字符串的库函数是【1】,只写函数名即可. 答案:strcat第15题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个. 答案:6第2题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double 答案:Y第1题(2.0分)题号:2004下列字符序列中,不可用作C语言标识符的是().A:b70 B:#ab C:symbol D:a_1 答案:B第2题(2.0分)题号:2137下列表达式中,可作为C合法表达式的是().A:[3,2,1,0] B:(3,2,1,0) C:3=2=1=0 D:3/2/1/0 答案:B第3题(2.0分)题号:2037若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6f B:16 70 C:15 71 D:16 6f 答案:D第4题(2.0分)题号:2043已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为().char a='a'; a--; printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A:b,c B:a--运算不合法,故有语法错 C:98,c D:格式描述和输出项不匹配,输出无定值答案:C 第6题(2.0分)题号:2222语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bou B:a\bre\'hi\'y\bou C:re'hi'you D:abre'hi'y\bou 答案:C第8题(2.0分)题号:2145int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为().A:3 B:2 C:1 D:0 答案:C第16题(2.0分)题号:2147while(fabs(t)<1e-5)if(!(s/10))break;循环结束的条件是().A:t>=1e-5||t<=-1e-5||s>-10&&s<10 B:fabs(t)<1e-5&&!s/10 C:fabs(t)<1e-5 D:s/10==0 答案:A第18题(2.0分)题号:2280若有说明 int a[3][4];则对a数组元素的正确引用是().A:a[2][4] B:a[1,3] C:a[1+1][0] D:a(2)(1) 答案:C第19题(2.0分)题号:2269以下不正确的定义语句是().A:double x[5]={2.0,4.0,6.0,8.0,10.0}; B:int y[5]={0,1,3,5,7,9};C:char c1[]={'1','2','3','4','5'}; D:char c2[]={'\x10','\xa','\x8'}; 答案:B第20题(2.0分)题号:2074下列语句中,不正确的是().A:static char a[2]={1,2}; B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'}; D:static char a[2]={'1'}; 答案:C第5题(1.0分)题号:431执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案:97 b答案:D第6题(2.0分)题号:2189从键盘上输入某字符串时,不可使用的函数是().A:getchar() B:gets() C:scanf() D:fread() 答案:A第9题(2.0分)题号:2122下列程序的输出结果是().main(){ int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B第10题(2.0分)题号:2050C 语言中以下几种运算符的优先次序()的排列是正确的.B:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符第11题(2.0分)题号:2263以下不正确的if语句形式是().A:if(x>y&&x!=y); B:if(x==y) x+=y;C:if(x!=y) scanf("%d",&x) else scanf("%d",&y); D:if(x<y) {x++;y++;} 答案:C第14题(2.0分)题号:2058以下程序的运行结果是().main(){int i=1,sum=0;while(i<10) sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A:i=10,sum=9 B:i=9,sum=9 C:i=2,sum=1 D:运行出现错误答案:D第15题(2.0分)题号:2068设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j++,k++) printf("****\n");().A:循环结束的条件不合法 B:是无限循环 C:循环体一次也不执行 D:循环体只执行一次答案:B第17题(2.0分)题号:2278以下能对一维数组a进行正确初始化的语句是().A:int a[10]=(0,0,0,0,0) B:int a[10]={}; C:int a[]={0}; D:int a[10]={10*1}; 答案:C第19题(2.0分)题号:2256printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式().A:从左起输出该字符串,右补空格 B:按原字符长从左向右全部输出C:右对齐输出该字串,左补空格 D:输出错误信息答案:B第1题(1.0分)题号:497设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是【1】. 答案:0第2题(1.0分)题号:81已知 i=5,写出语句 i-=0x12; 执行后整型变量 i 的值是【1】. 答案:-13第13题(1.0分)题号:344复制字符串的库函数是【1】,只写函数名即可答案:strcpy第14题(1.0分)题号:345字符串比较的库函数是【1】,只写函数名即可答案:strcmp第8题(1.0分)题号:959在switch-case语句中,不是每个case后都要使用break语句. 答案:Y第13题(1.0分)题号:710函数strlen("ASDFG\n")的值是7. 答案:N第1题(2.0分)题号:2017C语言中,double类型数据占().A:1个字节 B:2个字节 C:4个字节 D:8个字节答案:D第3题(2.0分)题号:1997以下标识符中,不能作为合法的C用户定义标识符的是().A:a3_b3 B:void C:_123 D:IF 答案:B第5题(2.0分)题号:2038以下程序段的执行结果是(). double x;x=218.82631; printf("%-6.2f\n",x);A:输出格式描述符的域宽不够,不能输出 B:输出为21.38e+01 C:输出为218.83 D:输出为218.82631 答案:C第7题(2.0分)题号:2262判断char型变量cl是否为小写字母的正确表达式是().A:a'<=cl<='z' B:(cl>=a)&&(cl<=z) C:('a'>=cl)||('z'<=cl) D:(cl>='a')&&(cl<='z') 答案:D第8题(2.0分)题号:2261若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是().A:A%2==1 B:!(A%2==0) C:!(A%2) D:A%2 答案:C第13题(2.0分)题号:2247语句while(!E);中的表达式!E等价于().A:E==0 B:E!=1 C:E!=0 D:E==1 答案:A第14题(2.0分)题号:2252执行语句 for(i=1;i++<4;); 后变量 i 的值是().A:3 B:4 C:5 D:不定答案:C第18题(2.0分)题号:2149char a[10];不能将字符串"abc"存储在数组中的是().A:strcpy(a,"abc"); B:a[0]=0;strcat(a,"abc"); C:a="abc";D:int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; 答案:C第19题(2.0分)题号:2271若二维数组a有m列,则在a[i][j]前的元素个数为().A:j*m+i B:i*m+j C:i*m+j-1 D:i*m+j+1 答案:B第9题(1.0分)题号:303为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对答案:if第6题(1.0分)题号:947printf函数中,%c和%s都可以输出字符串. 答案:N第13题(1.0分)题号:931C语言编译系统为所定义的数组变量在内存中是分配一片连续的存储单元答案:Y第14题(1.0分)题号:909数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数. 答案:N第1题(2.0分)题号:2236下面四个选项中,均是不合法的浮点数的选项是().A:160. 0.12 e3 B:123 2e4.2 .e5 C:-.18 123e4 0.0 D:-e3 .234 1e3 答案:B 第2题(2.0分)题号:2241已定义ch为字符型变量,以下赋值语句中错误的是().A:ch='\'; B:ch=62+3; C:ch=NULL; D:ch='\xaa'; 答案:A第3题(2.0分)题号:2223若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是().A:1 B:2 C:2.0 D:2.5 答案:C第8题(2.0分)题号:2002在C语言中,能代表逻辑值"真"的是().A:True B:大于0的数 C:非0整数 D:非0的数答案:D第15题(2.0分)题号:2258以下描述中正确的是().A:由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B:do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号C:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作D:do-while 循环中,根据情况可以省略 while 答案:C第18题(2.0分)题号:2268对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是().A:将5个初值依次赋给a[1]至a[5] B:将5个初值依次赋给a[0]至a[4]C:将5个初值依次赋给a[6]至a[10] D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B第19题(2.0分)题号:2292以下不能正确进行字符串赋初值的语句是().A:char str[5]="good!"; B:char str[]="good!";C:char *str="good!"; D:char str[5]={'g','o','o','d'}; 答案:A第3题(1.0分)题号:960"A"是一个字符常量.( 单引号) 答案:N第2题(2.0分)题号:128下列字符序列中,可用作C标识符的一组字符序列是().A:S.b,sum,average,_above B:class,day,lotus_1,2dayC:#md,&12x,month,student_n! D:D56,r_1_2,name,_st_1 答案:D第3题(2.0分)题号:2221以下选项中合法的实型常数是().A:5E2.0 B:E-3 C:.2E0 D:1.3E 答案:D第5题(2.0分)题号:1998以下数据中,不正确的数值或字符常量是().A:0 B:5L C:o13 D:9861 (八进制0) 答案:C第17题(2.0分)题号:2066下列程序的输出为().main(){ int y=10;while(y--);判断真假printf("y=%d\n",y);}A:y=0 B:while构成无限循环 C:y=1 D:y=-1 答案:D第5题(1.0分)题号:440设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】.(先!(a+b)) 答案:1第3题(1.0分)题号:937在C程序中,每行中只能写一条语句答案:N第1题(2.0分)题号:2231下面四个选项中,均是不合法的用户标识符的选项是().A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp int 答案:C第12题(2.0分)题号:2067C语言的if语句嵌套时,if与else的配对关系是().A:每个else总是与它上面的最近的if配对 B:每个else总是与最外层的if配对C:每个else与if的配对是任意的 D:每个else总是与它上面的if配对答案:A第13题(2.0分)题号:2146求平方根函数的函数名为().A:cos B:abs C:pow D:sqrt 答案:D第4题(1.0分)题号:87输入整型变量a的值.int a; scanf("%d",【1】); 答案:&a第5题(2.0分)题号:2226设有 int x=11; 则表达式 (x++ * 1/3) 的值是().A:3 B:4 C:11 D:12 答案:A第1题(1.0分)若有定义:char c='\010'; 则变量C中包含的字符个数为【1】. 答案:1第14题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:void第15题(1.0分)函数调用语句func((e1,e2),(e3,e4,e5))中含有【1】个实参. 答案: 2第10题(1.0分)若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21. 答案:Y第11题(1.0分)数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数. 答案:N第15题(2.0分)C语言中 while 和 do-while 循环的主要区别是().A:do-while 的循环体至少无条件执行一次 B:while的循环控制条件比 do-while的循环控制条件更严格C:do-while 允许从外部转到循环体内 D:do-while 的循环体不能是复合语句答案:A第16题(2.0分)char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是().A:strcat(a2,a1); B:strcpy(a2,a1); C:strcat(a1,a2); D:strcpy(a1,a2); 答案:A。

2004级数据结构试题答案

2004级数据结构试题答案

东北林业大学 2005-2006学年第二学期考试试题 学院:信息学院 教研室(学科)主任:第3 页共 3 页 考试科目: 数据结构(A )考试时间:120分钟 试卷总分 100分 题号 一 二 三 四 五 总分 得分 评卷 教师 一、单项选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题1.5分,总计15分) 1、从逻辑上可以把数据结构分为( )两大类。

A .动态结构、静态结构 B .顺序结构、链式结构 C .线性结构、非线性结构 D .初等结构、构造型结构 答案( ) 2、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。

A .顺序表 B .双链表 C .带头结点的双循环链表 D .单循环链表 答案( ) 3、循环队列A[0..m-1]存放其元素值,用front 和rear 分别表示队头和队尾,则当前队列中的元素数是( )。

A.(rear-front+m)%m B. rear-front+1 C. rear-front-1 D. rear-front 答案( ) 4、串的长度是指( )。

A .串中所含不同字母的个数 B .串中所含字符的个数 C .串中所含不同字符的个数 D .串中所含非空格字符的个数 答案( ) 5、设广义表L=((a,b,c )),则L 的长度和深度分别为( )。

A. 1和1 B. 1和3 C. 1和2 D. 2和3 答案( ) 6、二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK ;中序遍历: HFIEJKG 。

该二叉树根的右子树的根是:( )A. EB. FC. GD. H答案( )7、深度为h 的满m 叉树的第k 层有( )个结点。

(1=<k=<h)A .m k-1B .m k -1C .m h-1D .m h -1答案( )8、关键路径是事件结点网络中( )。

上海海事大学 数据结构试题 2009年期末

上海海事大学 数据结构试题 2009年期末

上海海事大学试卷2008—2009(2) 数据结构期终考试 A(试卷编号: 984571) 总计 100 分专业班级学号姓名得分(重要提示:答案必须做在答题纸上,做在试题上不给分)一、单项选择题(本大题共20小题,每小题1分,共20分)1 如果一个栈的进栈序列是ABCD(即,A 先进栈,然后B、C和D依次进栈),允许在进栈过程中可以退栈,且规定每个元素进栈和退栈各一次,那么不可能得到的退栈序列是()A. DCBAB. ACBDC. DBACD. CDBA2. 先序为a,b,c, 且后序为c,b,a, 的二叉树共有()棵。

A. 1B. 2C. 3D. 43. 串的长度是()A. 串中不同字符的个数B. 串中不同字母的个数C. 串中所含字符个数D. 串中所含字符个数且字符个数须大于零4. 设有长度为12的有序表:Apr, Aug, Dec, Feb, Jan, Jul, Jun, Mar, May, Nov, Oct, Sep,按二分查找法查找表内元素Feb所需的查找次数为()A. 3B. 4C. 5D. 65.设T是一棵二叉树,T中有n 个叶子结点,且非叶子结点都是具有两个孩子的结点,那么T中共有()个结点。

A. 2n-1B. 2nC. 2n+1D. 2(n+1)6. 对于具有n个结点的顺序存储的线性表,如果采用冒泡排序法进行排序,那么所需要最少的结点比较次数是()A. n-2B. n-1C. nD. n+17. 在包括有n 个键值的二叉排序树中查找一个键值,在随机的情况下,其平均需要比较次数的数量级为()A. O(n)B. O(log2n)C. O(n log2n)D. O(n2)8. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址()A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以9. 数据结构被形式的定义为(K,R),其中K是()的有限集合,R是K上的关系有限集合。

上海海事大学2018年《828数据结构及程序设计》考研专业课真题试卷

上海海事大学2018年《828数据结构及程序设计》考研专业课真题试卷

2018年上海海事大学攻读硕士学位研究生入学考试
试题
(重要提示:答案必须做在答题纸上,做在试题上不给分)考试科目代码828 考试科目名称数据结构及程序设计一.判断题(本题10分,每小题1分)
1.线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

2.单链表从任何一个结点出发,都能访问到所有结点。

3.单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个结点。

4.若在采用链式存储结构线性表中,元素按值有序,则该线性表可以采用折半查找法查找元素。

5.一个栈的输入序列为1, 2, 3, …, n,其输出序列的第二个元素为n的输出序列的个数有n-1种。

6.设串S的长度为n,则S的子串个数为n(n+1)/2。

7.若一个广义表的表头为空表,则此广义表亦为空表。

8.二叉树中除叶节点外,任一节点x,其左子树根节点的值小于该节点(x)的值,其右子树根节点的值大于该节点(x)的值,则此二叉树一定是二叉排序树。

9.网络的最小代价生成树是唯一的。

10.(99, 86, 46, 70, 34, 39, 45, 58, 66, 10 )是堆。

二.填空题(本题20分,每空2分)
1.一个栈的输入序列是:1、2、3,则不可能的栈输出序列是⑴。

- 2018试题1/6 -。

2022年上海海事大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年上海海事大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年上海海事大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A.快速排序B.堆排序C.归并排序D.直接插入排序2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、链表不具有的特点是()。

A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。

A.(rear+1)MOD n=frontB.rear=frontC.rear+1=frontD.(rear-1)MOD n=front5、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front6、已知字符串S为“abaabaabacacaabaabcc”,模式串t为“abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s!=t)时,i=j=5,则下次开始匹配时,i和j的值分别()。

A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=27、下列叙述中,不符合m阶B树定义要求的是()。

A.根结点最多有m棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接8、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。

A.其中任意一个结点均无左孩子B.其中任意一个结点均无右孩子C.其中只有一个叶结点D.其中度为2的结点最多为一个9、设X是树T中的一个非根结点,B是T所对应的二叉树。

上海海事大学《数据库系统概论》复习试题及答案

上海海事大学《数据库系统概论》复习试题及答案

件系统 ②数据库系统
2. 数据库是长期存储在计算机内、有 组织的、可共享的数据集合。 答案:①组织 ②共享
3.DBMS 是指 它是位于 用户 和 ③ 之间的一层管理软件。 答案:①数据库管理系统 ②用户
③操作系统
4. 数据库管理系统的主要功能有数据定义功能 、数据操纵功能 、数据库的运行管理和数据库的建立以及维

A.记录长度
B.文件的大小 C.联系的复杂程度 D.数据之间的联系 答案:D
23.传统的数据模型分类,数据库系统可以分为三种类型

A.大型、中型和小型 B.西文、中文和兼容 C.层次、网状和关系 D.数据、图形和多媒体 答
案:C
24. 层次模型不能直接表示

A. 1 :1 关系
B.1 :m 关系
答案:C
5.关系模式的任何属性

A.不可再分
B.可再分 C.命名在该关系模式中可以不惟一 D.以上都不是 答
案:A
6.在关系代数运算中,五种基本运算为

A.并、差、选择、投影、自然连接 B.并、差、交、选择、投影
C.并、差、选择、投影、乘积 D.并、差、交、选择、乘积
答案:C
7、设有关系 R,按条件 f 对关系 R 进行选择,正确的是
C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户相互覆盖地使用数据集合
答案:D
8.数据库系统的核心是

A.数据库
B.数据库管理系统
C.数据模型
D.软件工具
答案:B
9. 下述关于数据库系统的正确叙述是

A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据

上海海事大学数据库应用及A卷期末1

上海海事大学数据库应用及A卷期末1

上海海事大学应用及试卷20008-20009学年第应用及一学期《数据库原理及应用》期末试卷A(试卷编号:637218)总计 100 分sdfasf(请将答案写在答题纸上,否则无效;试卷不许带出考场,试卷上写明专业、班级、学号、姓名)一选择题(24分,每题2分)1. 事务是数据库运行的基本工作单位。

如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好象整个事务从未有过这些更新,这样保持了数据处于()状态。

A.安全性B.一致性C.隔离性D.可靠性2. 下述不属于视图优点的是()。

A. 视图能够简化用户的操作B. 视图使用户能以多种角度看待同一数据C. 视图对重构数据库提供了一定程度的物理独立性D. 视图能够对机密数据提供安全保护3. 保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。

这是指数据的()。

A. 安全性B. 完整性C. 并发控制D. 恢复4. 五种基本关系代数运算是()。

A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ5. 后备副本的用途是()。

A.安全性保障B.一致性保障C.故障后的恢复D.完整性保障6. 数据库的概念模型独立于()。

A. 具体的机器和DBMSB. E—R图C. 信息世界D. 现实世界7. 关系模型中,一个关键字是()。

A.可由多个任意属性组成B.至多由一个属性组成C .可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成D .以上都不是8. 有两个关系R 和S ,分别包含15个和10个元组,则在R ∪S ,R-S ,R∩S 中不可能出现的元组数目情况是( )。

A . 15,5,10 B . 18,7,7C . 21,11,4D . 25,15,09. 若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况属于( )。

上海海事大学数据结构及程序设计2014年—2018年考研真题考研试题

上海海事大学数据结构及程序设计2014年—2018年考研真题考研试题

11. 如下图(图 1)所示是一个索引顺序表,如果第一阶段采用顺序查找,则查找元素 42 要进行( ) 元素间的比较。
A. 7 次
B. 6 次
图1
C. 8 次
Hale Waihona Puke D. 9 次12. 循环队列存储在数组 A[0..m]中,则入队时的操作为 ( )。
A. rear=rear+1
B. rear=(rear+1) mod (m-1)
5. 对于一个有向图,若一个顶点的入度为 k1、出度为 k2,则对应逆邻接表中该顶点单链表中的结点数
为 ( )。
A.k2
B.k1
C.k1-k2
D.kl+k2
6. 设栈 S 和队列 Q 的初始状态为空,元素 e1,e2,e3,e4,e5 和 e6 依次通过栈 S,一个元素 出栈后即进队列 Q,若 6 个元素出队的序列是 e2,e4,e3,e6,e5,e1 则栈 S 的容量最少应该是
14. 设有带权分别为 9,2,5,7 的四个叶子所组成的哈夫曼树,那么其带权路径长度是( )。
A. 44
B. 37
C. 23
D. 46
15. 串的长度是( )。 A. 串中不同字符的个数 C. 串中所含字符的个数且字符个数大于 0
B. 串中不同字母的个数 D. 串中所含字符的个数
三、 简答及运算题(共 5 题,每题 10 分,共 50 分)
三.选择题(本题 30 分,每空 2 分)
1.若 int a=1, b=2, c=3, d=4, m=2, n=2; 执行(m=a>b)&&(n=c>d)后 n 的值为(
)。
A.1
B.2
C.0

2004年工程硕士考试试题及答案

2004年工程硕士考试试题及答案

2004年工程硕士考试试题及答案—数据结构注:1、除第九题外,其他各题每题10分,第九题20分。

2、所有试题的答案写在答题纸上。

一、判断下列叙述的对错。

(1) 线性表的逻辑顺序与物理顺序总是一致的。

(2) 线性表的顺序存储表示优于链式存储表示。

(3) 线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

(4) 二维数组是其数组元素为线性表的线性表。

(5) 每种数据结构都应具备三种基本运算:插入、删除和搜索。

二、设单链表中结点的结构为typedef struct node { //链表结点定义ElemType data; //数据struct node * Link; //结点后继指针} ListNode;(1) 已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作?A. s->link = p; p->link = s;B. s->link = p->link; p->link = s;C. s->link = p->link; p = s;D. p->link = s; s->link = p;(2) 非空的循环单链表first的尾结点(由p所指向)满足:A. p->link == NULL;B. p == NULL;C. p->link == first;D. p == first;三、设有一个顺序栈S,元素s1, s2, s3, s4, s5, s6依次进栈,如果6个元素的出栈顺序为s2, s3, s4, s6, s5, s1,则顺序栈的容量至少应为多少?四、一棵具有n个结点的理想平衡二叉树(即除离根最远的最底层外其他各层都是满的,最底层有若干结点)有多少层?若设根结点在第0层,则树的高度h如何用n来表示(注意n可能为0)?五、从供选择的答案中选择与下面有关图的叙述中各括号相匹配的词句,将其编号填入相应的括号内。

上海海事大学运筹学2004-2018年考研初试真题

上海海事大学运筹学2004-2018年考研初试真题

1 2018年上海海事大学攻读硕士学位研究生入学考试试题 (重要提示:答案必须做在答题纸上,做在试题上不给分。

需使用计算器。


考试科目代码 809 考试科目名称 运筹学
一、简答题(50分)
1 简述线性规划模型中各系数的经济意义。

(10分)
2 简述多阶段决策问题的含义。

(10分)
3 简述风险型决策具备的基本条件。

(10分)
4 简述排队论问题的基本特征。

(10分)
5 简述动态规划的最优化原理。

(10分)
二、(本题12分) 某农场主拥有和经营一块面积达300英亩的农场,在此农场将种植小麦、玉米、燕麦和大豆四种农作物。

这四种农作物的单位产量、生
(注:蒲式耳为农作物的一种计量单位; 英亩--英尺为水的一种计量单位)
该农场主希望至少生产30000蒲式耳的小麦和30000蒲式耳的玉米,但燕麦的产量不超过25000蒲式耳. Bill 拥有资金25000美元,用于农作物生产, 计划每天生产时间为12小时,共有150个工作日.生产所需用水的供应量最多为1200英亩—英尺。

建立该问题线性规划模型, 确定各谷物的种植面积使利润(销售收益-生产成本)最大。

三、(本题16分)利用图解法求解如下线性规划问题:
Min 213x x z -=
s.t. 4221≤-x x
321≥+x x
52≤x
41≤x
0,21≥x x。

[考研类试卷]计算机专业基础综合数据结构(集合)历年真题试卷汇编5.doc

[考研类试卷]计算机专业基础综合数据结构(集合)历年真题试卷汇编5.doc

[考研类试卷]计算机专业基础综合数据结构(集合)历年真题试卷汇编5.doc[考研类试卷]计算机专业基础综合数据结构(集合)历年真题试卷汇编5一、填空题1 对于具有144个记录的文件,若采用分块查找法,且每块长度为8,则平均查找长度为__________。

【北方交通大学2001二、8】2 有一个2000项的表,欲采用等分区间顺序查找方法进行查找,则每块的理想长度是 (1),分成 (2) 块最为理想,平均查找长度是 (3) 。

【中国矿业大学2000一、6(3分)】3 分块检索中,若索引表和各块内均用顺序查找,则有900个元素的线性表分成__________块最好;若分成25块,其平均查找长度为__________。

【北京工业大学1999一、5(2分)】4 执行顺序查找时,储存方式可以是(1),二分法查找时,要求线性表(2),分块查找时要求线性表(3),而散列表的查找,要求线性表的存储方式是(4)。

【山东大学1998一、1(3分)】5 查找是非数值程序设计的一个重要技术问题,基本上分成(1)查找,(2)查找和(3)查找。

处理哈希冲突的方法有(4)、(5)、(6)和(7)。

【华北计算机系统工程研究所1999一(5分)】6 如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为__________。

【山东大学1999二、1(4分)】7 在含有n个结点的二叉排序树中查找一个关键字,进行关键字比较次数的最大值是__________。

【北京交通大学2004一、15(2分)】8 在二叉排序树上成功地找到一个结点,在平均情况下的时间复杂性是:__________,在最坏情况下的时间复杂性是__________。

【上海交通大学2004五、1(15/4分)】9 AVL树__________是完全二叉树;完全二叉树__________是AVL 树。

【电子科技大学2005二、5(1分)】10 一棵深度为k的平衡二叉树,其每个非终端结点的平衡因子均为0,则该树共有__________个结点。

[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编2.doc

[考研类试卷]计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编2.doc
(A)
(B)
(C)
(D)
二、综合题
31一棵二叉树以二叉链表来表示,求其指定的某一层k(k>1)上的叶予结点的个数。【上海大学1999年】
32设一棵二叉树中各结点的值互不相同,其前序序列和中序序列分别存于两个一维数组pre[L.n]和mid[L,n]中,试遍写算法建立该二叉树的二叉链表。【南京航空航天大学1999】
(A)n/2
(B)n
(C)[log2(n+1)]
(D)[log2(n+1)]
19从空树开始,依次插入元素52、26、14、32、71、60、93、58、24和41后构成了一棵二叉排序树。在该树查找60要进行比较次数为____。【广东工业大学2003年】
(A)3
(B)4
(C)5
(D)6
20含有20个结点的平衡二叉树的最大深度为____。【北京交通大学2004年】
40编程求以孩予一兄弟表示法存储的森林的叶了结点数。要求描述结构。【北京工业大学2000年】【北京交通大学2007】
41以孩予一兄弟链表为存储结构,请设计递归和非递归算法求树的深度。【北方交通大学1999年】
42将由图3-2所示的三棵树组成的森林转换为二叉树。(只要求给出转换结果)【南京航空航天大学1998年】
(A)2n
(B)n-1
(C)n+1
(D)n
12 ____的遍历仍需要栈的支持。【中南大学2001年】
(A)前序线索树
(B)中序线索树
(C)后序线索树
(D)所有线索树
13在二叉排序树中进行查找的效率与____有关。【北京航空航天大学2004年】
(A)二叉排序树的深度
(B)二叉排序树的结点的个数
(C)被查找结点的度

2004年下半年全国自考数据结构真题及答案

2004年下半年全国自考数据结构真题及答案

更多优质自考资料尽在百度贴吧自考乐园俱乐部(/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........2004年下半年全国自考数据结构真题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.A. AB. BC. CD. D答案:D2.若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是()A.s->next=p->next;p->next=s;B.p->next=s;s->next=p->next;C.p->next=s->next;s->next=p;D.s->next=p;p->next=s->next;答案:A3.若要在O(1)的时间复杂度上实现两个循环链表头尾相接,则应对两个循环链表各设置一个指针,分别指向()A.各自的头结点B.各自的尾结点C.各自的第一个元素结点D.一个表的头结点,另一个表的尾结点答案:B4.栈的两种常用存储结构分别为()A.顺序存储结构和链式存储结构B.顺序存储结构和散列存储结构C.链式存储结构和索引存储结构D.链式存储结构和散列存储结构答案:A5.已知循环队列的存储空间为数组data[21],且当前队列的头指针和尾指针的值分别为8和3,则该队列的当前长度为()A. 5B. 6C.16D.17答案:C6.已知在如下定义的链串结点中,每个字符占1个字节,指针占4个字节,则该链串的存储密度为typedef struct node {char data[8];struct node *next;} LinkStrNode;()A.1/4B.1/2C.2/3D.3/4答案:C7.应用简单的匹配算法对主串s=″BDBABDABDAB″与子串t=″BDA″进行模式匹配,在匹配成功时,进行的字符比较总次数为()A.7B.9C.10D.12答案:C8.二维数组A[20][10]采用列优先的存储方法,若每个元素占2个存储单元,且第1个元素的首地址为200,则元素A[8][9]的存储地址为()A.574B.576C.578D.580答案:B9.对广义表L=((a,b),c,d)进行操作tail(head(L))的结果是()A.(c,d)B.(d)C. bD.(b)答案:D10.已知一棵树的前序序列为ABCDEF,后序序列为CEDFBA,则对该树进行层次遍历得到的序列为()A.ABCDEFB.ABCEFDC.ABFCDED.ABCDFE答案:D11.一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为()A. AB. BC. CD. D答案:A12.在关键字序列(12,23,34,45,56,67,78,89,91)中二分查找关键字为45、89和12的结点时,所需进行的比较次数分别为()A.4,4,3B.4,3,3C.3,4,4D.3,3,4答案:B13.下列排序方法中,最好与最坏时间复杂度不相同的排序方法是()A.冒泡排序B.直接选择排序C.堆排序D.归并排序答案:A14.已知含10个结点的二叉排序树是一棵完全二叉树,则该二叉排序树在等概率情况下查找成功的平均查找长度等于()A. 1.0B. 2.9C. 3.4D. 5.5答案:B15.在下列各种文件中,不能进行顺序查找的文件是()A.顺序文件B.索引文件C.散列文件D.多重表文件答案:C二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

上海海事大学828数据结构及程序设计2018到2015四套考研真题

上海海事大学828数据结构及程序设计2018到2015四套考研真题

2018年上海海事大学攻读硕士学位研究生入学考试
试题
(重要提示:答案必须做在答题纸上,做在试题上不给分)考试科目代码828 考试科目名称数据结构及程序设计一.判断题(本题10分,每小题1分)
1.线性的数据结构可以顺序存储,也可以链接存储。

非线性的数据结构只能链接存储。

2.单链表从任何一个结点出发,都能访问到所有结点。

3.单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个结点。

4.若在采用链式存储结构线性表中,元素按值有序,则该线性表可以采用折半查找法查找元素。

5.一个栈的输入序列为1, 2, 3, …, n,其输出序列的第二个元素为n的输出序列的个数有n-1种。

6.设串S的长度为n,则S的子串个数为n(n+1)/2。

7.若一个广义表的表头为空表,则此广义表亦为空表。

8.二叉树中除叶节点外,任一节点x,其左子树根节点的值小于该节点(x)的值,其右子树根节点的值大于该节点(x)的值,则此二叉树一定是二叉排序树。

9.网络的最小代价生成树是唯一的。

10.(99, 86, 46, 70, 34, 39, 45, 58, 66, 10 )是堆。

二.填空题(本题20分,每空2分)
1.一个栈的输入序列是:1、2、3,则不可能的栈输出序列是⑴。

- 2018试题1/6 -。

2004年数据结构试题-上海交大计算机考研2004真题(答案)

2004年数据结构试题-上海交大计算机考研2004真题(答案)

2004年研究生数据结构试题(70分)一、已知一棵中序线索二叉树的结点结构为:其中:data 域的类型为int。

ltag=0,那么left域中存放的是该结点的左儿子结点的地址。

ltag=1,那么left域中存放的是该结点的按中序周游次序的前驱结点的地址。

rtag=0,那么right域中存放的是该结点的右儿子结点的地址。

rtag=1,那么right域中存放的是该结点的按中序周游次序的后继结点地址。

现已知该中序线索树中,按照中序遍历次序的第一个结点的地址为first,以及某一整数值为key。

请写一个函数,输出结点的data之值为key 的结点,并仍保持中序线索树的性质不变。

注意:不准使用递归,额外空间不得大于O(1)。

(本题25 分)二、已知一棵二叉树是以二叉链表的形式存储的,且结点的数据场的类型为int。

现已知该二叉树的根结点的地址为root。

请写一个非递归的函数(使用的额外空间不得大于O(1)),给出按后序遍历次序的第一个结点的数据场之值。

(本题10分)三、已知一棵二叉树是以二叉链表的形式存储的,其结点结构说明如下:(本题10 分。

)struct node { int data; // 结点的数据场。

struct node *left; // 给出结点的左儿子的地址。

struct node * right; // 给出结点的右儿子的地址。

};请在1、2二题的[ ] 处进行填空,完成题目要求的功能。

注意,每空只能填一个语句,多填为0 分。

1、求出以T 为根的二叉树或子树的结点个数。

int size (struct node * T ) {if ( [ ] ) return 0;else [ ];}2、求出以T为根的二叉树或子树的高度。

注:高度定义为树的总的层次数。

int height(struct node * T ) {if ( T == NULL ) [ ];else [ ];}四、设结点个数为n,请问采用堆排序法进行排序,其时间复杂性是多少?请以大O形式给出,并给出证明。

上海海事大学数据结构及程序设计2014年—2018年考研真题考研试题

上海海事大学数据结构及程序设计2014年—2018年考研真题考研试题

2. 顺序存储设计时,存储单元的地址( )。 A. 一定连续 B. 一定不连续 C. 不一定连续 D. 部分连续,部分不连续
3. 将一棵有 100 个结点的完全二叉树,从根这一层开始,每一层从左到右依次对结点编号,根结点的 编号为 1,则编号为 49 的结点的双亲的编号为( )。 A. 23 B. 25 C. 24 D. 无法确定
置(基地址)为 1200,若按行存储时,则元素 A14 的第一个字节地址为

9. 已知二叉树各结点的先序、中序遍历序列分别为A、B、C、D、E、F和C、B、A、E、D、F,则后续遍
历该二叉树得到序列为

10. 深度优先搜索遍历类似于树的______ 遍历,广度优先搜索遍历类似于树的______遍历,它们分别
可以用______、______这两种数据结构来实现。
11. 折半查找的平均查找长度近似等于_____ ___。
12. 用一维数组存放的一棵二叉树如下图所示
A
B
C
D
E
F
G
H
I
J
K
L
则该二叉树的后序遍历序列为_
____.
13. 有n个顶点的无向图,至少需要_
__条边才能保证是连通的。
14. 已知广义表 A=((a,b,c),(d,e,f)),则运算 head(tail(head(A))))=__________________。
15. 栈结构允许进行删除操作的一端为_____________。
二、 选择题(共 15 题,每题 3 分,共 45 分)
1. 程序段
(1)i=1;k=0
(2) do{
(3)
k+ =10 * i;
(4)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档