1、知识点:01绪论02顺序表03链表04栈05链队列06循环队列07串08数组的顺序表示09稀疏矩阵10广义表11二叉树的基本概念12二叉树遍历、二叉树性质13树、树与二叉树的转换14赫夫曼树15图的定义、图的存储16图的遍历17图的生成树18静态查找(顺序表的查找、有序表的查找)19动态查找(二叉排序树、平衡树、B树)20哈希查找21插入排序(直接插入、折半插入、2路插入、希尔排序)22选择排序(简单选择、树形选择、堆排序)23快速排序、归并排序101A1(1)数据的逻辑结构是(A)。 A数据的组织形式 B数据的存储形式 C数据的表示形式 D数据的实现形式101A1(2)组成数据的基本单位是(
2、C)。 A数据项 B数据类型 C数据元素 D数据变量101B1(3)与顺序存储结构相比,链式存储结构的存储密度(B)。 A大 B小 C相同 D以上都不对101B2(4)对于存储同样一组数据元素而言,(D)。 A顺序存储结构比链接结构多占空间 B在顺序结构中查找元素的速度比在链接结构中查找要快 C与链接结构相比,顺序结构便于安排数据元素 D顺序结构占用整块空间而链接结构不要求整块空间101B2(5)下面程序的时间复杂度为(B)。 x=0; for(i=1;in;i+) for(j=i+1;j=n;j+) x+; AO() BO(n2) CO(1) DO(n)101B2(6)下面程序的时间复杂度为
3、(C)。 for(i=0;im;i+) for(j=0;jn;j+) Aij=i*j; AO(m2) BO(n2) CO(mn) DO(m+n)101C2(7)下面程序段的执行次数为(B)。 for(i=0;ii;j+) state; An(n+1)/2 B(n-1)(n+2)/2 Cn(n+1)/2 D(n-1)(n+2)101D3(8)下面程序的时间复杂度为(A)。 for(i=0;im;i+) for(j=0;jt;j+) cij=0; for(i=0;im;i+) for(j=0;jt;j+) for(k=0;kllink和p-rlink表示,则下列等式中(D)成立。 Ap=p-lli
4、nk Bp=p-rlink Cp=p-llink-llink Dp=p-llink-rlink103A1(16)线性表采用链式存储时,其地址(D)。 A必须是连续的 B一定是不连续的 C部分地址必须是连续的 D连续与否均可以103B1(17)线性表是(A)。 A一个有限序列,可以为空 B一个有限序列,不可以为空 C一个无限序列,可以为空 D一个无限序列,不可以为空103B1(18)链式存储的线性表中的指针指向其(B)。 A前趋结点 B后继结点 C物理前趋 D物理后继103C2(19)设在链式存储的线性表中,设结点结构为 data link ,欲在p结点后插入一个结点q的关键步骤为(A)。 Aq
5、-link=p-link; p-link=q; Bp-link=q-link; p-link=q; Cq-link=p-link; q-link=p; Dp-link=q-link; q-link=p;103C3(20)设有指针head指向的带表头结点的单链表,现将指针p指向的结点插入表中,使之成为第一个结点,其操作是(A)(其中,p-next、head-next分别表示p、head所指结点的链域)。 Ap-next=head-next; head-next=p; Bp-next=head-next; head=p; Cp-next=head; head=p; Dp-next=head; p=
6、 head;104A1(21)在栈中,下列说法正确的是(A)。 A每次插入总是在栈顶,每次删除也总是在栈顶。 B每次插入总是在栈顶,每次删除总是在栈底。 C每次插入总是在栈底,每次删除总是在栈顶。 D每次插入总是在栈底,每次删除也总是在栈底。104B2(22)设有一个栈,按A、B、C的顺序进栈,则下列(C)为不可能的出栈序列。 AABC BCBA CCAB DACB104B2(23)设有一个栈,按A、B、C、D的顺序进栈,则下列(D)为可能的出栈序列。 ADCAB BCDAB CDBAC DACDB104A2(24)顺序栈的上溢是指(B)。 A栈满时作退栈运算 B栈满时作进栈运算 C栈空时作退
7、栈运算 D栈空时作进栈运算104D3(25)顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为(D)。 Aselemtop=e; stop=stop+1; Bselemtop+1=e; stop=stop+1; Cstop=stop+1; selemtop+1=e; Dstop=stop+1; selemtop=e;104C2(26)设有5个元素A,B,C,D,E顺序进栈(进栈过程中可以出栈),出栈后依出栈次序进入队列,已知其出队次序为D,C,E,B,A,则该栈容量必定不小于(C)。 A2 B3 C4 D5104B2(27)设栈S的初始状态
8、为空,现有五个元素组成的序列1,2,3,4,5,对该序列在栈S上依次进行PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH操作,出栈的元素序列是(C)。 A5,4,3,2,1 B2,1 C2,3 D3,4104B2(28)在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top为栈顶指针,则当做出栈处理时,top变化为(C)。 Atop不变 Btop=0 Ctop- - Dtop+104D3(29)向一个栈顶指针为hs的链栈中插入一个*s结点时,应执行(B)。 Ahs-next=s; Bs-next=hs;hs=s; Cs-next=hs-next;hs-nex
9、t=s; Ds-next=hs;hs=hs-next;105A1(30)在队列中,下列说法正确的是(A)。A每次插入总是在队尾,每次删除总是在队头。 B每次插入总是在队尾,每次删除也总是在队尾。C每次插入总是在队头,每次删除也总是在队头。 D每次插入总是在队头,每次删除总是在队尾。105D3(31)在带头结点的链队列q中,用qfront表示队头指针,qrear表示队尾指针,结点结构为data next ,删除链队列的队头结点的主要语句为(B)。 As=qfront; qfront-next= snext; Bs=qfront-next; qfront-next= snext; Cs=qfron
10、t-next; qfront= snext; Ds=q; qfront-next= snext;106C3(32)循环队列sq中,用数组elem存放数据元素,sqfront指示队头元素的前一个位置,sqrear指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则队列满的条件为(D)。 Asqfront= sqrear Bsqfront= sqrear+1 C(sqfront +1)mod MAXSIZE= sqrear D(sqrear+1)mod MAXSIZE= sqfront106C2(33)循环队列sq中,用数组elem存放数据元素,sqfront指示队头元素的前一个位置,sqr
11、ear指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则在队列未满时元素x入队列的主要操作为(A)。 Asqrear= (sqrear+1)mod MAXSIZE; sqelemsqrear=x; Bsqelemsqrear=x; sqrear= (sqrear+1)mod MAXSIZE; Csqfront= (sqfront+1)mod MAXSIZE; sqelemsqfront=x; Dsqelemsqfront=x; sqfront= sqfront+1;106B2(34)循环队列sq中,用数组elem025存放数据元素,sqfront指示队头元素的前一个位置,sqrear指
12、示队尾元素的当前位置,设当前sqfront为20,sqrear为12,则当前队列中的元素个数为(D)。 A8 B16 C17 D18106B2(35)设循环队列的元素存放在一维数组Q030中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。如果队列中元素的个数为11,front的值为25,则rear应指向(B)元素。 AQ4 BQ5 CQ14 DQ15105A1(36)队列操作的原则是(A)。 A先进先出 B后进先出 C只能进行插入 D只能进行删除105B2(37)一个队列的入列序列是1234,则队列的输出序列是(B)。 A4321 B1234 C1432 D324110
13、8C2(38)设6行8列的二维数组A68=(aij)按行优先顺序存储,若第一个元素的存储位置为200,且每个元素占3个存储单元,则元素a54的存储位置为(B)。 A308 B305 C266 D269109C2(39)设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为(B)。 A13 B33 C18 D40108A1(40)设二个数组为A07、B-52,38,则这两个数组分别能存放的字符的最大个数是(C)。 A7和35 B1和5 C8和48 D1和6108C3(41)二维数组Mi,j的元素是4个字符(每个字符
14、占一个存储单元)组成的串,行下标i的范围从0到4,列下列j的范围从0到5。M按行存储时元素M3,5的起始地址与M按列存储时元素(B)的起始地址下同。 AM2,4 BM3,4 CM3,5 DM4,4108C2(42)设二维数组为M08,010,每个元素占2L个存储单元,以行序为主序存储,第一个元素的存储位置为P。存储位置为P+50L的元素为(A)。 AM2,3 BM2,2 CM3,3 DM3,4108C2(43)设二维数组A的维数界偶定义为18,010,起始地址为LOC,每个元素占2L个存储单元,以行序为主序存储方式下,某数据元素的地址为LOC+50L,则在列序为主序存储方式下,该元素的存储地址
15、为(D)。 ALOC+28L BLOC+36L CLOC+50L DLOC+52L109B2(44)数组A140,130采用三元组表示,设数组元素与下标均为整型,则在非零元素个数小于(D)时,才能节省存储空间。 A1200 B401 C399 D400108A1(45)一维数组通常采用顺序存储结构,这是因为(C)。A一维数组是一种线性数据结构 B一维数组是一种动态数据结构C一旦建立了数组,则数组中的数据元素之间的关系不再变动 D一维数组只能采用顺序存储结构109A1(46)对稀疏矩阵进行压缩存储的目的是(B)。 A方便存储 B节省存储空间 C方便运算 D节省运算时间108D3(47)设二维数组
16、a05,06按行存储,每个元素占d个存储单元,如果每个元素改为2d个存储单元,起始地址不变,则元素a2,6的存储地址将要增加(A)个存储单元。 A20d B21d C38d D39d108B2(48)一维数组与线性表的区别是(A)。 A前者长度固定,后者长度可变 B后者长度固定,前者长度可变 C两者长度均固定 D两者长度均可变107A1(49)下列关于串的叙述中,不正确的是(B)。 A串是字符的有限序列 B空串是由空格构成的串 C模式匹配是串的一种重要运算 D串既可以采用顺序存储,也可以采用链式存储107B2(50)以下论断正确的是(A)。 A“”是空串,“ ”是空白串 B“BEIJING”是
17、“BEI JING”的子串 C“something”next;或L-next=p;)。103C3(7)某链表如下所示 info link p A B C D E 若要删除值为C的结点,应做操作(p-link=p-link-link)。104A1(8)对于栈只能在(栈顶)插入和删除元素。104C2(9)设有一空栈,现有输入序列1,2,3,4,5,6,经过push,push,pop,push,pop,push,push后,输出序列是(2、3)。106B2(10)有一个循环队列如下图,其队满条件是(front=(rear+1)%n),队列空的条件是(rear=front)。 front 队头指针 r
18、ear 队尾指针109B2(11)一个稀疏矩阵为,则对应的三元组线性表为(0,2,2),(1,0,3),(2,2,-1),(2,3,5)。108C2(12)设有二维数组A09,019,其每个元素占两个字节,数组按列优先顺序存储,第一个元素的存储地址为100,那么元素A6,6的存储地址为(232)。112B1(13)在一棵二叉排序树上按(中序)遍历得到的结点序列是一个有序序列。111C3(14)对于一棵具有n个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为2n个,其中(n-1)个用于链接孩子结点。112B2(15)对于下面的二叉树,按后序遍历得到的结点序列为(4,2,5,6,3,1
19、)。 1 2 3 4 5 6115B1(16)设无向图G的顶点数为n,图G最少有(0)边。117C3(17)对下列图 1 6 2 5 3 4它的生成树有(6)棵。118C3(18)假定在有序表R019上进行二分查找,则比较三次查找成功的结点数为(4)。120D3(19)设有两个散列函数H1(K)=K mod 13和H2(K)=K mod 11+1,散列表为T012,用双重散列法(又称二次散列法)解决冲突。函数H1用来计算散列地址,当发生冲突时,H2作为计算下一个探测地址的地址增量。假定某一时刻散列表T的状态为: 0 1 2 3 4 5 6 7 8 9 10 11 12 T: 80 55 34下一个被插入的关键码为42,其插入位置是(0)。122C3(20)已知一棵二叉排序树如下图所示,则在查找成功的情况下查找每个元素的平均查找长度为(2.75)。 80 50 90 40 70 100 60 75三、完形