2011年青海省数据结构C语言版考资料

合集下载

2011年9月全国计算机等级考试二级C语言试卷及答案

2011年9月全国计算机等级考试二级C语言试卷及答案

2011年9月全国计算机等级考试二级笔试试卷(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)1.下列叙述中正确的是。

A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.某系统总体结构图如下图所示:该系统总体结构图的深度是A.7B.6C.3D.26.程序调试的任务是A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T 如下:则由关系 R 和 S 得到关系 T 的操作是A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是A.C 语言编写的函数源程序,其文件名后缀可以是 CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个 C 语言程序只能有一个主函数12.以下选项中关于程序模块化得叙述错误的是A.把程序分成若干相对独立的模块可便于编码和调试B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于 C 语言常量的叙述错误的是:A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量14.若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b 值得类型是A.charB.intC.doubleD.float15.如有定义语句:int x=12,y=8,z;,在其后执行语句 z=0.9+x/y,则 z 的值为A.1.9B.1C.2D.2.416.若有定义:int a,b;,通过语句scanf(‚%d;%d‛,&a,&b);,能把整数 3 赋给变量 a,5 付给变量 b 的输入数据是A.3 5B.3,5C.3;5D.3517.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1 和 k2 的值分别为A. 0 和 1B.0 和 20C.10 和 1D. 10 和 2018.有以下程序#include <stdio.h>Main(){ int a=1,b=0;If(--a) b++;Else if(a==0) b+=2;Elseb+=3;Printf(‚%d\n‛,b);}程序运行后的输出结果是A.0B.1C.2D.319.下列条件语句中输出结果与其他语句不同的是A.if(a)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);B.if(a==0)printf(‚%d\n‛,y); else printf(‚%d\n‛,x);C.if(a!=0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);D.if(a==0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);20.有以下程序:#include <stdio.h>Main(){ int a=7;While(a--);Printf(‚%d\n‛,a);}程序运行后的输出结果是A.-1B.0C.1D.721.以下不能输出字符 A 的语句是(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为97)A.printf(‚%c\n‛,’A’-32);B.printf(‚%d\n‛,’A’);C.printf(‚%c\n‛,65);D.printf(‚%c\n‛,’B’-1);22.有以下程序(注:字符 a 的 ASCII 码值为 97)#include <stdio.h>Main(){ char *s={‚abc‛}; Do{printf(‚%d‛,*s%10);++s;}While(*s);}程序运行后的输出结果是A.abcB.789C.7890D.97989823.若有定义语句:double a,*p&a;以下叙述中错误的是A.定义语句中的*号是一个地址运算符B.定义语句中的*号只是一个说明符C.定义语句中的 p 只能存放 double 类型变量的地址D.定义语句中,*p=&a 把变量 a 的地址作为初值赋给指针变量 p24.有以下程序:#include <stdio.h>Double f(double x);Main(){ double a=0; int I; For(i=0;i<30;i+=10)a+=f((double)i); Printf(‚%5.0f\n‛,a);}Double f(double x){return x*x+1;}程序运行后的输出结果是A.503B.401C.500D.140425.若定义语句:int year=2009,*p=&year;,以下不能使变量 year 中的值增至 2010 的语句是A.*p+=1;B.(*p)++;C.++(*p);D.*p++;26.以下定义数组的语句中错误的是A.int num[]={1,2,3,4,5,6};B.int num[][3]={{1,2},3,4,5,6};C.int num[2][4]={{1,2},{3,4},{5,6}};D.int num[][4]={1,2,3,4,5,6};27.有以下程序#include <stdio.h>Void fun(int *p){printf(‚%d\n‛,p[5]);}Main(){int a[10]={1,2,3,4,5,6,7,8,9,10};Fun(&a[3]);}程序运行后的输出结果是A.5B.6C.8D.928. 有以下程序#include<stdio.h>#define N 4Void fun(int a[][N],int b[]) { inti;for(i=0;i<N;i++) b[j]=a[i]][j]-a[i][N,1-i];}Main(){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;Fun(x,y);for(i=0;i<N;i++) printf(‚%d‛,y[i]); printf(‚\n‛);程序运行后的输出结果是A.-12,-3,0,0,B.-3,-1,1,3,C.,0,1,2,3,D.-3,-3,-3,-3,29.有以下函数int fun(char *x,char *y){ int n=0;While((*x=*y)&&*x!=’\0’){x++;y++;n++;}Return n;}函数的功能是A.查找 x 和 y 所指字符串中是否有‘\0‘B.统计 x 和 y 所指字符串中最前面连续相同的字符个数C.将 y 所指字符串赋给 x 所值存储空间D.统计 x 和 y 所指字符串中相同的字符个数30.若有定义语句:char *s1=‛OK‛;*s2=‛ok‛;,以下选项中,能够输出‚OK‛的语句是A.if(stremp(s1,s2)==0) puts(s1);B.if(stremp(s1,s2)!=0) puts(s2);C.if(stremp(s1,s2)==1) puts(s1);D.if(stremp(s1,s2)!=0) puts(s1);31.以下程序的主函数中调用了在其前面定义的 fun 函数#include<stdio.h>Main(){double a[15],k; K=fun(a);}则以下选项中错误的fun函数首部是A.double fun(double a[15])B.double fun(double *a)C.double fun(double a[])D.double fun(double a)32.有以下程序:#include<stdio.h>#include<string.h>Main(){ char a[5][10]={‚china‛,‛beijing‛,‛you‛,‛tiananmen‛,‛welcome‛}; Int I,j;char t[10];For(i=0;i<4;i++)For(j=i+1;j<5;j++)If(stremp(a[i],a[j])>0){ strepy(t,a[i]); strepy(a[i],a[j]); strepy(a[i],t);} Puts(a[3]);}程序运行后的输出结果是A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序:#include<stdio.h> Int f(intm){ static int n=0; N+=m;Return n;}Main(){ int n=0; Printf(‚%d,‛,f(++n));Printf(‚%d\n‛,f(n++));程序运行后的输出结果是____________A. 1,2B. 1,1C. 2,3D. 3,334.有以下程序#include<stdio.h>Main(){ char ch[3][5]={‚AAAA‛,‛BBB‛,‛CC‛} Printf(‚%s\n‛,ch[1]);}程序运行后的输出的结果是A.AAAAC.BBBCCD.BBB35.有以下程序#include<stdio.h>#include<string.h> Void fun(char *u,int n){ char x,*y1,*y2; Y1=u;y2=u+n-1;While(y1<y2) {s=*y1;*y1=*y2;*y2=s;p1++;p2--;}}Main(){ char a[]=‛1,2,3,4,5,6‛;Fun(a,strem(a));puts(a);}程序运行后的输出结果是A.654321B.115611C.153525D.12345636.有以下程序#include<stdio.h>#include<string.h>typedef struct{char name[];char sex;int score[2]}STU; STU f(STU i) {STU i={‚Zhao‛,‛m‛,85,90}; Int I;Strcpy(a name,b name); A sex=b sex;For(i=0;i<2;i++) a score[i]=b score[i]; Return a;}Main()STU c={‚Qian‛,‛f‛,95,92},d; D=f(c);Printf(‚%s,%c,%d,%d,‛,,d.sex,d.score[0],d.score[1]);Printf(‚%s,%c,%d,%d\n‛,,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A.zhao,m,85,90,Qian,f,95,92B.zhao,m,85,90,zhao,m,85,90C.Qian,f,95,92,Qian,f,95,92D.Qian,f,95,92,zhao,m,85,9037.在以下程序#include<stdio.h>Main(){struct node{int n; struct node *next;}*p; Struct nodex[3]={{2,x+1},{4,x+2},{6,NULL}}; P=x;Printf(‚%d,‛,p>a);Printf(‚%d\n‛,p>next>a);程序运行后的输出结果是A.2,3B.2,4C.3,4D.4,638.有以下程序#include<stdio.h>Main(){ int a=2,b;B=a<<2; printf(‚%d\n‛,b);}程序运行后的输出结果是A.2B.4C.6D.839.以下选项中叙述错误的是A.C程序函数中定义的赋有初始值的静态变量,每调用一次函数,赋一次初值B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不能自动赋确定的初值D.C程序函数的形参不可以说明为 static 型变量40.有以下程序#include<stdio.h>Main() {FILE *fp;Int k,n,I,a[6]={1,2,3,4,5,6};Fp=fopen(‚d2.dat‛,‛w‛);For(i=0;i<6;i++) fprintf(fp,‛%d\n‛,a[i]);Fclose(fp);Fp=fopen(‚d2.dat‛,‛r‛);For(i=0;i<3;i++) fscanf(fp,‛%d%d‛,&k,&n);Fclose(fp);Printf(‚%d,%d\n‛,k,n);}程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456二、填空题(每空2分,共30分)1.数据结构分为线性结构与非线性结构,带链的栈属于【1】2.在长度为 n 的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】3.常见的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。

2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt

2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt
(17)i若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和
k2的值分别为___________。
A)0和1 B)0和20 C)10和1 D)10和20
(17)B 【解析】根据清华大学出版社“C程序设计”P94关于逻辑表达式运算规定(1),
a&&b&&c,只要a为0,则不必判别b和c;若a为1才判别b;若b为0,则不必判别c。
现题目逻辑表达式左边(k1=k1>k2)为0,右边不再判别,所以答案是a为0;b仍为原值20。
(18)有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
是所有用户的公共数据视图。外模式也称用户模式,它是数据库用户能够看见和使用的局部
数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑
表示。内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的
描述,是数据在数据库内部的表示方式,所以正确答案为D。
(9)有三个关系R、S和T如下:
R S T
A
B
C
A
B
C
A
B
C
a
1
2
a
1
2
c
3
1
b
2
1
b
2
1
C
3
1
则由关系R和S得到关系T的操作是___________。
辑判断值为0,输出y;D) 逻辑判断值a==0为1,输出x

数据结构(C语言版)1800道题及答案[完整版]

数据结构(C语言版)1800道题及答案[完整版]

数据结构(C语言版)1800道题及答案[完整版]数据结构(C语言版)1800道题及答案[完整版]数据结构1800例题与答案第一章绪论一、选择题(每小题2分)1.算法的计算量的大小称为计算的(B )。

【北京邮电大学2000 二、3 (20/8分)】A.效率 B.复杂性 C.现实性 D.难度2.算法的时间复杂度取决于(C)。

【中科院计算所 1998 二、1 (2分)】A.问题的规模 B.待处理数据的初态 C.A和B D.都不是3.计算机算法指的是(① C ),它必须具备(② B )这三个特性。

① A.计算方法B.排序方法C.解决问题的步骤序列 D.调度方法② A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性 D.易读性、稳定性、安全性【南京理工大学1999 一、1(2分)【武汉交通科技大学1996 一、1(4分)】4.一个算法应该是( B )。

【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.5.下面关于算法说法错误的是( D )【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是(C )【南京理工大学2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为( C )两大类。

【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是(D )。

(完整版)数据结构c语言版期末考试复习试题

(完整版)数据结构c语言版期末考试复习试题

《数据结构与算法》复习题一、选择题。

1.在数据结构中,从逻辑上可以把数据结构分为 C 。

A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。

A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。

A.逻辑B.存储C.逻辑和存储D.物理(数据结构在计算机中的表示(映像)称为数据的物理(存储)结构)4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。

A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。

A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。

6.以下说法正确的是 D 。

A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。

(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。

s =0;for( I =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j];sum = s ;9.下面程序段的时间复杂度是O(n*m) 。

for( i =0; i<n; i++)for(j=0;j<m;j++)A[i][j] =0;10.下面程序段的时间复杂度是O(log3n) 。

i =0;while(i<=n)i = i * 3;11.在以下的叙述中,正确的是B。

数据结构C语言版部分习题及答案[2]

数据结构C语言版部分习题及答案[2]

第二章习题与解答一判断题1.线性表的逻辑顺序与存储顺序总是一致的。

2.顺序存储的线性表可以按序号随机存取。

3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

7.线性表的链式存储结构优于顺序存储结构。

8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

二单选题 (请从下列A,B,C,D选项中选择一项)1.线性表是( ) 。

(A) 一个有限序列,可以为空;(B) 一个有限序列,不能为空;(C) 一个无限序列,可以为空;(D) 一个无序序列,不能为空。

2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的()个元素。

(A) n/2 (B) n+1/2 (C) n -1/2 (D) n3.线性表采用链式存储时,其地址( ) 。

(A) 必须是连续的;(B) 部分地址必须是连续的;(C) 一定是不连续的;(D) 连续与否均可以。

4.用链表表示线性表的优点是()。

(A)便于随机存取(B)花费的存储空间较顺序存储少(C)便于插入和删除(D)数据元素的物理顺序与逻辑顺序相同5.某链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用( )存储方式最节省运算时间。

(A)单链表(B)双链表(C)单循环链表(D)带头结点的双循环链表6.循环链表的主要优点是( )。

(A)不在需要头指针了(B)已知某个结点的位置后,能够容易找到他的直接前趋(C)在进行插入、删除运算时,能更好的保证链表不断开(D)从表中的任意结点出发都能扫描到整个链表7.下面关于线性表的叙述错误的是( )。

数据结构与C语言程序设计试题及答案

数据结构与C语言程序设计试题及答案
5.已知模式匹配的KMP算法中模式串t=’adabbadada’,其next函数的值为0112112343。
6.在置换-选择排序中,假设工作区的容量为w,若不计输入、输出的时间,则对n个记录的文件而言,生成所有初始归并段所需时间为O(n log w)。
三.简答题(6’5)
1.有n个不同的英文单词,它们的长度相等,均为m,若n>>50,m<5,试问采用什么排序方法时间复杂度最佳?为什么?
采用基数排序方法最佳。
因单词长度相等,而只有26个字母组成,符合基数排序的条件。
因m<<n,故时间复杂性由O(m(n+rm))变成O(n)。
2.对于一个栈,给出输入序列A,B,C,试给出全部可能的输出序列。若输入序列的长度为n,则可能的输出序列有多少?
ABC,ACB,BAC,BCA,CBA
C2nn/(n+1)
()10、任何有向图的顶点都可以按拓扑序排序。
二.填空题(2’6)
1.假设用于通信的电文由8个字母组成,其频率分别为0.07,0.19,0.02,0.06, 0.32,0.03,0.21,0.10,为这8个字母设计哈夫曼编码,其中编码长度最大的字母的编码是5位。
2.已知二叉树按中序遍历所得到的结点序列为DCBGEAHFIJK,按后序遍历所得到的结点序列为DCEGBFHKJIA,按先序遍历所得到的结点序列为ABCDGEIHFJK。
O(n log n)
四.程序设计题(38’)
1.假设有两个集合A和B,均以元素值递增有序排列的带头结点的单链表作为存储结构。请编写算法求C=AB,要求C按元素值递增有序排列,并要求利用原表(即表A和表B)的结点空间存放表C。(12’)
void Join(LinkList &la , LinkList &lb , LinkList &lc)

2011年青海省数据结构试题大全考试技巧重点.

2011年青海省数据结构试题大全考试技巧重点.

1、在以下的叙述中,正确的是 B 。

A.线性表的顺序存储结构优于链表存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出D.队列的操作方式是先进后出2、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。

A)3,2,1,4 B)3,2,4,1 C)4,2,3,1 D)2,3,4,13、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,54、算法分析的目的是 C ,算法分析的两个主要方面是 A 。

(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 5、链表不具备的特点是 A 。

A.可随机访问任一结点 B.插入删除不需要移动元素C.不必事先估计存储空间 D.所需空间与其长度成正比 6、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5 7、算法分析的目的是 C ,算法分析的两个主要方面是 A 。

(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性 8、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。

A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表 9、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( 参数,以节省参数值的传输时间和存储参数的空间。

数据结构C语言版习题详细答案资料

数据结构C语言版习题详细答案资料
数据对象:D={r,i|r,i 为实数} 数据关系:R={<r,i>} 基本操作:
InitComplex(&C,re,im) 操作结果:构造一个复数 C,其实部和虚部分别为 re 和 im
DestroyCmoplex(&C) 操作结果:销毁复数 C
Get(C,k,&e) 操作结果:用 e 返回复数 C 的第 k 元的值
int Time(int n) { count = 0; x=2; while(x<n/2) { x *= 2; count++; } return count;
}
解: o(log 2 n)
count= log 2 n 2
1.11 已知有实现同一功能的两个算法,其时间复杂度分别为 O 2n 和 O n10 ,假设现实计算机可连续
1.14 判断下列各对函数 f n 和 g n ,当 n 时,哪个函数增长更快?
(1) f n 10n2 ln n!10n3 , gn 2n4 n 7
1.6 在程序设计中,常用下列三种不同的出错处理方式: (1) 用 exit 语句终止执行并报告错误; (2) 以函数的返回值区别正确返回或错误返回; (3) 设置一个整型变量的函数参数以区别正确返回或某种错误返回。
试讨论这三种方法各自的优缺点。 解:(1)exit 常用于异常错误处理,它可以强行中断程序的执行,返回操作系统。 (2)以函数的返回值判断正确与否常用于子程序的测试,便于实现程序的局部控制。 (3)用整型函数进行错误处理的优点是可以给出错误类型,便于迅速确定错误。
} 解:(1) n-1 (2) n-1 (3) n-1
n(n 1)
(4) n+(n-1)+(n-2)+...+1=

2011青海省数据结构最新考试试题库(完整版)

2011青海省数据结构最新考试试题库(完整版)

1、下列各种数据结构中属于线性结构的有( A )。

A)栈 B) 二叉树C) 广义表 D) 图2、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面3、线性表的链接实现有利于( A )运算。

A)插入 B)读元素C)查找 D)定位4、二叉树第i(i≥1)层上至多有( C )结点。

A)2i B)2i C)2i-1 D)2i-15、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面6、栈进行插入和删除操作的特点是( A )。

A)LIFO B)FIFOC)FCFS D)HPF7、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。

A)4 B)5C)6 D)78、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。

A) Head(Head(Tail(Tail(L))))B) Tail(Head(Head(Tail(L))))C) Head(Tail(Head(Tail(L))))D)Head(Tail(Head(Tail(Tail(L)))))9、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。

A)3 B)4 C)5 D)110、下面关于线性表的叙述中,错误的是哪一个?( D )A)线性表采用顺序存储,必须占用一片连续的存储单元。

B)线性表采用链接存储,便于插入和删除操作。

C)线性表采用链接存储,不必占用一片连续的存储单元。

D)线性表采用顺序存储,便于进行插入和删除操作。

11、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。

A) (G) B) (D) C) C D) D12、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。

数据结构(C语言版)考研复习题

数据结构(C语言版)考研复习题

数据结构(C语言版)考研复习题第1 页共19 页第一章绪论1.1 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。

1.2 常用的存储表示方法有哪几种?1.3 算法的时间复杂度仅与问题的规模相关吗?1.4 有时为了比较两个同数量级算法的优劣,须突出主项的常数因子,而将低次项用大"O"记号表示。

例如,设T1(n)=1.39nlgn+100n+256=1.39nlgn+O(n), T2(n)=2.0nlgn-2n=2.0lgn+O(n), 这两个式子表示,当n足够大时T1(n)优于T2(n),因为前者的常数因子小于后者。

请用此方法表示下列函数,并指出当n足够大时,哪一个较优,哪一个较劣?函数大"O"表示优劣(1) T1(n)=5n22-3n+60lgn 5n22+O(n)(2) T2(n)=3n22+1000n+3lgn 3n22+O(n)(3) T3(n)=8n22+3lgn 8n22+O(lgn)(4) T4(n)=1.5n2+6000nlgn 1.5n2+O(nlgn)第二章线性表2.1 试描述头指针、头结点、开始结点的区别、并说明头指针和头结点的作用。

2.2 何时选用顺序表、何时选用链表作为线性表的存储结构为宜?2.3 为什么在单循环链表中设置尾指针比设置头指针更好?2.4 下述算法的功能是什么?LinkList Demo(LinkList L){ // L 是无头结点单链表ListNode *Q,*P;if(L&&L->next){Q=L;L=L->next;P=L;while (P->next) P=P->next;P->next=Q; Q->next=NULL;}return L;}// Demo2.5设线性表的n个结点定义为(a0,a1,...a n-1),重写顺序表上实现的插入和删除算法:InsertList 和DeleteList.2.6 设顺序表L是一个递减有序表,试写一算法,将x插入其后仍保持L的有序性。

数据结构c语言版(题目)

数据结构c语言版(题目)

分类:编程思想和算法2012-09-15 22:24 1759 人阅读评论(0)收藏举报如果TCPhashlistJuli 采用线性表的顺序存储结构,则可以随机存取表中任一终端,但插入和删除终端时,需要移动大量元素,巧妙地终端离线不进行删除操作。

数组,存储的元素应该是线性表顺序存储结构的数据结构。

线性表题目类型:线性表在顺序结构上各种操作的实现;线性链表的各种操作;两个或多个线性表的各种操作;循环链表和双向链表;稀疏多项式及其运算在线性表的两种存储结构上的实现。

线性表在顺序结构上各种操作的实现题目1:(线性表顺序存储结构上的操作—Delete )从顺序存储结构的线性表a 中删除第i个元素起的k个元素。

(《数据结构题集C语言版》P16)题目2:(线性表顺序存储结构上的操作_lnsert )设顺序表va中的数据元素递增有序。

试写一算法,将x插入到循序表的适当位置上,以保持该表的有序性。

(《数据结构题集C语言版》P17)题目3:(线性表顺序存储结构上的操作_逆置)试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表逆置。

(《数据结构题集C语言版》2.21)线性表线性链表的各种操作题目1:( Insert )试写一算法,在无头结点的动态单链表上实现线性表的Insert(L,i,b), 并和在带头结点的动态单链表上实现同样操作的算法进行比较。

(《数据结构题集C语音版》P17)题目2:(Delete )同上题要求,实现线性表操作Delete(L,i).题目3:已知线性表中的元素以值递增有序排序,并以单链表作为存储结构。

试写一高效算法,删除表中所有值大于mink且小于maxk的元素(若表中存在这样的元素)同时释放被删除结点空间,并分析你的算法的事件复杂度(注意:mink和maxk是给定的两个参变量,它们的值可以和表中的元素相同,也可以不同)。

(《数据结构题集C语言版》P17)题目4:同上题条件,试写一高效算法,删除表中所有值相同的多余元素(使得操作后的线性表所有元素的值均不相同),同是释放被删结点空间,并分析你算法的时间复杂度。

数据结构C语言版部分习题及答案

数据结构C语言版部分习题及答案

国家计算机等级考试二级C语言公共基础知识总结第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。

特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

指令系统:一个计算机系统能执行的所有指令的集合。

基本运算包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。

算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量。

算法空间复杂度是指执行这个算法所需要的内存空间。

1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。

数据的存储结构有顺序、链接、索引等。

线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。

2011年数据结构试卷课件

2011年数据结构试卷课件

中南民族大学2007—2008学年第 2 学期 期末考试试卷 课程名称:数据结构 试卷类型:A 卷 共14页 考试形式:闭卷考试使用范围:电信 学院(系) 2007 年级 所有 专业 本科A -1 共 14 页…………………………密……………………封……………………线……………………………学院 专业 级 学 姓一、判断题(每题1分,共10分)1. 头指针head 指向的带头结点的单链表(该链表至少有1个结点)中,第一个结点的地址即为head->next 。

( )2. 头指针head 指向的带头结点的单链表不为空的判断条件是head->next->next != NULL 。

( )3. 在单链表中必须使某指针指向某个结点才能将该结点删除。

( )4. 在单链表中,删除一个结点之前必须让某指针指向该结点。

( )5. 一般情况下,顺序栈中元素存满时,栈顶指针将不指向栈中存放的任何元素。

( )6. 一般情况下,顺序栈中的栈顶指针不可能指向栈分配空间以外的内存区域。

( )7. 循环队列中,主要通过“队尾指针”下一个位置等于“队头指针”,即rear = = front + 1,来判断队列为满。

( )注意事项:1. 考生将姓名、学号等信息写在试卷相应位置;2. 必须使用蓝(黑)色钢笔或签字笔在规定位置答题;3. 注意字迹清楚,保持卷面整洁。

A -2 共 14 页A8. 循环队列中,判断队列为满时“队尾指针”一定指向“队头指针”下一个位置,即rear = = front + 1。

( )9. 堆分配是串的一种链式存储结构。

( ) 10. 堆分配是串的一种顺序存储结构。

( )11. “求子串”得到的结果是子串在主串中第一次出现的位置。

( ) 12. “求子串”得到的结果是子串在主串中第一次出现的位置。

( )13. 一般情况下,n ×n 的三角矩阵压缩存储需要122n 个存储单元。

( ) 14. 一般情况下,三角矩阵压缩存储后存放元素的个数,等于压缩前元素个数的一半再加一。

数据结构C语言版期末考试试题(附带复习资料)[5篇材料]

数据结构C语言版期末考试试题(附带复习资料)[5篇材料]

数据结构C语言版期末考试试题(附带复习资料)[5篇材料]第一篇:数据结构C语言版期末考试试题(附带复习资料)“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。

A.HL=ps p 一>next=HL B. p一>next=HL;HL=p3 C. p一>next=Hl;p =HL;D.p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有()。

A.n—l条有向边 B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为()。

A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。

A.24 B.48 C. 72 D. 53 5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为()参数,以节省参数值的传输时间和存储参数的空间。

A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为()。

A.O(n)B.O(1)C.O(n2)D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。

2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.——中缀表达式3十x*(2.4/5—6)所对应的后缀表达式为————。

4.在一棵高度为h的3叉树中,最多含有——结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。

2011年9月全国计算机二级等级考试C语言公共基础知识选择92题+填空题46题(含答案)

2011年9月全国计算机二级等级考试C语言公共基础知识选择92题+填空题46题(含答案)

计算机二级C等级考试公共基础知识(1) 下面叙述正确的是______。

(C)A算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是______。

(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是______。

(B)A. 8B. 16C. 32D. 15(5) 下面概念中,不属于面向对象方法的是______。

(D)A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。

(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是______。

(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是______。

(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是______。

(C)A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。

(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指______。

(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 下列叙述中正确的是______。

(A)A. 线性表是线性结构B. 栈与队列是非线性结构C. 线性链表是非线性结构D. 二叉树是线性结构(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。

2011青海省计算机等级考试试题 二级C试题考试技巧与口诀

2011青海省计算机等级考试试题 二级C试题考试技巧与口诀

1、算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数2、在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)A. 调用语句B. 命令C. 口令D. 消息3、将E-R图转换到关系模式时,实体与联系都可以表示成(B)A. 属性B. 关系C. 键D. 域4、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A. 模拟现实世界中不同事物之间的联系B. 强调模拟现实世界中的算法而不强调概念C. 使用现实世界的概念抽象地思考问题从而自然地解决问题D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考5、在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报6、下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句7、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈8、在关系数据库中,用来表示实体之间联系的是(D)A. 树结构B. 网结构C. 线性表D. 二维表9、数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库10、检查软件产品是否符合需求定义的过程称为(A)A. 确认测试B. 集成测试C. 验证测试D. 验收测试11、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法12、希尔排序法属于哪一种类型的排序法(B)A.交换类排序法B.插入类排序法C.选择类排序法D.建堆排序法13、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD14、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)A. 自顶向下B. 由底向上C. 由内向外D. 由整体到局部15、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境16、结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性。

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

14、下列选项中,其平均查找性能与基于二叉排序树的查找相当的是
A.二分查找 B.顺序查找 C.分块查找 D.索引顺序查找
15、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。
A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
16、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形 B.引用型
C.指针型 D.常值引用型?
17、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
C. p一>next=Hl;p=HL;
D. p一>next=HL一>next;HL一>next=p
13、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
20、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
21、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A. HL=ps p一>next=HL
B. p一>next=HL;HL=p3
C. p一>next=Hl;p=HL;
D. p一>next=HL一>next;HL一>next=p
7、长度为n的顺序表,删除位置i上的元素(0≤i≤n一1),需要移动的元素个数为
1、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
2、已知关键字序列为{66,82,25,51,98,108},利用快速排序方法,以第一个元素为基准得到的一趟排序结果为
45、在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
46、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
43、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
44、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
A.head == NULL B head->next ==NULL
C.head->next ==head D head!=NULL
42、在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是 B 。
A.O(1) B.O(n) C.O(n2) D.O(nlog2n)
D.在单链表最后一个元素后插入一个新元素
5、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
6、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
C.top=top一1;V[mp]=x D.V[top]=x;top=top—l
4、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
40、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
41、不带头结点的单链表head为空的判定条件是 A 。
18、在以下的叙述中,正确的是 B 。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
19、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
11、深度为k的完全二叉树至多有( )个结点
A B C D
12、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HL
B. p一>next=HL;HL=p3
A 6 B 7 C 8 D 9
10、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
A.{25,51,66,82,98,108}
B.{25,51,66,98,82,108}
C.{51,25,66,108,98,82}
D.{51,25,66,82,98,108}
3、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
A.top=top+1;V[top]=x B.V[top]=x;top=top+1
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
30、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
C.顺序栈不需要判定栈空,而链栈需要判定
D.顺序栈不需要判定栈空,链栈也不需要判定
22、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
C.p->next ==head D.p == head
47、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
36、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
37、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
25、在平衡二叉树中插入一个结点后造成不平衡,设最低的不平衡结点为A,并已知A的左孩子平衡因子为0,右孩子平衡因子为1,则应该做( )型调整以使其平衡
A LL B LR C RL D RR
A.n—i B.n—i—l C.i D.i+1
8、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
C.对应顶点v的入度
D.依附于对应顶点v的边数
9、G是一个非连通无向图,共28条边,则该图至少有( )个顶点
34、长度为n的顺序表,删除位置i上的元素(0≤i≤n一1),需要移动的元素个数为
A.n—i B.n—i—l C.i D.i+1
35、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
C.head->next ==head D head!=NULL
28、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
C.n(n—1)/2条有向边 D.n(n一1)条有向边
29、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
31、如果最常用的操作是取第i个结点及其前驱,则采用 D 存储方式最节省时间。
A.单链表 B.双链表 C.单循环链表 D. 顺序表
32、若进栈序列为1,2,3,4,则不可能得到的出栈序列是( C )。
A)3,2,1,4 B)3,2,4,1
C)4,2,3,1 D)2,3,4,1
33、深度为k的完全二叉树至多有( )个结点
相关文档
最新文档