E__Temp2_2013数据结构试题
2013陕西省数据结构(C++)理论考试试题及答案

1、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以C)部分地址必须是连续 D)必须是不连续的2、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, EB) B, C, D, E, AC) E, A, B, C, DD) E, D, C, B, A3、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列C)顺序队列 D)链队列4、已知广义表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)))))5、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;6、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。
这样的排序方法是( A )。
A)直接选择排序 B)直接插入排序C)快速排序 D)起泡排序7、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, EB) B, C, D, E, AC) E, A, B, C, DD) E, D, C, B, A8、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
全国2013年1月自学考试数据结构导论试题

全国2013年1月自学考试数据结构导论试题全国2013年1月自学考试数据结构导论试题课程代码:02142请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.数据的基本单位是A.数据元素B.数据项C.字段D.域2.算法的空间复杂度是指A.算法中输入数据所占用的存储空间的大小B.算法本身所占用的存储空间的大小C.算法中所占用的所有存储空间的大小D.算法中需要的辅助变量所占用存储空间的大小3.从一个长度为100的顺序表中删除第30个元素,需向前移动的元素个数为A.29B.30C.70D.711 全国2013年1月自学考试数据结构导论试题全国2013年1月自学考试数据结构导论试题24.若线性表最常用的操作是存取第i个元素及其后继的值,则最节省操作时间的存储结构是A.单链表B.双链表C.单循环链表D.顺序表5.判断链栈LS是否为空的条件是A.LS->next= =LSB.LS->next= =NULLC.LS! =NULLD.LS= =NULL6.关于链队列的运算说法正确的是A.入队列需要判断队列是否满B.出队列需要判断队列是否空C.入队列需要判断队列是否空D.出队列需要判断队列是否满7.元素的进栈次序为A,B,C,D,E,则出栈中不可能...的序列是A.A,B,C,D,EB.B,C,D,E,AC.E,A,B,C,DD.E,D,C,B,A8.具有63个结点的完全二叉树是A.满二叉树B.二叉排序树C.哈夫曼树D.空树9.将含有80个结点的完全二叉树从根这一层开始,每层从左到右依次对结点编号,根结点的编号为1。
数据结构试题及答案()

1. 1.数据结构是指数据及其相互之间的______________。
当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。
2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。
3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0___(要超出才为满)_______________。
4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。
5. 5.设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 ,则二维数组W的数据元素共占用_______个字节。
W中第6 行的元素和第4 列的元素共占用_________个字节。
若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为__________。
6. 6.广义表A= (a,(a,b),((a,b),c)),则它的深度为____________,它的长度为____________。
7.7.二叉树是指度为2的____________________树。
一棵结点数为N的二叉树,其所有结点的度的总和是_____________。
8.8.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。
对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。
9.9.对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。
10.10.若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。
数据结构试题及答案

数据结构试题及答案⼀、选择题(共10题,每题1分,共10分)1.下⾯关于线性表的叙述中,错误的是哪⼀个?()A.线性表采⽤顺序存储,必须占⽤⼀⽚连续的存储单元B.线性表采⽤顺序存储,便于进⾏插⼊和删除操作C.线性表采⽤链接存储,不必占⽤⼀⽚连续的存储单元D.线性表采⽤链接存储,便于插⼊和删除操作2.在⼀个单链表中,已知q所指结点是p所指结点的前驱,若在p和q之间插⼊s所指结点,则执⾏的操作是()。
A. s->next=p->next;p->next=s;B. q->next=s;s->next=p;C. p->next=s->next;s->next=p;D. p->next=s;s->next=q;3.设有三个元素X,Y,Z顺序进栈,下列得不到的出栈排列是( )。
A.XYZ B. YZX C. ZXY D. ZYX4.若⽤⼀个长度为6的数组来实现循环队列,且当前rear和front的值分别为0和3,则从队列中删除⼀个元素,再增加两个元素后,rear和front的值分别是( )。
A.1和5 B.2和4 C.4和2 D. 5和15.下列说法中正确的是()。
A.⼆叉树就是度为2的树 B.⼆叉树中不存在度⼤于2的结点C.⼆叉树中⾄少有⼀个结点的度为2 D.⼆叉树中任何⼀个结点的度都为2 6.在具有n个结点的⼆叉链表中,共有()个空指针。
A. nB. n-1C. n+1D. 不确定7.根据⼆叉树与树的转换关系可知,深度为h的满⼆叉树对应的森林由()棵树构成。
A.1 B.log2n C. h/2 D. h8.在⼀个⽆向图中,所有顶点的度数之和等于所有边数的()倍。
A.1/2 B.1 C. 2 D. 49.对17个元素的查找表做折半查找,则查找长度为5的元素下标依次是()。
A.8,17 B.5,10,12 C.9,16 D.9,1710.关于排序,下列说法中正确的是()。
数据结构试题2

计算机专业数据结构试题一、选择题(每小题1分,共10分)1、在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为()A.O (n) B.O (1) C.O (n2 ) D.O (log2 n)2、设单链表中结点的结构为(data , link)。
已知指针q所指结点是指针p所指结事业的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?()A.s ->link= p->link ; p->link=s B.q->link=s ;s->link=pC.p->link=s->link ;s->link=p D.p->link=s ;s->link=q3、若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。
A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,24、一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程()A.较快B.较慢C.相同5、树中所有结点的度等于所有结点数加()A.0 B.1 C.-1 D.26、在一棵具有n个结点的二叉树中,所有结点的空子树个数等于()A.n B.n-1 C.n+1 D.2*n7、对长度为n的有序单链表,若搜索每个元素的概率相等,则顺序搜索到表中任一元素的平均搜索长度为()A.n/2 B.(n+1)/2 C.(n –1)/2 D.n/48、在无向图中定义顶点V i与V j之间的路径为从V i到达V j的一个()A.顶点序列B.边序列C.权值总和D.边的条数9、如果只想得到1024个元素组成的序列中的前5个最小元素,那么用()方法最快。
A.起泡排序B.快速排序C.堆排序D.直接选择排序10、设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表项的平均探查次数不超过1.5,则散列表项应能够至少容纳()个表项。
北京理工大学2013级数据结构B试题(A卷)_答案模板

、选择题1从逻辑结构上可以把数据结构分为【 A 、动态结构和静态结构 C 、线性结构和非线性结构2、在一个长度为n 的顺序存储的线性表中,向第i 个元素(n+1)之前插入一个新元 素时,需要从后向前依次后移【 B 】个元素。
4、在一个单链表中,已知q 所指结点是p 所指结点的前驱结点,若在q 和p 之间插入s 结点, 则执行【C 】。
A 、 s->next = p->next; p->next = s; B 、 p->next = s->next; s->next = p; C 、 q->next = s; s->next = p; D p->next = s; s->next = q;5、 一个栈的入栈序列是1, 2, 3, 4, 5,则栈不可能输出的序列是【C 】。
A 、54321B 、45321C 、43512D 123456、 判断一个队列Q (元素最多为Mt )为空的条件是【C 】。
A 、Q->rear —Q->front = M B 、Q->rear —Q->front -1 ==M C 、Q->rear == Q->frontD Q->rear + 1 == Q->front7、 在一个链队列中,假设f 和r 分别指向队首和队尾,贝朋入s 所指结点的运算是【A 】A 、r->next = s; r=s;B 、f->next = s; f=s;C 、s->next = r; r=s;D s->next = f; f=s;8深度为5的二叉树至多有【A 】个结点。
A 、31B 、32C 16D 109、 在一非空二叉树的中序遍历序列中,根结点的右边【 A 】。
A 、只有右子树上的所有结点B 、只有右子树上的部分结点C 、只有左子树上的所有结点B 、只有左子树上的部分结点10、 如果一棵完全二叉树有1001个结点,则其叶子结点个数为【D 】。
(2013年)专升本十套-数据结构(试题及答案)

9.数据结构试卷(一) 一、单选题(每题 2 分,共 20 分) 1. 栈和队列的共同特点是 ( A. 只允许在端点处插入和删除元素 B .都是先进后出C. 都是先进先出D. 没有共同点 用链接方式存储的队列,在进行插入运算时 仅修改头指针 仅修改尾指针)。
2. A. C.3.4.5.6. A7. ( ). 头、尾指针都要修改 头、尾指针可能都要修改 ( ) B. 栈 C. 线性表D. 二叉树B. D. 以下数据结构中哪一个是非线性结构? A. 队列设有一个二维数组 676(10),每个元素占一个空间, 表示。
A .688B . 678 树最适合用来表示 ( )。
A. 有序数据元素 C.元素之间具有分支层次关系的数据 二叉树的第 k 层的结点数最多为 ( ). .2k -1B.2K+1C.2K-1 若有 18 个元素的有序表存放在一维数组A[m][ n],假设 A[0][0]存放位置在 644(io), A[2][2]存放位置在问 A[3][3] (10)存放在什么位置?脚注 (10)表示用 10进制C . 692D .696B.无序数据元素 D .元素之间无联系的数据 D. 2 k-1A[19] 中,第一个元素放 A[1] 中,现进行二 分查找,则查找 A : 3]的比较序列的下标依次为 ( 3 B. 9 , 3 D. 9 , 5, 4, 对 n 个记录的文件进行快速排序,所需要的辅助存储空间大致为 A. 1,2, C. 9,5, )2,3 2,38. A. O (1) B. O ( n ) C. O (1og 2n ) D. O (n2) 9. 对于线性表( 7, 34, 55, 25, 64, 46, 20, 10)进行散列存储时,若选用 H (K ) =K %9 作为散列函数,则散列地址为 1 的元素有(A . 1B .2C .3 10. 设有 6 个结点的无向图,该图至少应有 (A.5B.6C.7D.8 二、填空题(每空 1 分,共 26 分) 1. 2.3. )个, D . 4 )条边才能确保是一个连通图。
2013数据结构大题408

2013数据结构大题408摘要:1.2013 年数据结构大题408 简介2.大题408 的主要考点3.大题408 的解题思路和方法4.大题408 的参考答案和解析5.总结正文:【2013 年数据结构大题408 简介】2013 年数据结构大题408 是计算机科学与技术领域中的一道重要的题目,主要考察的是数据结构的基础知识和应用能力。
数据结构是计算机科学与技术中的一个基础课程,它主要研究数据的组织和存储方式,以及如何高效地操作和处理数据。
大题408 是数据结构课程中的一道经典题目,它对于提高学生的数据结构应用能力和解决问题的能力有着重要的作用。
【大题408 的主要考点】大题408 的主要考点包括以下几个方面:1.数据结构的基础知识,如线性表、栈和队列、树和二叉树、图等。
2.数据结构的操作和处理,如插入、删除、排序、查找等。
3.数据结构的应用,如算法设计和分析、软件开发等。
4.数据结构的效率和优化,如时间复杂度和空间复杂度等。
【大题408 的解题思路和方法】解大题408 需要掌握以下几个解题思路和方法:1.认真阅读题目,理解题意,明确题目要求。
2.分析题目,找出考点和难点,确定解题思路和方法。
3.根据题目要求,设计数据结构和算法,进行编程实现。
4.调试程序,测试结果,检查是否符合题目要求。
5.对程序进行优化,提高程序的效率和正确性。
【大题408 的参考答案和解析】由于大题408 的具体题目内容未知,无法提供具体的参考答案和解析。
但是,可以根据以上的解题思路和方法,结合数据结构的基础知识和应用能力,进行解题和求解。
【总结】大题408 是数据结构课程中的一道经典题目,它对于提高学生的数据结构应用能力和解决问题的能力有着重要的作用。
解大题408 需要掌握数据结构的基础知识和应用能力,以及算法设计和分析的能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
E__Temp2_2013数据结构试题2013数据结构试卷一、选择题(每空题2分共30分)1.下列关于算法的说法,正确的是()。
A.程序一定是算法。
B.算法的可行性是指指令不能有二义性。
C.算法可以没有输入但必须有1个以上的输出。
D.算法必须是用计算机语言描述的。
2.从一个具有n个结点的单链表中查找值为x结点,在查找成功情况下,需平均比较()个结点。
A. n B. n/2 C. (n-1)/2 D. (n+1)/23.带头结点的单链表head为空的判定条件是( )。
A. head= =NULL B. head->next==NULLC. head->next= =head D. head!=NULL4. 循环队列存储在数组A[0..m]中,则入队时的操作为()。
A. rear=rear+1B. rear=(rear+1) mod (m-1)C. rear=(rear+1)mod mD. rear=(rear+1)mod(m+1)5. 广义表L=((a,b,c))的长度和深度分别是()。
A.1和1B.1和3C.1和2D.2和36.广义表运算式Tail(((a,b),(c,d)))的操作结果是()。
A.(c,d) B.c,d C.((c,d)) D.()7.表达式a*(b+c)-d的后缀表达式是()。
A.abcd*+- B.abc+*d- C.abc*+d- D.-+*abcd8.设n阶方阵A是一对称矩阵,为节省存储空间,将其下三角(包括对角线)以行序为主序存储在一维数组B(1: n(n+1)/2)中,则对任一上三角元素aij(i<j,1≤i≤n,1≤j≤n),其在一维数组b中的下标位置k是()。
< p="">A.i(i-1)/2+j B.j(j-1)/2+i C.i(j-1)/2+1 D.j(i-1)/2+19.广义表((a))的表头是()。
A.a B.(a) C.() D.((a))10.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A)单链表 B)仅有头指针的单循环链表C)双链表 D)仅有尾指针的单循环链表11. 在数据结构中,从逻辑上可以把数据结构分成()。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构12. 在一个不带头结点单链表H中,若要向表头插入一个由指针p 指向的结点,则执行()。
A. H=p; p->next=H;B. p->next=H; H=p;C. p->next=H; p=H;D. p->next=H->next; H->next=p;13. 栈的插入和删除操作在()进行。
A. 栈顶B. 栈底C. 任意位置D. 指定位置14. 从顺序串中删除一个字符的时间复杂度为( )。
A.O(1) B. O(n) C.O(1og2n) D. O(nlog2n)15. 以下说法正确的是( )。
A. 数据元素是数据的最小单位B. 数据项是数据的基本单位C. 原子类型不可再分解D. 数据项只能是原子类型二、填空题(每空1分共14分)1.当对一个线性表经常进行的是插入和删除操作时,采用存储结构为宜,当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,最好采用存储结构。
2.下面程序段的时间复杂度是。
i = 0;while(i<=n)i = i * 3;。
3.如果一个过程直接或间接地调用自己,则称这个过程是一个过程。
4.广义表L=(a,(b,c)),可用head()和tail()分别求广义表的头和尾,则c= ___________。
5. 用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串为。
6.循环队列的引入,目的是为了克服7.二维数组A[6][8]采用行序为主方式存储,每个元素占4个存储单元,已知A的起始存储地址(基地址)是1000,则A[2][3]的地址是8. 广义表(a,(a,b),d,e,((i,j),k))的长度是,深度是。
9. 在一个长度为n的顺序存储结构的线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需向后移动个元素10. 设有两个串p和q,求q在p中首次出现的位置的运算称为11.评估一个算法的优劣,通常从和两个方面考察12.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表的元素是,应采用存储结构。
三、判断题(10分)1、抽象数据类型(ADT)包括定义和实现两方面,其中定义是独立于实现的,定义仅给出一个ADT的逻辑特性,不必考虑如何在计算机中实现。
( )2、顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
()3、在决定选取何种存储结构时,一般不考虑各结点的值如何。
()4、对任何数据结构链式存储结构一定优于顺序存储结构。
()5、循环链表不是线性表。
()6、队列是一种插入和删除操作分别在表的两端进行的线性表,是一种先进后出的结构。
()7、数组元素的下标值越大,存取时间越长。
( )8、一个广义表的表头总是一个广义表。
()9、串是一种特殊的线性表,其特殊性体现在可以顺序存储。
()10、在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面:p->next = s; s->next = p->next; ( )四、分析应用题(每个问题2分,第四题5分计25分)1、已知head为带头结点的单循环链表的头指针,链表中的数据元素依次为(a1,a 2,a3,a4,…,an),A为指向空的顺序表的指针。
阅读以下程序段,并回答问题:(1)写出执行下列程序段后的顺序表A中的数据元素;(2)简要叙述该程序段的功能。
if(head->next!=head){p=head->next;A->length=0;while(p->next!=head){p=p->next;A->data[A->length ++]=p->data;if(p->next!=head)p=p->next;}}(1)(2)2.已知链串的存储结构描述如下:#define NodeSize 4typedef struct Node {char data [NodeSize];struct Node * next;} * LinkStr;阅读下列算法,并回答问题:(1)t1和t2的串值分别为″Chinese″和″China″时,写出f31(t1,t2)的返回值;(2)t1和t2的串值分别为″Japan″和″Japanese″时,写出f31(t1,t2)的返回值;(3)t1和t2的串值都为″string″时,写出f31(t1,t2)的返回值;(4)简述函数f31的功能。
inf f31(LinkStr t1,LinkStr t2){//串值以′\0′为结束符int i;while (1){for (i=0;i<nodesize;i++){< p="">if (t1->data[i]= =′\0′&&t2->data[i]= =′\0′return 0;if(t1->data[i]= =′\0′))return –1;if(t2->data[i]= =′\0′))return 1;if(t1->data[i]>t2->data[i]return 1;if(t1->data[i]data[i]return –1;}t1=t1->next;t2=t2->next;}}(1)(2)(3)(4)3.已知用有序链表存储整数集合的元素。
阅读算法f30,并回答下列问题:(1)写出执行f30(a,b)的返回值,其中a和b分别为指向存储集合{2,4,5,7,9,12}和{2,4,5,7,9}的链表的头指针;(2)简述算法f30的功能;(3)写出算法f30的时间复杂度。
int f30(LinkList ha,LinkList hb){//LinkList是带有头结点的单链表//ha和hb分别为指向存储两个有序整数集合的链表的头指针LinkList pa,pb;pa=ha->next;pb=hb->next;while(pa && pb && pa->data==pb->data){ pa=pa->next;pb=pb->next;}if(pa==NULL && pb==NULL) return 1;else return 0;}(1)(2)(3)4、已知广义表L=(a,(b,c),(d,e)),试画出其存储结构图(5分)五、写算法题(20分)1、假设以带头结点的单链表表示有序表,单链表的类型定义如下:typedef struct node{DataType data;struct node *next}LinkNode, *LinkList;编写算法,从有序表A中删除所有和有序表B中元素相同的结点。
(6分)2、编写算法在字符串s中删除字符ch。
(6分)3、试编写算法将两个有序的单链表归并成一个新的有序单链表。
(8分)linklist Merge(linklist A, linklist B) /*将有序单链表合并后由函数带回 */</nodesize;i++){<></j,1≤i≤n,1≤j≤n),其在一维数组b中的下标位置k是()。
<>。