全国2004年1月高等教育自学考试数据结构试题
2004级数据结构试题答案

东北林业大学 2005-2006学年第二学期考试试题 学院:信息学院 教研室(学科)主任:第3 页共 3 页 考试科目: 数据结构(A )考试时间:120分钟 试卷总分 100分 题号 一 二 三 四 五 总分 得分 评卷 教师 一、单项选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题1.5分,总计15分) 1、从逻辑上可以把数据结构分为( )两大类。
A .动态结构、静态结构 B .顺序结构、链式结构 C .线性结构、非线性结构 D .初等结构、构造型结构 答案( ) 2、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A .顺序表 B .双链表 C .带头结点的双循环链表 D .单循环链表 答案( ) 3、循环队列A[0..m-1]存放其元素值,用front 和rear 分别表示队头和队尾,则当前队列中的元素数是( )。
A.(rear-front+m)%m B. rear-front+1 C. rear-front-1 D. rear-front 答案( ) 4、串的长度是指( )。
A .串中所含不同字母的个数 B .串中所含字符的个数 C .串中所含不同字符的个数 D .串中所含非空格字符的个数 答案( ) 5、设广义表L=((a,b,c )),则L 的长度和深度分别为( )。
A. 1和1 B. 1和3 C. 1和2 D. 2和3 答案( ) 6、二叉树的先序遍历和中序遍历如下: 先序遍历:EFHIGJK ;中序遍历: HFIEJKG 。
该二叉树根的右子树的根是:( )A. EB. FC. GD. H答案( )7、深度为h 的满m 叉树的第k 层有( )个结点。
(1=<k=<h)A .m k-1B .m k -1C .m h-1D .m h -1答案( )8、关键路径是事件结点网络中( )。
自考数据结构试题及答案

自考数据结构试题及答案一、选择题1. 数据结构是指()A. 数据的存储和管理方式B. 用于组织和管理数据的方法C. 数据的存储结构D. 数据的逻辑结构和物理结构答案:B2. 下列哪种数据结构不是线性结构()A. 栈B. 队列C. 链表D. 树答案:D3. 在一棵完全二叉树中,具有n个节点的左子树中最大可能的节点个数是()A. nB. n+1C. n/2D. 2n答案:C4. 设计一个函数,用于判断一个输入字符串是否为回文串,即正序和逆序都相同的字符串。
以下哪种数据结构最适合解决这个问题()A. 队列B. 栈C. 链表D. 二叉树答案:B5. 在数据结构中,栈是一种()结构。
A. 先进后出B. 先出后进C. 先进先出D. 后进先出答案:A二、填空题1. 在图的深度优先遍历算法中,使用栈来存储待访问节点的顺序。
2. 哈希表是一种利用哈希函数将键映射到索引的数据结构,其查找的平均时间复杂度为O(1)。
3. 线性表中,表头节点的指针域指向(空),表尾节点的指针域指向(空)。
4. 链表的插入和删除操作的时间复杂度都是O(1)。
5. 图是一种由顶点和边组成的数据结构,可以表示实际生活中的各种问题。
三、简答题1. 请简要说明线性表和链表的异同。
线性表和链表都是线性结构,可用于存储有序的数据。
线性表是用数组实现的,需要连续的内存空间来存储数据,查询元素时具有较好的性能。
而链表则是由节点及节点间的指针组成,可以灵活地分配内存空间,插入和删除元素时更为高效。
两者的不同在于数据的存储方式。
线性表具有固定长度,需要提前分配内存空间,而链表可以根据需要动态分配节点,不存在固定长度的限制。
2. 树和图有何区别?树和图都是非线性结构,可以用于表示有关联关系的数据。
它们的区别在于:树是一种特殊的图,具有层级结构且不存在环路,每个节点最多只有一个父节点;而图则没有层级关系和环路的限制,节点之间可以有任意多的关联。
树一般用来表示具有层次关系的数据,如文件系统、家谱等,而图则适用于表示复杂的网络关系,如社交网络、路由图等。
2001年到2006年自考数据结构试题和答案2

全国2004年10月卷答案一、单项选择题DABAC CCBDA ABABD// 5.可以简单的计算,空域为3->7,总共5个,对长则为21 - 5 = 167.c//BDBABDABDABBDA123失败,比较3次BDBABDABDABBDA1失败,比较1次BDBABDABDABBDA12失败,比较2次BDBABDABDABBDA1失败,比较1次BDBABDABDABBDA123成功,比较3次共计10次10.dA/B/ | \C D F|E二、填空题16.(一组)运算17. 直接前驱18. SXSSXXSSXSSXXX19. 模式匹配20. 5n - 6N+2N-2+2N-4=5N-6// n阶5对角阵// 1 1 1 0 0 ............// 1 1 1 1 0 ............// 1 1 1 1 1 0 ..........// 0 1 1 1 1 1 0.........// 0 0 1 1 1 1 1 0 ......// ....0 1 1 1 1 1 0 ....// ......................// ......................21. 50// 63 < 100 < 127, 最下一层叶子数:100 - 63 = 37// 倒数第2层叶子数:32 - [ 37 / 2 ] = 13 []向上取整22. 径?23. 待排关键字(记录)?24. 有序的?25. ?// 一些概念题,因为没书,很久没接触了,可能不准确。
三、解答题略28划分后左边:(55) (28) (73) (91) (37) 右边:(64),(19),(82),(46)第一次Merge之后:(28,55)(73) (91) (37) 右边:(64),(19),(82),(46)第二次Merge之后:(28,55)(73,91) (37) 右边:(64),(19),(82),(46)第三次Merge之后:(28,55,73,91)(37) 右边:(64),(19),(82),(46)第四次Merge之后:(28,37,55,73,91) 右边:(64),(19),(82),(46)第五次Merge之后:(28,37,55,73,91) 右边:(19,64),(82), (46)所以.....28,37,55,73,91,19,64,82,46四、算法阅读题30.1) p = pre->next; 或 p = L->next; // p指向第一个结点2) p->next = Lc->next; // 数据大于c的p结点插入Lc链表表头3) p = pre->next; 或 p = p->next; // 下一个结点31.此题有误,... if ((i=!t)!=0) ... 应该是 ... if( ( i = !i ) != 0 ) ...1) 1,3,5,7,6,4,22) 堆栈S中的元素依次出栈,奇数次序的入栈T,偶数次序的入队Q32.图G的邻接矩阵不对称,因此,是有向图1) 52) 计算有向图G中的端点i(第i+1个端点)的度,包括出度和入度3) O(n)33. 此题明显有错误if( low > high )应为if( low < high )因为if(){...}里有while( low < high )1) -8, -3, -2, -1, 4, 2, 5, 7:-8 -3 2 -1 -2 4 5 72) 将数组R中的前n个数调整为所有负数在前,所有整数在后五、算法设计题34. 看原型,应该是要使用递归了,题目很傻地把解法都告诉我们了。
数据结构自考试题及答案

数据结构自考试题及答案一、单项选择题(每题1分,共10分)1. 在数据结构中,从逻辑上可以把数据结构分为()。
A. 动态结构和静态结构B. 线性结构和非线性结构C. 顺序结构和链式结构D. 内部结构和外部结构答案:B2. 线性表的顺序存储结构和链式存储结构相比,它的优点是()。
A. 存储密度大B. 存储密度小C. 插入和删除操作快D. 可以进行随机访问答案:D3. 下列关于栈的描述中,错误的是()。
A. 栈是先进后出(LIFO)的线性表B. 栈允许在一端进行插入和删除操作C. 栈是具有记忆功能的线性表D. 栈的插入和删除操作必须在栈顶进行答案:C4. 在二叉树的遍历过程中,若某结点的左子树为空,则该结点的左孩子直接与()相连。
A. 右孩子B. 右兄弟C. 父节点D. 子节点答案:C5. 哈希表的构造方式是()。
A. 数组B. 树C. 链表D. 图答案:A6. 在图的遍历过程中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于()。
A. 遍历顺序B. 是否使用栈C. 是否使用队列D. 是否使用递归答案:C7. 快速排序算法的时间复杂度在最坏情况下是()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C8. 以下排序算法中,时间复杂度为O(nlogn)的是()。
A. 冒泡排序B. 选择排序C. 快速排序D. 插入排序答案:C9. 在数据库管理系统中,索引的作用是()。
A. 存储数据B. 提高查询效率C. 维护数据完整性D. 实现数据加密答案:B10. 以下不属于查找算法的是()。
A. 顺序查找B. 二分查找C. 哈希查找D. 归并排序答案:D二、填空题(每题2分,共20分)11. 在数据结构中,线性表的顺序存储结构通常使用___________来实现。
答案:数组12. 一个长度为n的顺序表,若在第i个位置插入一个元素(1≤i≤n+1),需要向后移动___________个元素。
自考数据结构试题及答案

自考数据结构试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据类型来存储元素?A. 数组B. 链表C. 栈D. 队列答案:A2. 下列关于栈的描述中,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈顶元素可以被访问和修改C. 栈底元素可以被访问和修改D. 栈可以进行插入和删除操作答案:C3. 在二叉树的遍历算法中,先访问根节点,然后访问左子树,最后访问右子树的遍历方式是:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,链地址法的基本思想是:A. 将冲突的元素存储在同一个数组位置B. 将冲突的元素存储在不同的数组位置C. 将冲突的元素存储在链表中D. 将冲突的元素存储在树中答案:C5. 下列算法中,不属于排序算法的是:A. 冒泡排序B. 快速排序C. 深度优先搜索D. 归并排序答案:C二、填空题(每题2分,共10分)1. 在数据结构中,_________是指元素之间存在一对一关系的线性结构。
答案:线性表2. 递归算法的基本思想是将问题分解为若干个规模更小的相同问题,然后_________。
答案:递归求解3. 在图的遍历算法中,广度优先搜索(BFS)通常使用_________数据结构来实现。
答案:队列4. 一个长度为n的有序数组,使用二分查找算法查找一个元素的时间复杂度为_________。
答案:O(log n)5. 哈夫曼编码是一种用于数据压缩的编码方法,它是一种_________编码。
答案:可变长三、简答题(每题5分,共20分)1. 请简述链表和数组在存储结构上的主要区别。
答案:链表的存储结构是动态的,每个元素包含数据和指向下一个元素的指针,而数组的存储结构是静态的,元素在内存中连续存储。
2. 什么是图的深度优先搜索(DFS)算法?请简述其基本步骤。
答案:深度优先搜索(DFS)算法是一种遍历图的算法,它从一个顶点开始,尽可能深地搜索图的分支。
自考-数据结构历年考题综合(答案)

2006.101.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构2.在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为( )A.n-i+1B.n-iC.iD.i-13.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )A.顺序表B.用头指针表示的单循环链表C.用尾指针表示的单循环链表D.单链表4.若进栈序列为a,b,c,则通过入出栈操作可能得到的a,b,c的不同排列个数为( )A.4B.5C.6D.75.一棵有16结点的完全二叉树,对它按层编号,则对编号为7的结点X,它的双亲结点及右孩子结点的编号分别为()A.2,14 B.2,15C.3,14 D.3,156.设有一5阶上三角矩阵A[1..5,1..5],现将其上三角中的元素按列优先顺序存放在一堆数组B[1..15]中。
已知B[1]的地址为100,每个元素占用2个存储单元,则A[3,4]的地址为()A.116 B.118C.120 D.1227.一个带权的无向连通图的最小生成树()A.有一棵或多棵 B.只有一棵C.一定有多棵 D.可能不存在8.下列有关图遍历的说法中不正确的是()A.连通图的深度优先搜索是一个递归过程B.图的广度优先搜索中邻接点的寻找具有“先进先出”的特征C.非连通图不能用深度优先搜索法D.图的遍历要求每一顶点仅被访问一次9.某算法的空间花费s(n)=2n+n100+nlog2n+n101,则其空间复杂度为()。
A. O(nlog2n) B. O(n100) C. O(n101) D. O(2n)10. 单链表中的存储密度一定()。
A.小于0.5 B. 等于1 C. 大于0.1 D. 小于1 11.在顺序栈中删除一个元素,至少要移动()元素。
A. 0 B. 1 C. n/2 D. n 12.空串是()。
2004年下半年全国自考数据结构真题及答案

更多优质自考资料尽在百度贴吧自考乐园俱乐部(/club/5346389)欢迎❤加入...欢迎❤交流...止不住的惊喜等着你.........2004年下半年全国自考数据结构真题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.A. AB. BC. CD. D答案:D2.若要在单链表中的结点*p之后插入一个结点*s,则应执行的语句是()A.s->next=p->next;p->next=s;B.p->next=s;s->next=p->next;C.p->next=s->next;s->next=p;D.s->next=p;p->next=s->next;答案:A3.若要在O(1)的时间复杂度上实现两个循环链表头尾相接,则应对两个循环链表各设置一个指针,分别指向()A.各自的头结点B.各自的尾结点C.各自的第一个元素结点D.一个表的头结点,另一个表的尾结点答案:B4.栈的两种常用存储结构分别为()A.顺序存储结构和链式存储结构B.顺序存储结构和散列存储结构C.链式存储结构和索引存储结构D.链式存储结构和散列存储结构答案:A5.已知循环队列的存储空间为数组data[21],且当前队列的头指针和尾指针的值分别为8和3,则该队列的当前长度为()A. 5B. 6C.16D.17答案:C6.已知在如下定义的链串结点中,每个字符占1个字节,指针占4个字节,则该链串的存储密度为typedef struct node {char data[8];struct node *next;} LinkStrNode;()A.1/4B.1/2C.2/3D.3/4答案:C7.应用简单的匹配算法对主串s=″BDBABDABDAB″与子串t=″BDA″进行模式匹配,在匹配成功时,进行的字符比较总次数为()A.7B.9C.10D.12答案:C8.二维数组A[20][10]采用列优先的存储方法,若每个元素占2个存储单元,且第1个元素的首地址为200,则元素A[8][9]的存储地址为()A.574B.576C.578D.580答案:B9.对广义表L=((a,b),c,d)进行操作tail(head(L))的结果是()A.(c,d)B.(d)C. bD.(b)答案:D10.已知一棵树的前序序列为ABCDEF,后序序列为CEDFBA,则对该树进行层次遍历得到的序列为()A.ABCDEFB.ABCEFDC.ABFCDED.ABCDFE答案:D11.一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为()A. AB. BC. CD. D答案:A12.在关键字序列(12,23,34,45,56,67,78,89,91)中二分查找关键字为45、89和12的结点时,所需进行的比较次数分别为()A.4,4,3B.4,3,3C.3,4,4D.3,3,4答案:B13.下列排序方法中,最好与最坏时间复杂度不相同的排序方法是()A.冒泡排序B.直接选择排序C.堆排序D.归并排序答案:A14.已知含10个结点的二叉排序树是一棵完全二叉树,则该二叉排序树在等概率情况下查找成功的平均查找长度等于()A. 1.0B. 2.9C. 3.4D. 5.5答案:B15.在下列各种文件中,不能进行顺序查找的文件是()A.顺序文件B.索引文件C.散列文件D.多重表文件答案:C二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
自学考试02142《数据结构导论》历年真题全套试题

自考02142《数据结构导论》历年真题集电子书目录1. 目录 (2)2. 历年真题 (3)2.1 02142数据结构导论200410 (3)2.2 02142数据结构导论200510 (7)2.3 02142数据结构导论200610 (10)2.4 02142数据结构导论200701 (14)2.5 02142数据结构导论200710 (17)2.6 02142数据结构导论200801 (19)2.7 02142数据结构导论200810 (22)2.8 02142数据结构导论200901 (25)2.9 02142数据结构导论200910 (28)2.10 02142数据结构导论201001 (30)2.11 02142数据结构导论201010 (34)2.12 02142数据结构导论201101 (37)2.13 02142数据结构导论201110 (40)3. 相关课程 (42)1. 目录历年真题()02142数据结构导论200410()02142数据结构导论200510()02142数据结构导论200610()02142数据结构导论200701()02142数据结构导论200710()02142数据结构导论200801()02142数据结构导论200810()02142数据结构导论200901()02142数据结构导论200910()02142数据结构导论201001()02142数据结构导论201010()02142数据结构导论201101()02142数据结构导论201110()相关课程()2. 历年真题2.1 02142数据结构导论2004102004年下半年高等教育自学考试全国统一命题考试数据结构导论试题课程代码2142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.要将现实生活中的数据转化为计算机所能表示的形式,其转化过程依次为()A.逻辑结构、存储结构、机外表示B.存储结构、逻辑结构、机外表示C.机外表示、逻辑结构、存储结构D.机外表示、存储结构、逻辑结构2.若评价算法的时间复杂性,比较对数阶量级与线性阶量级,通常()A.对数阶量级复杂性大于线性阶量级B.对数阶量级复杂性小于线性阶量级C.对数阶量级复杂性等于线性阶量级D.两者之间无法比较3.下列关于线性表的基本操作中,属于加工型的操作是()A.初始化、求表长度、插入操作B.初始化、插入、删除操作C.求表长度、读元素、定位操作D.定位、插入、删除操作4.在一个单链表中,若p所指结点不是最后结点,s指向已生成的新结点,则在p 之后插入s所指结点的正确操作是()A.s–>next=p–>next; p–>next=B.p–>next=s–>next; s–>next=C.s–>next=p; p–>next=D.s–>next=p–>next; p=5.若有三个字符的字符串序列执行入栈操作,则其所有可能的输出排列共有()A.3种B.4种C.5种D.6种6.C语言对数组元素的存放方式通常采用()A.按行为主的存储结构B.按列为主的存储结构C.按行或列为主的存储结构D.具体存储结构无法确定7.根据定义,树的叶子结点其度数()A.必大于0B.必等于0C.必等于1D.必等于28.二叉树若采用二叉链表结构表示,则对于n个结点的二叉树一定有()A.2n个指针域其中n个指针为NULLB.2n个指针域其中n+1个指针为NULLC.2n-1个指针域其中n个指针为NULLD.2n-1个指针域其中n+1个指针为NULL9.在一个无向图中,所有顶点的度数之和等于边数的()A.1倍B.2倍C.3倍D.4倍10.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的()A.先根遍历B.中根遍历C.后根遍历D.层次遍历11.采用顺序查找法,若在表头设置岗哨,则正确的查找方式通常为()A.从第0个元素开始往后查找该数据元素B.从第1个元素开始往后查找该数据元素C.从第n个元素开始往前查找该数据元素D.从第n+1个元素开始往前查找该数据元素12.下列查找中,效率最高的查找方法是()A.顺序查找B.折半查找C.索引顺序查找D.分块查找13.索引文件通常由索引表和主文件两部分构成,其中()A.索引表和主文件均必须是有序文件B.索引表和主文件均可以是无序文件C.索引表必须是有序文件D.主文件必须是有序文件14.直接插入排序算法,其时间复杂性为()A.O(1)B.O(n)C.O(nlog2n)D.O(n2)15.下列排序方法中,属于稳定的排序方法是()A.直接插入排序法B.快速排序法C.冒泡排序法D.堆排序法二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。
高等教育自学考试--数据结构试题

一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在数据结构中,数据的逻辑结构可以分成()A.内部结构和外部结构 B.线性结构和非线性结构C.紧凑结构和非紧揍结构 D.动态结构和静态结构2.在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用()A.数据元素的相邻地址表示 B.数据元素在表中的序号表示C.指向后继元素的指针表示 D.数据元素的值表示3.设p指向单链表中的一个结点,s指向待插入的结点,则下述程序段的功能是()s -> next = p -> next; p -> next = s;t = p -> data; p -> data = s -> data; s ->data = t;A.结点*p与结点*s的数据域互换B.在p所指结点的元素之前插入元素C.在p所指结点的元素之后插入元素D.在结点*p之前插入结点*s4.栈和队列都是()A.限制存取位置的线性结构 B.顺序存储的线性结构C.链式存储的线性结构 D.限制存取位置的非线性结构5.若数组s[0..n-1]为两个栈s1和s2的共用存储空间,且仅当s[0..n-1]全满时,各栈才不能进行进栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为()A.1和n+1 B.1和n/2C.-1和n D.-1和n+16.执行下列程序段后,串X的值为()S=??abcdefgh??; T=??xyzw??;substr (X,S,2,strlen(T));substr (Y,S, stelen(T),2);strcat (X,Y);A.??cdefgh?? B.??cdxyzw??C.??cdefxy?? D.??cdefef??7.多维数组之所以有行优先顺序和列优先顺序两种存储方式是因为()A.数组的元素处在行和列两个关系中 B.数组的元素必须从左到右顺序排列C.数组的元素之间存在次序关系 D.数组是多维结构,内存是一维结构8.从广义表LS=((p, q), r, s)中分解出原子q的运算是()A.tail (head (LS)) B.head (tail (head (LS)))C.head (tail (LS)) D.tail (tail (head (LS)))9.在具有n个叶子结点的严格二叉树中,结点总数为()A.2n+1 B.2nC.2n-1 D.2n-210.若<V i, v j>是有向图的一条边,则称()A.v i邻接于v j B.v j邻接于v iC.v i和v j相互邻接 D.v i与v j不相邻接11.在一个带权连通图G中,权值最小的边一定包含在G的()A.最小生成树中 B.深度优先生成树中C.广度优先生成树中 D.深度优先生成森林中12.当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为()A.左子树的叶子结点 B.左子树的分支结点C.右子树的叶子结点 D.右子树的分支结点13.希尔排序的增量序列必须是()A.递增的 B.随机的C.递减的 D.非递减的14.如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的子表中的适当位置,则该排序方法称为()A.插入排序 B.归并排序C.冒泡排序 D.堆排序15.设置溢出区的文件是()A.索引非顺序文件 B.ISAM文件C.VSAM文件 D.顺序文件二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
数据结构自考试题及答案

数据结构自考试题及答案一、单项选择题(每题1分,共10分)1. 在数据结构中,最基本的数据结构是()。
A. 线性结构B. 非线性结构C. 顺序结构D. 链式结构答案:A2. 线性表的顺序存储结构和链式存储结构相比,其主要优点是()。
A. 存储密度高B. 存储密度低C. 存储空间少D. 插入和删除操作快答案:A3. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动的元素个数为()。
A. i-1B. n-iC. n-i+1D. n-1答案:C4. 栈的基本运算中,不包括()。
A. 入栈B. 出栈C. 读栈顶元素D. 判断栈空答案:D5. 队列的特点是()。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A6. 树的深度为5,其中度为3的结点最多有()个。
A. 3B. 7C. 9D. 15答案:D7. 在二叉树的前序遍历序列、中序遍历序列、后序遍历序列中,唯一与树的形态一一对应的序列是()。
A. 前序遍历序列B. 中序遍历序列C. 后序遍历序列D. 无法确定答案:A8. 在图的遍历过程中,若某结点的入度为0,则该结点()。
A. 一定为起点B. 一定为终点C. 可以为起点或终点D. 既不是起点也不是终点答案:C9. 哈夫曼编码是一种()。
A. 定长编码B. 变长编码C. 唯一编码D. 非唯一编码答案:B10. 用邻接矩阵表示图时,若该图是无向图,则其邻接矩阵一定是()。
A. 对称矩阵B. 非对称矩阵C. 稀疏矩阵D. 密集矩阵答案:A二、填空题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指算法执行过程中所需要的基本运算次数与输入数据量之间的关系。
算法的时间复杂度通常用大O符号表示,例如,O(n)表示时间复杂度与输入数据量成______关系。
答案:线性2. 线性表的两种存储结构分别是顺序存储结构和______存储结构。
答案:链式3. 在栈中,栈顶元素是最后被插入的元素,遵循______原则。
自考数据结构试题及答案

自考数据结构试题及答案一、选择题1. 在数据结构中,算法的复杂性主要包括时间复杂性和空间复杂性。
以下哪个选项不属于算法复杂性的一部分?A. 时间复杂性B. 空间复杂性C. 逻辑复杂性D. 性能复杂性答案:C2. 假设有一个栈,其元素从上到下依次是A、B、C、D。
如果现在要弹出所有的元素,那么弹出的顺序是什么?A. D、C、B、AB. A、B、C、DC. B、C、D、AD. C、B、D、A答案:A3. 在二叉树的遍历中,前序遍历的顺序是什么?A. 先根,后左,后右B. 先左,后根,后右C. 先右,后根,后左D. 先根,后右,后左答案:A4. 哈希表的冲突可以通过多种方式解决,其中不是解决冲突的方法是:A. 开放寻址法B. 链地址法C. 线性探测法D. 建立公共溢出区答案:C5. 以下哪个排序算法是稳定的?A. 快速排序B. 归并排序C. 堆排序D. 选择排序答案:B二、填空题6. 在单链表中,删除节点的操作需要提供________和________两个参数。
答案:前驱节点;节点数据7. 一个长度为n的数组,如果采用二分查找法,查找元素的时间复杂度是________。
答案:O(log n)8. 假设有一个图,其顶点数为V,边数为E,如果不使用任何优化手段,该图的邻接矩阵存储方式所需的空间复杂度是________。
答案:O(V^2)9. 一个具有n个节点的完全二叉树的最小高度是________。
答案:log2(n+1)10. 动态存储管理中,可利用的最基本的两种分配策略是________和________。
答案:首次适应;最佳适应三、简答题11. 什么是平衡二叉树?请简述其特点。
答:平衡二叉树是一种特殊的二叉搜索树,其中任何两个兄弟节点的深度之差的绝对值不超过1。
其特点包括:- 所有节点的两个子树的高度差不超过1。
- 保持了二叉搜索树的性质,即左子树上所有节点的键值小于它,右子树上所有节点的键值大于它。
《数据结构》-1自考试卷及答案

《数据结构》-1一、判断题 (每小题1分,共10分)1、线性表的逻辑顺序与物理顺序总是一致的。
( )2、线性表只能采用顺序存储结构或者链式存储结构。
( )3、线性表的顺序存储表示优于链式存储表示。
( )4、不管堆栈采用何种存储结构,只要堆栈不空,可以任意删除一个元素。
( )5、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。
( )6、已知一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。
( )7、一般树和二叉树的结点数目都可以为0。
( )8、序列初始为逆序时,冒泡排序法所进行的元素之间的比较次数最多。
( )9、每种数据结构都应具备三种基本运算:插入、删除和搜索。
( )10、若某堆栈的输入序列为1,2,3,4,则4,3,1,2不可能是堆栈的输出序列之一。
( )二、单项选择题 (每小题2分,共20分)1、算法分析的目的是( )A.研究算法的输入与输出之间的关系B.找出数据结构的合理性C.分析算法的效率以求改进算法D.分析算法的可读性与可移植性2、已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列哪一个操作( )A. s->link = p; p->link = s;B. s->link = p->link; p->link = s;C. s->link = p->link; p = s;D. p->link = s; s->link = p;3、图的深度优先搜索类似于树的()次序遍历。
A.先根B.中根C.后根D.层次4、一个栈的输入序列为1,2,3,4,下面哪一个序列不可能是这个栈的输出序列()A. 1,3,2,4B. 2,3,4,1C. 4,3,1,2D. 3,4,2,15、若深度为5的完全二叉树的第5层有3个叶结点,则该二叉树一共有( )个结点。
A.15B.16C.17D.186、下列排序方法中,哪一种方法的比较次数与纪录的初始排列状态无关()A. 直接插入排序B. 起泡排序C. 快速排序D. 直接选择排序7、对数据元素序列(49,72,68,13,38,50,97,27)进行排序,前三趟排序结束时的结果依次为:第一趟:13,72,68,49,38 ,50,97,27;第二趟:13,27,68,49,38,50,97,72;第三趟:13,27,38,49,68,50,97,72;该排序采用的方法是( )A.插入排序法B.选择排序法C.冒泡排序法D.堆积排序法8、对于循环队列,存储空间大小为n,头指针为F,尾指针为R。
2004级计算机科学与技术专业《数据结构》重修考试试题

2004级计算机科学与技术专业《数据结构》重修考试试题一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共10分)1.下面关于线性表的叙述中,错误的为( )A.顺序表使用一维数组实现的线性表B.顺序表必须占用一片连续的存储单元C.顺序表的空间利用率高于链表D.在链表中,每个结点只有一个链域2.带头结点的单链表head为空的判断条件是( )A. head=NULLB. head→next=NULLC. head→next=headD. head< >NULL3.队列通常采用两种存储结构是( )A.顺序存储结构和链表存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构4.深度为n的二叉树中所含叶子结点的个数最多为( )个。
A.2nB.nC.2n-1D.2n-15.在双向链表存储结构中,删除p所指的结点时须修改指针()。
A.p->llink ->rlink=p->rlink p->rlink ->llink=p->llink;B.p->llink=p->llink ->llink p->llink ->rlink=p;C.p->rlink ->llink=p p->rlink=p->rlink ->rlinkD.p->rlink=p->llink ->llink p->llink=p->rlink ->rlink;6.下面的二叉树中,( )不是完全二叉树。
7.下列说法错误的是( )。
A.一个图的邻接矩阵表示是唯一的B.一个图的邻接表表示是不唯一的C.一个图的生成树必为该图的极小连通子图D.一个无环有向图的拓扑排序序列必唯一8.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。
全国自学考试数据结构导论试题及答案4套

全国自学考试数据结构导论试题及答案4套第一套试题一、选择题(每题4分,共40分)1. 下列哪个数据结构是一种非线性结构?A. 数组B. 栈C. 队列D. 树2. 下列哪种算法不适用于解决排序问题?A. 冒泡排序B. 快速排序C. 深度优先搜索D. 归并排序3. 在数据结构中,堆的底层实现通常采用哪种数据结构?A. 数组B. 栈C. 链表D. 队列4. 下列哪个选项是描述图结构的准确说法?A. 图结构是一种线性结构B. 图结构由节点和指向节点的边构成C. 图结构不能存储数据D. 图结构不支持插入和删除操作5. 下列哪个排序算法具有最坏时间复杂度为O(nlogn)?A. 冒泡排序B. 插入排序C. 选择排序D. 希尔排序二、填空题(每题4分,共40分)1. 在二叉树中,每个节点最多有____个子节点。
2. 图的两个顶点之间的路径长度是指连接这两个顶点所需的____数。
3. 链表是一种____结构。
4. 快速排序算法的核心思想是____。
5. 栈和队列都属于线性结构,其主要区别在于____操作的限制。
三、简答题(每题10分,共30分)1. 请简要描述栈的特点以及栈的应用场景。
2. 请简要介绍图的基本概念,并说明图的应用领域。
3. 请解释递归算法的原理,并给出一个使用递归算法解决问题的例子。
四、编程题(共30分)请使用任意编程语言实现一个简单的栈数据结构,并编写测试代码进行验证。
第二套试题一、选择题(每题4分,共40分)1. 在二叉搜索树中,中序遍历的结果是____。
A. 升序排列B. 降序排列C. 随机排序D. 不确定的排序2. 在哈希表结构中,解决冲突问题的常用方法是____。
A. 线性探测B. 链地址法C. 开放地址法D. 扩容法3. AVL树是一种____。
A. 二叉搜索树B. 哈希表C. B树D. 红黑树4. 以下哪个算法不是用于解决查找问题?A. 二分查找B. 深度优先搜索C. 广度优先搜索D. 哈希查找5. 以下哪个数据结构不支持随机访问元素?A. 数组B. 栈C. 链表D. 哈希表二、填空题(每题4分,共40分)1. 在二叉树中,每个节点最多有____个子节点。
全国自学考试数据结构导论试题及答案(4套)

全国2011年1月自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在顺序表中查找第i个元素,时间效率最高的算法的时间复杂度为( )A.O(1)B.O(n)C.O(log2n)D.O(n)2.树形结构中,度为0的结点称为( )A.树根B.叶子C.路径D.二叉树3.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,,<V6,V7>},则图G的拓扑序列是( ) A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V4,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V74.有关图中路径的定义,表述正确的是( )A.路径是顶点和相邻顶点偶对构成的边所形成的序列B.路径是不同顶点所形成的序列C.路径是不同边所形成的序列D.路径是不同顶点和不同边所形成的集合5.串的长度是指( )A.串中所含不同字母的个数B.串中所含字符的个数C.串中所含不同字符的个数D.串中所含非空格字符的个数6.组成数据的基本单位是( )A.数据项B.数据类型C.数据元素D.数据变量7.程序段i=n;x=0;do{x=x+5*i;i--;}while (i>0);的时间复杂度为( )A.O(1)B.O(n)C.O(n2)D.O(n3)8.与串的逻辑结构不同的...数据结构是( )A.线性表B.栈C.队列D.树9.二叉树的第i(i≥1)层上所拥有的结点个数最多为( )A.2iB.2iC.2i-1D.2i-110.设单链表中指针p指向结点A,若要删除A的直接后继,则所需修改指针的操作为( ) A.p->next=p->next->next B.p=p->nextC.p=p->next->nextD.p->next=p11.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是( )A.堆排序B.冒泡排序C.直接插入排序D.快速排序12.设字符串S1=″ABCDEFG″,S2=″PQRST″,则运算S=CONCAT(SUBSTR(S1,2,LENGTH(S2)),SUBSTR(S1,LENGTH(S2),2))后S的结果为( )A.″BCQR″B.″BCDEF″C.″BCDEFG″D.″BCDEFEF″13.在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并且A的左孩子的平衡因子为-1,右孩子的平衡因子为0,则使其平衡的调整方法为( )A.LL型B.LR型C.RL型D.RR型14.如果结点A有3个兄弟结点,而且B为A的双亲,则B的度为( )A.1B.3C.4D.515.数据表A中每个元素距其最终位置较近,则最省时间的排序算法是( )A.堆排序B.插入排序C.直接选择排序D.快速排序二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。
自考《 数据结构》真题和答案

自考《数据结构》真题和答案自考《数据结构》真题和答案数据结构是计算机科学的重要基础学科之一,掌握好数据结构的知识对于计算机专业的学生来说至关重要。
为了帮助学生更好地备考自考《数据结构》科目,本文将为大家提供一份《数据结构》的真题及答案。
希望能对大家的学习有所帮助。
一、选择题1. 下面哪个不是线性结构?A. 数组B. 链表C. 栈D. 树答案:D2. 下图是一棵二叉树,根节点为A,左子树为B,右子树为C,请问遍历这棵二叉树的顺序是?A/ \B CA. 先序遍历:A-B-CB. 中序遍历:B-A-CC. 后序遍历:B-C-AD. 层序遍历:A-B-C答案:A二、填空题1. 栈是一种____结构。
答案:先进后出2. 当一个节点的左子树和右子树深度之差不超过1,并且左子树和右子树都是平衡二叉树时,称之为____。
答案:平衡二叉树三、简答题1. 什么是数据结构?为什么学习数据结构很重要?答:数据结构是指一组数据的组织、管理和存储形式。
学习数据结构的重要性主要体现在以下几个方面:首先,数据结构是计算机程序设计的基础。
在程序设计中,数据结构是用来组织和存储数据的,合理选择和运用数据结构可以提高程序的效率和性能。
其次,数据结构对于解决实际问题具有重要意义。
不同的问题需要采用不同的数据结构来进行处理和解决,因此掌握不同的数据结构及其应用场景对于解决实际问题非常关键。
最后,数据结构是进一步学习和理解计算机科学和计算机算法的基础。
许多高级的计算机科学概念和算法都依赖于对数据结构的深入理解和应用。
2. 请简要介绍一下线性结构和非线性结构。
答:线性结构是指数据元素之间存在一对一的线性关系,每个数据元素最多有一个直接前驱和一个直接后继。
常见的线性结构有数组、链表、队列和栈等。
非线性结构是指数据元素之间存在一对多或多对多的关系,一个节点可以有多个直接前驱或直接后继。
常见的非线性结构有树和图等,其中树是一种重要的非线性结构。
四、编程题请编写一个函数,实现将一个正整数转化为二进制数的功能。
1月全国数据结构自考试题及答案解析

1月全国数据结构自考试题及答案解析---在本文中,将给出一月份全国数据结构自考试题的详细分析和答案解析。
数据结构作为计算机科学中的基础课程,对于理解和应用计算机算法和数据处理至关重要。
准备自考的学生可以通过分析这些试题及其答案,加深对数据结构的理解和掌握。
题目一:给定一个数组arr[],长度为n,设计一个算法找到数组中第k小的元素。
其中,1≤k≤n。
自考试题解析:这是经典的选择问题,可以通过快速排序算法的思想进行解答。
首先,选取数组中的一个元素作为枢纽元,将数组按照枢纽元的大小进行划分,分为小于等于枢纽元和大于枢纽元的两部分。
若枢纽元所在的位置正好是第k个元素,则返回该元素;若枢纽元所在的位置小于第k个元素,则在右边的部分递归查找;否则,在左边的部分递归查找。
通过不断缩小问题规模,最终找到第k小的元素。
题目二:给定一个排序后的链表,将其转化为平衡二叉搜索树(BST)。
自考试题解析:这是一个典型的二叉树构建问题。
通过将链表中的元素转化为数组,可以使用二分查找的思想构造平衡二叉搜索树。
首先找到数组中的中间元素作为根节点,然后递归地构建左子树和右子树,将左右子数组分别作为左子树和右子树的元素。
最终将构建的二叉搜索树返回。
题目三:给定一个字符串s,判断其是否为回文字符串。
自考试题解析:回文字符串是指正读和反读都相同的字符串。
可以通过双指针法进行判断。
定义两个指针,一个指向字符串的起始位置,另一个指向字符串的末尾位置,然后分别向中间靠拢。
在每一次移动指针之前,判断两个指针所指向的字符是否相等,若不相等则说明不是回文字符串;若相等则继续向中间移动。
当两个指针相遇时,说明字符串是回文字符串。
题目四:给定一个有向图,判断是否存在环路。
自考试题解析:判断有向图中是否存在环路可以使用深度优先搜索(DFS)算法。
首先,从图中的每一个顶点开始,进行深度优先搜索。
在搜索过程中,若访问到一个已经访问过的结点,则说明存在环路。
数据结构自考试题及答案

数据结构自考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是()。
A. 有且仅有一个根节点B. 有且仅有一个开始节点和结束节点C. 有且仅有一个根节点和子节点D. 有且仅有一个开始节点和子节点答案:B2. 下列选项中,不属于线性表的顺序存储结构的是()。
A. 数组B. 链表C. 栈D. 队列答案:B3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树,这种遍历方式是()。
A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的构造方法不包括()。
A. 直接定址法B. 除留余数法C. 链地址法D. 排序法答案:D5. 在图的表示方法中,邻接矩阵表示法的主要缺点是()。
A. 占用空间大B. 占用空间小C. 查找任意两个顶点之间的边不方便D. 插入和删除操作不方便答案:A6. 堆是一种特殊的完全二叉树,它满足()。
A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 每个节点的值都等于其子节点的值D. 每个节点的值都大于其父节点的值答案:A7. 在排序算法中,时间复杂度为O(nlogn)的算法是()。
A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B8. 动态查找表的查找效率比静态查找表的查找效率()。
A. 高B. 低C. 相同D. 不确定答案:A9. 在数据库中,索引的作用是()。
A. 增加存储空间B. 减少存储空间C. 提高查询速度D. 降低查询速度答案:C10. 以下数据结构中,可以进行随机访问的是()。
A. 链表B. 栈C. 队列D. 数组答案:D二、多项选择题(每题3分,共15分)1. 下列数据结构中,属于非线性结构的有()。
A. 树B. 图C. 线性表D. 栈答案:AB2. 在算法分析中,时间复杂度的计算不包括()。
A. 常数项B. 循环次数C. 循环嵌套的层数D. 循环内执行的语句数量答案:AD3. 以下排序算法中,属于不稳定排序的有()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
}
}
(1)
(2)
(3)
33.已知整形数组L[1..8]中的元素依次为(9,8,5,7,6,3,2,1),阅读下列函数,并写出执行函数调用sort(L, 8)时,对L进行的头两趟(pass分别为0和1)处理结果。
Void sort (int R[],int n)
{
int pass = 0, k, exchange, x;
(2)画出由该树转换得到的二叉树。
28.为关键字(17,33,31,40,48)构造一个长度为7的散列表,设散列函数为h(key)=key%7,用开放定址法解决冲突的探查序列是
hi = (h(key) + i(key%5+1))%7 0≤i≤6
(1)画出构造所得的散列表;
(2)求出在等概率情况下查找成功时的平均查找长度。
{
int mid;
if (low<high)
{
mid = (low +high)/2;
MergeSortDC (R, low, mid);
MergeSortDC (R, mid+1, high);
Merge (R, low, mid, high);
}
} // MergeSortDC
(1)第一次调用时的参数值;
24.在含20个关键字的3阶B树(2-3树)上查找一个关键字,至多需要访问___________次外存。
25.文件上的两类主要操作为________________和________________。
三、解答题(本大题共4小题,每小题5分,共20分)
26.设栈S1的入栈序列为1234(每个数字为13个元素),则不可能得到出S1和S2,便可得到序列3142。
如果用H1和H2分别表示栈S1和S2的进栈操作,用P1和P2分别表示两个栈的出栈操作,则得到3142的一个操作步骤为
H1,H1,H1,P1,H2,P2,P1,H2,P1,H2,P2,H1,P1,H2,P2,P2
请仿照上例写出利用两个栈从1234得到4132的操作步骤。
27.已知树如右图所示,
(1)写出该树的后序序列;
C.链式存储的线性结构D.限制存取位置的非线性结构
5.若数组s[0..n-1]为两个栈s1和s2的共用存储空间,且仅当s[0..n-1]全满时,各栈才不能进行进栈操作,则为这两个栈分配空间的最佳方案是:s1和s2的栈顶指针的初值分别为( )
A.1和n+1B.1和n/2
C.-1和nD.-1和n+1
6.执行下列程序段后,串X的值为( )
}
第一趟(pass = 0):
第二趟(pass = 1):
五、算法设计题(本大题共10分)
34.已知二叉排序树中结点的关键字为整数,设计递归算法按递增有序性输出树中所有大于或等于给定值x的结点,并以函数的参数返回输出的结点个数。假设以二叉链表为存储结构,其结点结构为:
lchild
key
rchild
C.紧凑结构和非紧揍结构D.动态结构和静态结构
2.在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用( )
A.数据元素的相邻地址表示B.数据元素在表中的序号表示
C.指向后继元素的指针表示D.数据元素的值表示
3.设p指向单链表中的一个结点,s指向待插入的结点,则下述程序段的功能是( )
s -> next = p -> next; p -> next = s;
全国2004年1月高等教育自学考试
数据结构试题
课程代码:02331
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.在数据结构中,数据的逻辑结构可以分成( )
A.内部结构和外部结构B.线性结构和非线性结构
do {
k=pass%2+1;
exchange = 0;
while (k<n)
{
if (R[k]>R[k+1])
{
x = R[k]; R[k] = R[k+1]; R[k+1] = x;
exchange =1;
}
K+=2
}
pass ++;
}while (exchange = = 1|| pass <=1);
9.在具有n个叶子结点的严格二叉树中,结点总数为( )
A.2n+1B.2n
C.2n-1D.2n-2
10.若<vi, vj>是有向图的一条边,则称( )
A.vi邻接于vjB.vj邻接于vi
C.vi和vj相互邻接D.vi与vj不相邻接
11.在一个带权连通图G中,权值最小的边一定包含在G的( )
A.最小生成树中B.深度优先生成树中
S=〞abcdefgh〞; T=〞xyzw〞;
substr (X,S,2,strlen(T));
substr (Y,S, stelen(T),2);
strcat (X,Y);
A.〞cdefgh〞B.〞cdxyzw〞
C.〞cdefxy〞D.〞cdefef〞
7.多维数组之所以有行优先顺序和列优先顺序两种存储方式是因为( )
Boolean visited [MaxNum];
void MDFSTree (MGraph *G, int i);
void MDFSForest (MGraph *G)
{
int i, k;
for (i=0; i <G -> n; i++)
visited [i] =(1);
for (k = 0; k<G -> n; k++)
{count ++; i=j-sub -> length +1;}
else i++;
}
return count;
}
(1)
(2)
32.下列函数MDFSForest的功能是,对一个采用邻接矩阵作存储结构的图进行深度优先搜索遍历,输出所得深度优先生成森林中各条边。请在空缺处填入合适内容,使其成为一个完整的算法。
while (pa && pd)
{
if (pa -> data <pb -> data)
{ pre = pa; pa = pa -> next;}
else if (pa -> data > pb ->data)
{
(1);
pre = pb;
pb = pb -> next;
(2);
}
else
{
q = pb; pb = pb -> next; free (q);
t = p -> data; p -> data = s -> data; s ->data = t;
A.结点*p与结点*s的数据域互换
B.在p所指结点的元素之前插入元素
C.在p所指结点的元素之后插入元素
D.在结点*p之前插入结点*s
4.栈和队列都是( )
A.限制存取位置的线性结构B.顺序存储的线性结构
C.递减的D.非递减的
14.如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的子表中的适当位置,则该排序方法称为( )
A.插入排序B.归并排序
C.冒泡排序D.堆排序
15.设置溢出区的文件是( )
A.索引非顺序文件B.ISAM文件
C.VSAM文件D.顺序文件
二、填空题(本大题共10小题,每小题2分,共20分)
18.假设元素只能按a,b,c,d的顺序依次进栈,且得到的出栈序列中的第一个元素为c,则可能得到的出栈序列为________________,不可能得到的出栈序列为________________。
19.若链串结点中的指针占4个字节,每个字符占1个字节,则结点大小为2的链串的存储密度为________________。
if (!visited [k]) MDFSTree (G,k);
}
void MDFSTree (MGraph *G, int i)
{
int j;
visited [i]=TRUE;
for (j=0; j<G -> n; j++)
{
if ((2))
{
printf (〃<%c, %c>〃G -> vexs [i], G -> vexs [j]);
}
}
if (pb)
(3);
}
(1)
(2)
(3)
31.已知串的存储结构为动态存储分配的顺序串。阅读下列算法,并回答问题:
(1)写出执行函数调用strc (s, r)的返回结果,其中s=〃aba〃, r=〃abababa〃;
(2)简述函数strc的功能。
int strc (HString * sub, HString * str)
void union (LinkList La, LinkList Lb)
{
//本算法的功能是将所有Lb表中存在而La表中不存在的结点插入到La表中
LinkList pre = La, q;
LinkList pa = La -> next;
LinkList pb = Lb -> next;
free (Lb);
(2)第二次调用时的参数值;
(3)第三次调用时的参数值;
(4)第四次调用时的参数值;
(5)第五次调用时的参数值;