数据结构复习四.docx
- 文档编号:28464087
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:25
- 大小:72.81KB
数据结构复习四.docx
《数据结构复习四.docx》由会员分享,可在线阅读,更多相关《数据结构复习四.docx(25页珍藏版)》请在冰豆网上搜索。
数据结构复习四
1、已知无向连通网的邻接矩阵如下所示,试画出该无向连通网以及所对应的最小生成树。
2、对于给定的5个字符w={a、b、c、d、e},它们出现的频率分别为0.15,0.25,0.20,0.05,0.35请求出:
①构造出赫夫曼树。
②WPL值。
带权路径长度WPL=0.15*3+0.05*3+0.2*2+0.25*2+0.35*2=2.2
1、数据的逻辑结构被形式地定义为B=(K,R),其中K是数据元素的有限集合,R是K上的( D)有限集合。
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、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储( C )。
A、数据的处理方法 B、数据元素的类型
C、数据元素之间的关系D、数据的存储方法
7、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素的方法以及它们之间的( B )和运算等的学科。
A、结构 B、关系C、运算D、算法
8、数据的( B )包括集合、线性、树形和图状结构四种基本类型。
A、存储结构 B、逻辑结构C、基本运算D、算法描述
9、算法的计算量的大小称为计算的( B )
A、效率B、复杂性C、现实性D、难度
10、下面关于算法说法错误的是( D )
A、算法最终必须由计算机程序实现
B、为解决某问题的算法同为该问题编写的程序含义是相同的
C、算法的可行性是指指令不能有二义性
D、以上几个都是错误的
11、以下数据结构中,( A )是非线性数据结构
A、树B、字符串C、队D、栈
12、连续存储设计时,存储单元的地址( A )
A、一定连续B、一定不连续C、不一定连续D、部分连续,部分不连续
13、以下数据结构中( A )是线性结构。
A、队列B、有向图C、树D、霍夫曼树
14、线性表元素之间的关系是( A )。
A、一对一B、一对多C、多对多D、无关系
15、树结构元素之间的关系是( )。
A、一对一B、一对多C、多对多D、无关系
16、序偶
A、前驱B、后继C、前导D、前沿
17、下列四种基本的逻辑结构中,结构结点间不存在任何逻辑联系的是( A )
A、集合 B、线性结构
C、树形结构 D、图形结构
18、下列程序段的时间复杂度为(A)
i=1;k=0;n=100;
do{
k=k+10*i;
i=i++;
}while(i!
=n);
A、O
(1)B、O(n)C、O(i×n)D、O(i)
19、计算机算法必须具备输入、输出和(C)。
A、计算方法 B、排序方法 C、解决问题的有限运算步骤 D、程序设计法
20、若对数据结构采用了顺序存储,第一个节点地址为1001,每个节点的值需占用2个存储单元,则第三个节点的起始地址为( B)。
A、1003 B、1005 C、1006 D、1007
21、( B )是数据的基本单位。
A、数据结构B、数据元素C、数据项D、数据类型
22、一般而言,最适合描述算法的语言为( C )。
A、自然语言B、计算机程序语言C、伪语言D、数学公式
23、一种抽象数据类型包括数据和(B)两个部分。
A、数据类型B、操作C、数据抽象D、类型说明
24、当一个作为实际传递的对象占用的存储空间较大并可能被修改时,应最好说明为(B),以节省参数值的传输时间和存储参数的空间。
A、基本类型B、引用型C、指针型D、常值引用型
25、链表不具备的特点是( A )。
A、可随机访问任一结点B、插入删除不需要移动元素
C、不必事先估计存储空间D、所需空间与其长度成正比
26、不带头结点的单链表head为空的判定条件是( A )
A、head==NULLB、head->next==NULL
C、head->next==headD、head!
=NULL
27、带头结点的单链表head为空的判定条件是( B )
A、head==NULLB、head->next==NULL
C、head->next==headD、head!
=NULL
28、带头结点的双循环链表L为空表的判定条件是( D )
A、L==NULLB、L->next==NULL
C、L->prior==NULLD、L->next==L
29、非空的循环单链表head的尾结点(由p所指向)满足( C )
A、p->next==NULLB、p==NULL
C、p->next==NULLD、p==head
30、在循环双链表的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->right->next=s;
D、s->next=p;s->prior=p->prior;p->prior->next=s;p->prior=s;
31、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行( B )操作与链表的长度有关。
A、删除单链表中的第一个元素
B、删除单链表中的最后一个元素
C、在单链表第一个元素前插入一个新元素
D、在单链表最后一个元素后插入一个新元素
32、与单链表相比,双链表的优点之一是( D )。
A、插入、删除操作更简单
B、可以进行随机访问
C、可以省略表头指针或表尾指针
D、顺序访问相邻结点更灵活
33、串是一种特殊的线性表,其特殊性体现在( B )
A、可以顺序存储B、数据元素是一个字符
C、可以链式存储D、数据元素可以是多个字符
34、若已知一个栈的进栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn。
若p1=n,则pi(1
A、iB、n=iC、n-i+1D、不确定
35、若已知一个栈的进栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn。
若pn=n,则pi(1
A、iB、n=iC、n-i+1D、不确定
36、若已知一个栈的进栈序列1,2,3,…,n,其输出序列为p1,p2,p3,…,pn。
若pn=n,若p1=3,则p2( A )
A、可能是2B、一定不是2C、可能是1D、一定是1
37、若已知一个栈的进栈序列p1,p2,p3,…,pn,输出序列是1,2,3,…,n。
若p3=1,则p1( C )
A、可能是2B、一定是2C、不可能是2D、不可能是3
38、判定一个顺序栈st(最多元素为MaxSize)为空的条件是( B )
A、st.top!
=0B、st.top==0C、st.top!
=MaxSizeD、st.top==MaxSize
39、判定一个顺序栈st(最多元素为MaxSize)为栈满的条件是( D )
A、st.top!
=0B、st.top==0C、st.top!
=MaxSizeD、st.top==MaxSize
40、判定一个环形队列qu(最多元素为MaxSize)为空的条件是( C )
A、qu.rear-qu.front==MaxSizeB、qu.rear-qu.front-1==MaxSize
C、qu.front==qu.rearD、qu.front==qu.rear+1
41、判定一个环形队列qu(最多元素为MaxSize)为满队列的条件是( A )
A、(qu.rear+1)%MaxSize==qu.frontB、qu.rear-qu.front-1==MaxSize
C、qu.front==qu.rearD、qu.front==qu.rear+1
42、环形顺序队列中是否可以插入下一个元素,( A )
A、与队头指针和队尾指针的值有关
B、只与队尾指针的值有关,与队头指针的值无关
C、只与数组大小有关,与队首指针和队尾指针的值无关
D、与曾经进行过多少次插入操作有关
43、在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算是( B )
A、f->next=s;f=s;B、r->next=s;r=s;
C、s->next=r;r=s;D、s->next=s;r=s;
44、( D )是C语言中”abcd321ABCD”的子串。
A、abcdB、321ABC、”abcABC”D、”21AB”
45、在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算是( C )
A、r=f->nextB、r=r->nextC、f=f->nextD、f=r->next
46、设有两个串p和q,求q在p中首次出现的位置的运算称作( B )
A、连接B、模式匹配C、求子串D、求串长
47、串是( D )
A、一些符号构成的序列B、一些字母构成的序列
C、一个以上的字符构成的序列D、任意有限个字符构成的序列
48、在一个具有n个单元的顺序栈中,假定以地址底端作为栈底,以top作为栈顶指针,则当作退栈处理时,top变化为( C )
A、top不变B、top+=nC、top--D、top++
49、若线性表采用链式存储,则表中各元素的存储地址是( C )
A、必须是连续的B、部分地址是连续的C、一定是不连续的D、不一定连续
50、( D )不是线性表的特性。
A、除第一个元素之外,每个元素都有前驱
B、除最后一个元素外,每个元素都有后继
C、线性表是数据的有限序列D、线性表的长度为n,且n≠0
51、下列关于线性表存储结构的叙述中正确的是( D )。
A、链表中的元素一定存放在不连续的存储空间里
B、链表中的元素一定存放在连续的存储空间里
C、长度变化频繁的线性表最好采用顺序存储结构
D、链表不能进行随机存取
52、以下( C )不是栈的基本运算。
A、从栈顶删除一个元素
B、判断一个栈是否为空
C、在栈中的第i个元素之前插入一个新元素
D、读取栈顶元素的值
53、设计一个判别表达式中左、右括号是否配对出现的算法,采用( B )数据结构最佳。
A、线性表的顺序存储结构B、栈
C、队列D、线性表的链式存储结构
54、在进栈运算时,应先判别栈是否(B)。
A、空B、满C、上溢D、下溢
55、在作出栈运算时应先判别栈是否(A)。
A、空B、满C、上溢D、下溢
56、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?
(B)
A、1和5B、2和4C、4和2D、5和1
58、在计算递归函数时,如不使用递归过程,则一般情况下必须借助于(A)数据结构。
A、栈B、树C、双向队列D、广义表
59、设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为(D)。
A、front=front+1B、front=(front+1)%m
C、rear=(rear+1)%mD、front=(front+1)%(m+1)
60、线性表的顺序存储结构是一种( A)的存储结构。
A、随机存储B、顺序存储C、索引存取D、散列存取
61、在顺序表上做增、删结点运算的平均时间复杂度是( B ).
A、O
(1)B、O(n)C、O(n2)D、O(log2n)
62、在顺序表中,只要知道( D ),就可以在相同的时间内求出任一结点的存储地址。
A、开始结点B、终端结点C、向量大小D、基地址和结点大小
63、在非空线性表中,有且只有一个直接前驱和一个直接后继的结点是(C )。
A、开始结点B、终端结点C、内部结点D、所有结点
64、顺序表中逻辑上相邻的结点的物理位置为( A )。
A、一定相邻B、不必相邻C、按某种规律排列D、不要求
65、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是(B )。
A、O
(1)B、O(n)C、O(n2)D、O(log2n)
66、在( B )运算中,使用顺序表比链表好。
A、插入B、根据序号查找C、删除D、根据元素值查找
67、利用双向链表作线性表的存储结构的优点是( B)。
A、便于单向进行插入和删除的操作B、便于双向进行插入和删除的操作
C、节省空间D、便于销毁结构释放空间
68、一个字串在包含它的主串中的位置是指(D )。
A、子串的最后那个字符在主串中的位置
B、子串的最后那个字符在主串中首次出现的位置
C、子串的第一个字符在主串中的位置
D、子串的第一个字符在主串中首次出现的位置
69、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( C )
A、顺序表B、用头指针表示的循环单链表
C、用尾指针表示的循环单链表D、单链表
70、有一个含头结点的双向循环链表,头指针为head,则其为空的条件是(C)
A、head->priro==NULLB、head->next==NULL
C、head->next==headD、head->next->priro==NULL
71、一维数组和线性表的区别是( A )
A、前者长度固定,后者长度可变B、后者长度固定,前者长度可变
C、两者长度均固定D、两者长度均可变
72、二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素( B )的起始地址相同。
A、M[2][4]B、M[3][4]C、M[3][5]D、M[4][4]
73、数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是( C )
A、80B、100C、240D、270
73、数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( C )
A、SA+141B、SA+144C、SA+222D、SA+225
74、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a1,1为第一个元素,其存储地址为1,每个元素占1个地址空间,则a8,5的地址为( B )
A、13B、33C、18D、40
75、一个n*n的对称矩阵,如果以行或列为主序压缩放入内存,则容量为( C )
A、n*nB、n*n/2C、n*(n+1)/2D、(n+1)2/2
76、稀疏矩阵一般的压缩存储方法有两种,如( C )
A、二维数组合三维数组B、三元组合散列
C、三元组和十字链表D、散列和十字链表
77、广义表((a),a)的表头是(a),表尾是( C)
A、aB、bC、(a)D、((a))
78、广义表((a,b,c,d))的表尾是( B )
A、aB、()C、(a,b,c,d)D、((a,b,c,d))
79、广义表((a,b,c,d))的长度是( A )
A、1B、2C、3D、4
80、已知广义表L=((x,y,z),(u,t,w)),从L表中取出原子t的运算是( C )
A、head(tail(tail(L)))B、tail(head(head(tail(L))))
C、head(tail(head(tail(L))))D、head(head(tail(tail(L))))
81、若广义表A=(a,b,(c,d),(e,(f,g))),则进行head(tail(head(tail(tail(A)))))的结果是( D )
A、(g)B、(d)C、(c)D、d
82、对稀疏矩阵进行压缩存储目的是( C )
A、便于进行矩阵运算B、便于输入和输出
C、节省存储空间D、降低运算的时间复杂度
83、设广义表L=((a,b,c)),则L的长度和深度分别为( C )
A、1和1B、1和3C、1和2D、2和3
84、在三对角矩阵中,非零元素的行i和列标j的关系是( D )
A、i>jB、i==jC、i 85、若将n阶对称矩阵A的下三角部分以行序为主序压缩存储到一维数组B中,A的下标下界为0,B的下标下界为1。 那么,A中的任一下三角元素aij在矩阵B中的位置为( C ) A、i(i+1)/2+jB、i(i+1)/2+j-1 C、i(i+1)/2+j+1D、j(j+1)/2+i 86、广义表((),())的深度为( C ) A、0B、1C、2D、3 87、所谓稀疏矩阵指的是( C )。 A、零元素个数较多的矩阵 B、零元素个数占矩阵元素总个数一半的矩阵 C、零元素个数远远多于非零元素个数且分布没有规律的矩阵 D、包含有零元素的矩阵
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习