上海海事大学数据结构1997真题

合集下载

(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。

计算机专业基础综合数据结构(排序)历年真题试卷汇编3

计算机专业基础综合数据结构(排序)历年真题试卷汇编3

计算机专业基础综合数据结构(排序)历年真题试卷汇编3(总分:72.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:36.00)1.下面给出的四种排序法中,( )排序法是不稳定性排序法。

【北京航空航天大学1999一、10(2分)】A.插入B.冒泡C.二路归并D.堆√2.下列排序算法中,其中( )是稳定的。

【福州大学1998一、3(2分)】A.堆排序,冒泡排序B.快速排序,堆排序C.直接选择排序,归并排序D.归并排序,冒泡排序√3.稳定的排序方法是( )。

【北方交通大学2000二、3(2分)】A.直接插入排序和快速排序B.折半插入排序和起泡排序√C.简单选择排序和四路归并排序D.树形选择排序和Shell排序4.下列排序方法中,哪一个是稳定的排序方法?( )。

【北方交通大学2001一、8(2分)】A.直接选择排序B.二分法插入排序√C.希尔排序D.快速排序5.下列排序算法中,( )是稳定排序。

【北京理工大学2007一、10(1分)】A.希尔排序B.快速排序C.堆排序D.直接插入排序√6.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

( )就是不稳定的排序方法。

【清华大学1998一、3(2分)】A.起泡排序B.归并排序C.Shell排序√D.直接插入排序E.简单选择排序√7.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选( )排序为宜。

【中科院计算所2000一、5(2分)】A.直接插入√B.直接选择C.堆D.快速E.基数8.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。

【中国科技大学1998二、4(2分)】【中科院计算所1998二、4(2分)】A.快速排序B.堆排序C.归并排序√D.直接插入排序9.下面的排序算法中,不稳定的是( )。

【北京工业大学1999一、2(2分)】A.起泡排序B.折半插入排序C.简单选择排序√D.希尔排序√E.基数排序下列内部排序算法中:【北京工业大学2000一、1(10分每问2分)】A.快速排序B.直接插入排序C.二路归并排序D.简单选择排序E.起泡排序(分数:8.00)(1).其比较次数与序列初态无关的算法是( )A.B.C. √D. √E.(2).不稳定的排序算法是( )A. √B.C.D. √E.(3).在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<A.B. √C.D.E.(4).排序的平均时间复杂度为O(n*10gn)的算法是( ),为O(n*n)的算法是( )A. √B. √C. √D. √E. √10.排序趟数与序列的原始状态有关的排序方法是( )排序法。

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编12

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编12

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编12(总分:62.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.给定二叉树如下图所示。

设N代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。

若遍历后的结点序列为3,1,7,5,6,2,4,则其遍历方式是( )。

【2009年全国试题3(2分)(分数:2.00)A.LRNB.NRLC.RLND.KNL √解析:【2009 2.已知一棵完全二叉树的第6层(设根是第1层)有8个叶结点,则该完全二叉树的结点个数最多是( )。

年全国试题5(2分)】(分数:2.00)A.39B.52C.11 1 √D.119解析:解析:本题问“完全二叉树的结点个数最多是多少”。

完全二叉树的叶子至多只能在最下面两层上。

本题告诉第6层有8个叶子,还会有24个分支结点,其在第7层最多有48个叶子,故选C。

若说第6层只有8个叶子,则应选A。

3.将森林转换为对应的二叉树,若在二叉树中,结点u是结点v的父结点的父结点,则在原来的森林中,u 和v可能具有的关系是( )。

【2009年全国试题6(2分)】I.父子关系Ⅱ.兄弟关系Ⅲ.u的父结点与v 的父结点是兄弟关系(分数:2.00)A.只有ⅡB.I和Ⅱ√C.I和ⅢD.I、Ⅱ和Ⅲ解析:解析:I指的是二叉树中v是u的左子女的右子女,Ⅱ指的是二叉树中v是u的右子女的右子女。

若Ⅲ成立,则森林转换的二叉树中,u不可能是v的父结点的父结点。

故选B。

4.下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是( )。

【2010年全国试题3(2分)】(分数:2.00)√解析:5.在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是( )。

【2010年全国试题5(2分)】(分数:2.00)A.41B.82 √C.113D.122解析:解析:度为m的树中,叶子结点个数的求解公式是n i是度i的结点数。

上海海事大学 数据结构试题 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上的关系有限集合。

数据结构试题(含答案)讲解

数据结构试题(含答案)讲解

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。

A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。

A s→link = p→link;p→link = s;B p→link = s; s→link = q;C p→link = s→link;s→link = p;D q→link = s;s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。

A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。

A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。

A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。

A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。

A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。

上海海事大学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.数据库系统中数据的一致性是指数据

计算机专业基础综合数据结构查找历年真题试卷汇编1_真题-无答案

计算机专业基础综合数据结构查找历年真题试卷汇编1_真题-无答案

计算机专业基础综合数据结构(查找)历年真题试卷汇编1(总分108,考试时间90分钟)1. 单项选择题1. 顺序查找法适合于存储结构为____的线性表。

【北京航空航天大学2002年】A. 顺序存储结构或链式存储结构B. 散列存储结构C. 索引存储结构D. 压缩存储结构2. 若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度(ASL)为____。

【北京航空航天大学2004年】A. (n—1)/2B. n/2C. (n+1)/2D. n3. 当采用分块查找时,数据的组织方式为____。

【太原科技大学2007年】A. 数据分成若干块,每块内数据有序B. 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D. 数据分成若干块,每块(除最后一块外)中数据个数需相同4. 对有2500个记录的索引顺序表(分块表)进行查找,最理想的块长为____。

【华中科技大学2007年】A. 50B. 125C. 500D. [log22500]5. 下面关于二分查找的叙述正确的是____。

【南京理工大学1996年】A. 表必须有序,表可以顺序方式存储,也可以链表方式存储B. 表必须有序且表中数据必须是整型、实型或字符型C. 表必须有序,而且只能从小到大排列D. 表必须有序,且表只能以顺序方式存储6. 当n足够大时,在按值有序的顺序表中进行折半查找,当查找概率相等的情况下,其查找成功的平均查找长度是____。

【北京航空航天大学2002年】A. (n+1)/2B. n/2C. log2(n+1)一1D. log2(n+1)7. 在具有15个记录的排序连续顺序文件上采用折半查找方法查找一个文件中不存在的记录.需要进行____次关键字值的比较。

【北京航空航天大学2004年】A. 0B. 4C. 5D. 158. 对一个长度为50的有序表进行折半查找,最多比较____次就能查找出结果。

计算机专业基础综合数据结构(排序)历年真题试卷汇编3

计算机专业基础综合数据结构(排序)历年真题试卷汇编3

计算机专业基础综合数据结构(排序)历年真题试卷汇编3(总分:72.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:36.00)1.下面给出的四种排序法中,( )排序法是不稳定性排序法。

【北京航空航天大学1999一、10(2分)】(分数:2.00)A.插入B.冒泡C.二路归并D.堆√解析:2.下列排序算法中,其中( )是稳定的。

【福州大学1998一、3(2分)】(分数:2.00)A.堆排序,冒泡排序B.快速排序,堆排序C.直接选择排序,归并排序D.归并排序,冒泡排序√解析:3.稳定的排序方法是( )。

【北方交通大学2000二、3(2分)】(分数:2.00)A.直接插入排序和快速排序B.折半插入排序和起泡排序√C.简单选择排序和四路归并排序D.树形选择排序和Shell排序解析:4.下列排序方法中,哪一个是稳定的排序方法?( )。

【北方交通大学2001一、8(2分)】(分数:2.00)A.直接选择排序B.二分法插入排序√C.希尔排序D.快速排序解析:5.下列排序算法中,( )是稳定排序。

【北京理工大学2007一、10(1分)】(分数:2.00)A.希尔排序B.快速排序C.堆排序D.直接插入排序√解析:6.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

( )就是不稳定的排序方法。

【清华大学1998一、3(2分)】(分数:2.00)A.起泡排序B.归并排序C.Shell排序√D.直接插入排序E.简单选择排序√解析:7.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选( )排序为宜。

【中科院计算所2000一、5(2分)】(分数:2.00)A.直接插入√B.直接选择C.堆D.快速E.基数解析:8.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。

【中国科技大学1998二、4(2分)】【中科院计算所1998二、4(2分)】(分数:2.00)A.快速排序B.堆排序C.归并排序√D.直接插入排序解析:9.下面的排序算法中,不稳定的是( )。

上海海事大学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 -。

上海海事大学数据结构及程序设计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)

上海海事大学数据库A卷期末

上海海事大学数据库A卷期末

上海海事大学试卷2008-2009学年第一学期《数据库原理及应用》期末试卷A(试卷编号:637218)总计 100 分专业班级学号姓名得分(请将答案写在答题纸上,否则无效;试卷不许带出考场,试卷上写明专业、班级、学号、姓名)一选择题(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. 若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况属于( )。

A . 事务故障 B . 系统故障C . 介质故障D . 运行故障10. 数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( )。

上海海事大学数据库试题

上海海事大学数据库试题

上海海事大学试卷2013—2014学年第一学期期末考试《数据库原理及应用》(A卷)班级:学号:姓名:总分(请将答案写在答题纸上,否则无效;试卷不许带出考场,试卷上写明班级、学号、姓名)一、选择题,每道题只有一个正确答案(1.5分/题,共36分)1.数据库的()是为了防止数据库中存在不符合语义的数据。

A.完整性 B.安全性 C.并发控制 D.恢复技术答案:A2.()规定在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁。

A.一次封锁法B.顺序封锁法C.两段锁协议D.多粒度封锁法答案:C3.在视图上不能完成的操作是()A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图答案:C4.在对用户进行权限授予时,()短语表示获得某种权限的用户可以传播该权限。

A.with check optionB.with view optionC.with grant optionD.with function optionc5.数据的逻辑独立性是指()A.存储结构与物理结构的逻辑独立性B.数据与存储结构的逻辑独立性C.数据与程序的逻辑独立性D.数据元素之间的逻辑独立性C6.三级模式间存在两种映像,他们是()A.模式与子模式间,模式与内模式间B.子模式与内模式间,外模式与内模式C.子模式与外模式间,模式与内模式间D.模式与内模式间,模式与模式间A7.事务的一致性是指(d )A.事务中包括的所有操作要么不做,要么都做(原子性)B.事务一旦提交,对数据库的改变是永久的持续性C.一个事物内部的操作及使用的数据对并发的其他事务是隔离的隔离性D.事务必须使得数据库从一个一致性状态变到另一个一致性状态8.根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,部门(部门号,部门名,部门成员,部门经理)关系中,因()属性而使该关系不满足第一范式。

A.部门经理B.部门成员C.部门名D.部门号 李维+预计是b9.对数据库角色描述错误的是( )A.权限的集合B.简化授权的过程C.数据库完整性的控制机制D.可以分配给数据库用户 李1萌预计c10.将局部E -R 图合并成全局E -R 图时可能出现冲突,不属于合并冲突的是( b ) A.属性冲突 B.语法冲突 C.结构冲突D.命名冲突11.设有如图所示的关系R ,经操作π1,3(QB=0(R ))(π为投影运算符,Q 为选择运算符)的运算结果是( )关系RAB CD12.若事务T 对数据R 已加S 锁,则其他事务对数据R ( a ) A.可以加S 锁不能加X 锁 B.不能加S 锁可以加X 锁 C.可以加S 锁也可以加X 锁 D.不能加任何锁13.若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非正常方式终止,这时内存中的数据丢失,而存储在外存上的数据未受影响,这种情况成为(b ) A 事务故障 B.系统故障 C.介质故障 D.运行故障14.介质故障恢复需采用以下操作,其操作步骤是( c ) I.装载数据备份 II.执行Redo 操作 III.执行Undo 操作 A.I ->II B.II ->I ->III C.I ->III ->II D.II ->III ->I15.设关系模式R (A,B,C ),F 是其函数依赖集,F={B ->C },则分解p {AB ,BC }() A.是无损联接,也是保持FD 的分解 B.是无损联接,但不保持FD 的分解 C.不是无损联接,但保持FD 的分解D.既不是无损联接,也不保持FD的分解金表哥讲解a或b16.事务日志用于保存( c )A.程序运行过程B.程序的执行结果C.对数据的更新操作D.对数据的查询操作17.以下(d)不属于实现数据库系统安全性的主要技术和方法A.存取控制技术B视图技术 C.审计技术 D.出入机房登记和加防盗门18.X->Y,当下列那一条成立时,成为平凡的函数依赖(b )A.X⊆ YB.Y⊆XC.X∩Y=ØD.X∩Y≠Ø19.解决并发操作带来的数据不一致性问题普遍采用(a )A.封锁B.存取控制C.恢复D.协商20.关于“死锁”,下列说法正确的是( d )A.死锁是操作系统中的问题,数据库操作中不存在B.在数据库中防止死锁的方法是禁止两个用户同时操作数据库C.当两个用户竞争相同资源时不会发生死锁D.只有出现并发操作时,才有可能出现死锁21.设关系R(A,B)和S(B,C),下列个关系袋鼠表达式不成立的是(b )A. R∞∏B(S) B RUS C. ∏B(R)U∏B(S) D. R∞S22.遵循两段锁协议的事务程序能够解决并发事务得数据库操作的不一致性包括( c )A.丢失修改B.不可重复读C读脏数据D.不可重复写23.用于数据库回复的重要文件是( c )A.数据库文件B.索引文件C.日志文件D.备注文件24.层次模型、网状模型和关系模型数据库划分原则是(d )A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系二SQL语句(2分/题,共18分)已知一个book数据库中有下列表:Create index asd on T_BookInfo(StockNum)请使用SQL语言在Book数据库中完成以下操作:1.创建T_BookOrder表,需要指定表上的所有约束;2.为T_BookInfo表在库存量上创建索引;4.将教师工号为“071102”的教师的职称改为“副教授”;Update table T_teacher set zhicheng=’fujiaoshou’ where5.查询学生定书量(SBNum)在200到250之间的教材的ISBN号,名称,出版社,编写人,价格和库存量;6.查询书名为“大学生计算机基础”的教材的学生订书总量(SBNum)和教师订书总量(TBNum)和总订购量;7.查询平均价格高于50的教材类别和平均价格;8.创建一个视图,该视图的数据为:所有含有“教育”二字的出版社的所有教材名称(BookName),编写人(Author),价格(Price),库存(StockNum)和出版社名称(Publisher);9.把T_BookOrder表上的修改是否领走(Flag)字段属性值的权限授予给用户“User”,且不允许该用户再转授给其他用户。

2010年上海海事大学数据结构考研真题

2010年上海海事大学数据结构考研真题

2010年上海海事大学数据结构考研真题一.判断题(本题 20分,每小题2分)1.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。

2.两个栈共享一片连续内存空间时,为了提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

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

4.假定n和m为二叉树中的两个结点,m所在的层数大于n所在的层数,则前序遍历时n一定在 m之后。

5.采用链地址法解决冲突时,若规定插入总是在链首,则插入任一个元素的时间是相同的.6.在查找树(二叉排序树)中插入一个新结点,总是插入到叶子结点的下面。

7.用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与图中顶点的个数有关,而与图的边数无关。

8.排序方法是否稳定的,指的是该方法在各种情况下的时间效率是否相差不大。

9.对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,它们对于查找成功的平均查找长度是相同的,而对于查找失败的平均查找长度是不同的。

10.索引无序文件是指主文件无序而索引表有序。

二.填空题(本题 30分,每空2分)2.有一个二维数组 A[16,0.7],每个数组元素用相邻的6个字节存储,存储器按字编址,那末,这个数组的体积是(3)个字节。

假设存储数组的首地址是0,则若按行存储,数组元素 A[2,4]的第一个字节的地址是__(4)_;若按列存储,数组元素A[5,7]的第一个字节的地址是(5)。

3.广义表A=(a,b,(c,d),(e,(f,g)),取表头和表尾函数分别为 head()和tail (),则 tail head (tail (tail (A)= _(6)_,而从表中取出原子项e的运算为_(7)4.由带权为3,9,6,2,5的5个叶子结点构成一棵哈夫曼(Huffiman)树,则其带权路径长度为__(8),高度为__(9)5.在堆排序、快速排序和归并排序中,若仅从存储空间考虑,则应首先选取_10方法,其次选取_(1)方法,最后选取(12)_方法;若只从排序结果的稳定性考虑,则应选取(13)方法;若只从平均情况下排序最快考虑,则应选取(14)方法;若只从最坏情况下排序最快并且要节省内存考虑,则应选取_(15)__方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上海海运学院1997年硕士研究生入学考试试题
考试科目:数据结构
一.判断下列叙述的正确性,将判断结果写在答题纸上.(本题满分15分,每小题1,5分)
1.顺序存储方式只能用于存储线性结构.
2.为了方便地插入和删除数据,可以使用双向链表存放数据.
3.若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1.
4.散列表的结点中只包含数据元数自身的数据,不包含任何指针.
5.二叉数树中每个结点至多有两个子结点,而对一般二叉树则无此限制.因此,二叉树是树的
特殊情形.
6.用指针的方式存储一棵有n各结点的二叉树,最少要用n+1个结点.
7.线索二叉树的优点是便于左中序下查找前序结点和后序结点.
8.邻接矩阵适用于有向图和无向图的存储,但不能存储带权的有向图和五向图,而只能使用
邻接表存储形式来存储它.
9.冒泡排序和快速排序都是基于交换两个逆序元素的排序方法,冒泡排序算法的最坏时间
复杂性是o(n的平方),而快速排序算法的最坏时间复杂性是o(n以二为底的n的对数),所以快速排序比冒泡排序算法效率更高.
10.任一查找树(二叉分类树)的平均查找时间都小于用于顺序查找法查找同样结点的选线
性表的平均查找时间.
二.从供选择的答案中选出正确答案写在答案纸上(本题满分23分,第1,2,3,5小题5分,第4小
题3分)
1.在作进栈运算时,应先判断栈是否( ),在退栈运算时应先判断栈是否( ).当栈中元素为n
个,作进栈运算时发生上溢,则说明该栈的最大容量为( ).为了增加存储空间的利用率和减少溢出的可能性,有两个栈共享一片连续的存储空间时,应增加两栈的( )分别设在这片内存空间的两端,这样,当( )时才产生上溢.
供选择的答案
A,B: 1空 2 满3上溢4下溢
C:1.N-1 2.N 3.N+1 4.N/2
D:1.长度 2.深度 3.栈顶 4.栈底
E:1.两个栈的栈顶同时到达栈空间的中心点.
2.其中一个栈的栈顶到达栈空间的中心点.
3.两个栈的栈顶在栈空间的某一位置相遇.
4.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底.
2.二叉数有多种形式,()是查找二叉树,()是平衡二叉树,()是半满二叉树,下图
是一些二叉树,其中图()是查找二叉树,图()是平衡二叉树但不是半满二叉树,图()是半满二叉树的实例.
供选择的答案
A,B,C:1.二叉树中每个结点的两棵子树的高度差不大于1.
2. 二叉树中每个结点的两棵子树的高度差等于 1
3.二叉树中每个结点的两棵子树是有序的.
4.二叉树中每个结点有两棵非空子树,或有两棵非空子树.
5.二叉树中每个结点的关键字值大于其非空左子树(如果存在的话)所有结点的关。

相关文档
最新文档