浙大城院数据结构期末模拟2

合集下载

《算法与数据结构(2) 》期末考试卷

《算法与数据结构(2) 》期末考试卷

班号 学号 姓名 成绩《算法与数据结构(2) 》期末考试卷注意事项:1、关闭手机、将考试用文具以外的物品放于讲台上 2、严格遵守学校的考场纪律,违纪者请出考场 题目:一、 判断题(20分)请在正确的陈述前面括号中打√,在错误的陈述前面括号中打×。

1. ( × )如果一个问题不是NP 问题,那么它有可能是P 问题。

2. ( × )回溯法用深度优先或广度优先法搜索状态空间树。

3. ( × ))(n n O 221=+且)(n n O 222=4. ( × )贪心算法通过增加空间复杂性来减少时间复杂性。

5. ( × )快速排序算法的平均时间复杂度是O(nlogn),使用随机化快速排序算法可以将平均时间复杂度降得更低。

6. ( √ )基于比较的寻找数组A[1...n ]中最大值元素问题的下界是)3/(n Ω。

7. ( √ )直观地讲,P 类问题是易解的问题;而NP 问题是易被验证的问题。

8. ( × )下列问题是一个判定问题:给定一个合取范式,对其中的所有逻辑变量求一组真值赋值,使得给定的合取范式在该组真值赋值下为真。

9. ( √ )max(f(n),g(n))= Θ(f(n)+g(n))10.( √ )若 ))(()(n g O n f =,则 ))(()(n f n g Ω=二、 简答题(30分):1.简述拉斯维加斯(Las Vegas )算法和蒙特卡洛(Monte Carlo )算法的主要区别前者不一定总能给出解,但给出的解一定是正确的; 后者总能给出解,但是给出的解可能是错误的。

2.按照增长率上升的顺序排列以下函数,即,若在你的排序结果中,函数f(n) 跟在 g(n)的后面,则说明应该满足g(n)是O (f(n)):4/31)(n n f = n n f 2)(2= n n f log )(3= !)(4n n f = 22)(5n n f = nn n f log )(6= )(3n f , )(1n f , )(6n f , )(2n f , )(4n f , )(5n f3.推导以下递推式的解:T(n)=2 当n = 1时T(n)=2T(n/3)+2n 当n ≥2时T(n)=2T(n/3)+2n=2[2T(n/32)+2(n/3)]+2n=4T(n/32)+4(n/3)+2n=4[2T(n/33)+2(n/32)]+ 4(n/3)+2n=8T(n/33)+8(n/32)+ 4(n/3)+2n=…设n=3k=2k T(n/3k )+ 2k (n/3k-1)+ 2k-1 (n/3k-2)+…+ 4(n/3)+2n =2k 2+2n[(2/3)k-1 +(2/3)k-2 +…+2/3+1]=2k 2+6n[1-(2/3)k]=2k 2+6n-6.2k=6n-4.2k=6n-4.2=n n3log246⋅-4.请给出基于比较的对数组A[1…n]进行排序问题的最紧的下界,并写出两个平均时间复杂度为该下界的排序算法的名称。

数据结构与算法模拟习题(附参考答案)

数据结构与算法模拟习题(附参考答案)

数据结构与算法模拟习题(附参考答案)一、单选题(共86题,每题1分,共86分)1.具有5个顶点的有向完全图有多少条弧?A、16B、20C、25D、10正确答案:B2.下列程序的时间复杂度为()。

i = 0; s = 0;while(s < n){i++;s = s + i;}A、Θ(n)B、Θ(1)C、Θ(n2)D、Θ(n½)正确答案:D3.栈和队列的共同点是()。

A、没有共同点B、只允许在端点处插入和删除元素C、都是先进后出D、都是先进先出正确答案:B4.下面描述中正确的为( )。

A、线性表的逻辑顺序与物理顺序总是一致的B、线性表的顺序存储表示优于链式存储表示。

C、线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。

D、二维数组是其数组元素为线性表的线性表。

正确答案:C5.对N个不同的数据采用冒泡算法进行从大到小的排序,下面哪种情况下肯定交换元素次数最多?A、从大到小排好的B、元素无序C、元素基本有序D、从小到大排好的正确答案:D6.表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为(),其中^为乘幂。

A、3, 2, 8;( * ^ -B、3, 2, 4, 2, 2;( * ^ ( -C、3, 2, 4, 1, 1;( ^ ( + -D、3, 2, 8;( * ^ ( -正确答案:D7.二叉树的高度若根节点为高度1,一棵具有 1025 个结点的二叉树的高度为▁▁▁▁▁ 。

A、10~1024 之间B、11~1025 之间C、10D、11正确答案:B8.数据采用链式存储结构时,要求( )A、每个节点占用一片连续的存储区域B、所有节点占用一片连续的存储区域C、节点的最后一个数据域一定是指针类型D、每个节点有多少个后继就设多少个指针域正确答案:A9.在N个结点的顺序表中,算法的时间复杂度为O(1)的操作是:A、将N个结点从小到大排序B、删除第i个结点(1≤i≤N)C、访问第i个结点(1≤i≤N)和求第i个结点的直接前驱(2≤i≤N)D、在第i个结点后插入一个新结点(1≤i≤N)正确答案:C10.将元素序列{18, 23, 4, 26, 31, 33, 17, 39}按顺序插入一个初始为空的、大小为13的散列表中。

2022年浙大城市学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年浙大城市学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年浙大城市学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。

A.13B.33C.18D.403、计算机算法指的是解决问题的步骤序列,它必须具备()三个特性。

A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性4、在用邻接表表示图时,拓扑排序算法时间复杂度为()。

A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)5、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。

A.543612B.453126C.346521D.2341566、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,则根结点的孩子结点()。

A.只有e B.有e、b C.有e、c D.无法确定7、下列关于无向连通图特性的叙述中,正确的是()。

Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ8、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。

A.CBEFDAB.FEDCBAC.CBEDFAD.不定9、每个结点的度或者为0或者为2的二叉树称为正则二叉树。

n个结点的正则二叉树中有()个叶子。

A.log2nB.(n-1)/2C.log2n+1D.(n+1)/210、在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是()。

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案一、选择题(每题5分,共20分)1. 下列哪个不是线性结构?A. 栈B. 队列C. 图D. 数组2. 下列哪个不是栈的基本操作?A. 入栈B. 出栈C. 查找D. 判断栈空3. 下列哪个不是队列的基本操作?A. 入队B. 出队C. 查找D. 判断队列空4. 下列哪个不是图的基本概念?A. 顶点B. 边C. 路径D. 环二、填空题(每题5分,共20分)5. 栈是一种______结构的线性表,队列是一种______结构的线性表。

6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。

7. 树的根结点的度为______,度为0的结点称为______。

8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。

三、简答题(每题10分,共30分)9. 简述线性表、栈、队列、图、树、二叉树的基本概念。

10. 简述二叉树的遍历方法。

11. 简述图的存储结构及其特点。

四、算法题(每题15分,共30分)12. 编写一个算法,实现栈的入栈操作。

13. 编写一个算法,实现队列的出队操作。

五、综合题(每题20分,共40分)14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。

15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。

答案部分一、选择题答案1. C2. C3. C4. D二、填空题答案5. 后进先出先进先出6. V(G),E(G)7. 0 叶结点8. 左孩子右孩子三、简答题答案9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。

2022年浙大城市学院数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)

2022年浙大城市学院数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)

2022年浙大城市学院数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、某一计算机采用主存Cache存储层次结构,主存容量有8个块,Cache容量有4个块,采取直接映射方式。

若主存块地址流为0,1,2,5,4,6,4,7,1,2,4,1,3,7,2,一开始Cache为空,此期间Cache的命中率为()。

A.13.3%B.20%C.26.7%D.33.3%2、有效容量为128KB的Cache,每块16B,8路组相联。

字节地址为1234567H的单元调入该Cache,其tag应为()。

A.1234HB.2468HC.048DHD.12345H3、假定有4个整数用8位补码分别表示:rl=FEH,r2=F2H,r3=90H,r4=F8H,若将运算结果存放在一个8位寄存器中,则下列运算会发生溢出的是()。

A.rlxr4B.r2xr3C.rlxr4D.r2xr44、串行运算器结构简单,其运算规律是()。

A.由低位到高位先行进行进位运算B.由低位到高位先行进行借位运算C.由低位到高位逐位运算D.由高位到低位逐位运算5、某机字长8位,含一位数符,采用原码表示,则定点小数所能表示的非零最小正数为()A.2-9B.2-8C.2-7D.2-66、为了对n个设备使用总线的请求进行仲裁,如果使用独立请求方式,则需要()根控制线。

A.nB.log2n+2C.2nD.37、下列关于同步总线的说法中,正确的有()。

I.同步总线一般按最慢的部件来设置公共时钟II.同步总线一般不能很长III.同步总线一般采用应答方式进行通信IV.通常,CPU内部总线、处理器总线等采用同步总线A. I,IIB. I,II,IVC.III,IVD.II,III,IV8、已知计算机A的时钟频率为800MHz,假定某程序在计算机A上运行需要12s。

现在硬件设计人员想设计计算机B,希望该程序在B上的运行时间能缩短为8s,使用新技术后可使B的时钟频率大幅度提高,但在B上运行该程序所需要的时钟周期数为在A上的1.5倍。

浙大城院数据结构2

浙大城院数据结构2

浙江大学城市学院实验报告课程名称数据结构基础实验项目名称实验七栈的顺序表示和实现学生姓名专业班级学号实验成绩指导老师(签名)日期一.实验目的和要求1、掌握栈的存储结构及其基本操作。

学会定义栈的顺序存储结构及其各种基本操作的实现。

2、掌握栈的后进先出原则。

3、通过具体的应用实例,进一步熟悉和掌握栈在实际问题中的运用。

二.实验内容1、设栈采用顺序存储结构(用动态数组),请编写栈的各种基本操作的实现函数,并存放在头文件SeqStack.h中。

同时建立一个验证操作实现的主函数文件test3_1.cpp,编译并调试程序,直到正确运行。

2、选做:编写函数,判断给定的字符串是否中心对称。

如字符串“abcba”、“abccba”均为中心对称,字符串“abcdba”不中心对称。

要求利用SeqStack.h中已实现的有关栈的基本操作函数来实现。

请把该函数添加到文件test3_1.cpp中的主函数前,并在主函数中添加相应语句进行测试。

3、填写实验报告,实验报告文件取名为report7.doc。

4、上传实验报告文件report7.doc、源程序文件test3_1.cpp及SeqStack.h 到Ftp服务器上自己的文件夹下。

三. 函数的功能说明及算法思路(包括每个函数的功能说明,及一些重要函数的算法实现思路)函数功能bool InitStack (Stack &S);//初始化线形表ElemType Pop(Stack &S);//删除栈顶元素,并返回ElemType Peek(Stack S);//读取栈顶元素的值并且返回void Push(Stack &S, ElemType item);//将item值的元素进栈int EmptyStack (Stack S);//判空void ClearStack (Stack &S);//清除bool IsReverse(char *h,Stack &S);//判断字符串h是否和栈s相匹配算法实现思路将输入的字符依次输入到栈s中,字符串h中,后利用栈先进后出原理,将s末尾的字符依次和h开始对应位置的字符匹配比较四. 实验结果与分析(包括运行结果截图、结果分析等)结果分析:刚开始没元素进栈,故栈为空后元素进栈调用ElemType Pop(Stack &S);删除并返回栈顶元素ElemType Peek(Stack S);//读取栈顶元素的值并且返回最后判空依次输出s内的值调用bool IsReverse(char *h,Stack &S);判断回文五. 心得体会(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。

数据结构期末考试试题及答案

数据结构期末考试试题及答案

数据结构期末考试试题及答案数据结构期末考试试题及答案随着信息时代的到来,数据的处理和管理变得愈发重要。

数据结构作为计算机科学的基础课程之一,对于培养学生的编程思维和解决问题的能力具有重要意义。

数据结构期末考试是对学生掌握该课程知识的一次全面检验。

本文将为大家提供一些常见的数据结构期末考试试题及答案,希望能够对大家复习备考有所帮助。

1. 请解释什么是数据结构,并举例说明。

数据结构是指在计算机中组织和存储数据的方式。

它关注的是数据的逻辑关系和操作,而不仅仅是数据本身。

常见的数据结构有数组、链表、栈、队列、树等。

举例来说,数组是一种线性结构,它将相同类型的数据元素按照一定的顺序存储在一块连续的内存空间中,可以通过索引来访问和修改元素。

2. 请说明数组和链表的区别,并分别列举它们的优缺点。

数组和链表都是常见的线性数据结构,但它们在存储方式和操作上有所不同。

数组将元素存储在连续的内存空间中,通过索引可以直接访问和修改元素。

链表则通过节点和指针的方式将元素串联起来,每个节点包含数据和指向下一个节点的指针。

数组的优点是访问速度快,可以通过索引直接定位元素,适合随机访问。

缺点是插入和删除操作比较耗时,需要移动其他元素。

链表的优点是插入和删除操作简单高效,只需要修改指针即可,不需要移动其他元素。

缺点是访问速度较慢,需要遍历链表才能找到指定位置的元素。

3. 请解释什么是栈和队列,并分别列举它们的应用场景。

栈和队列都是常见的线性数据结构,它们在数据的插入和删除操作上有所不同。

栈是一种后进先出(LIFO)的数据结构,只允许在栈顶进行插入和删除操作。

队列是一种先进先出(FIFO)的数据结构,允许在队尾进行插入操作,在队头进行删除操作。

栈的应用场景有很多,比如函数调用栈、表达式求值、括号匹配等。

函数调用栈用于保存函数的局部变量和返回地址,保证函数的正确执行顺序。

表达式求值中,栈可以用于保存运算符和中间结果,实现正确的计算顺序。

院校资料-浙大城市学院数据结构期中练习题(含答案)

院校资料-浙大城市学院数据结构期中练习题(含答案)

浙大城市学院数据结构期中练习题(含答案)一、单项选择题1.针对线性表,在存储后如果最常用的操作是取第i个结点及其前驱,则采用(BD )存储方式最节省时间。

A.单链表B.双链表C.单循环链表D.顺序表2.线性表采用链式存储时,其地址(B C )。

A.一定是不连续的B.必须是连续的C.可以连续也可以不连续D.部分地址必须是连续的3.数据结构中,与所使用的计算机无关的是数据的( A D)结构。

(第2页)A.物理B.存储C.逻辑与物理D.逻辑4.带头结点的单向链表的头指针为head,该链表为空的判定条件是(A )的值为真。

A.head = = NULL B.head->next= =headC.head->next= = NULL D.head = =head->next5.以下特征中,(D )不是算法的特性。

A.有穷性B.确定性C.可行性D.有0个或多个输出6.设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为( D A )。

A.n/2 B.n C.n-1 D.n-i+17.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),则移动元素个数为(BA )。

A.n-i+1 B.n-i C.n-i-1 D.i8.一个栈的进栈序列是5,6,7,8,则栈的不可能的出栈序列是(A )(进出栈操作可以交替进行)A.5,8,6,7 B.7,6,8,5C.7,6,5,8 D.8,7,6,59.栈的插入删除操作在(D )进行。

A.栈底B.任意位置C.指定位置D.栈顶10.栈和队列的相同点是(D )。

A.都是后进先出B.都是后进后出C.逻辑结构与线性表不同D.逻辑结构与线性表相同,都是操作规则受到限制的线性表11.以下说法正确的是(C )。

A.栈的特点是先进先出,队列的特点是先进后出B.栈和队列的特点都是先进后出C.栈的特点是先进后出,队列的特点是先进先出D.栈和队列的特点都是先进先出12.在C语言中,利用数组a存放字符串“Hello”,以下语句中正确的是( A )。

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

模拟2
1.数据在计算机内存中的表示是指。

A. 数据的存储结构
B. 数据结构
C. 数据的逻辑结构
D. 数据元素之间的关系
2. 对线性表,在下列情况下应当采用链表表示的是。

A. 经常需要随机地存取元素
B. 经常需要进行插入和删除操作
C. 表中元素需要占据一片连续的存储空间
D. 表中的元素个数不变
3.与单链表相比,双链表的优点之一是。

A.插入、删除操作更加简单。

B.可随机访问。

C.可以省略表头指针或表尾指针
D.访问前驱结点更加方便
4.如果最常用的操作是取第i个结点及前驱,则采用存储方式最节省时间。

A.顺序表 B.双链表
C.单循环链表 D.单链表
5.可以用带表头附加结点的链表表示线性表,也可以用不带表头附加结点的链表表示线性表,前者最主要的好处是。

A.可以加快对表的遍历 B. 使空表和非空表的处理统一
C.节省存储空间 D. 可以提高存取表元素的速度
6. 一个队列的入队序列是1,2,3,4, 则队列的输出序列是。

A. 4,3,2,1
B. 1,2,3,4
C. 1,4,3,2
D. 3,2,4,1
7.栈和队列的共同点是。

A.都是先进先出 B.都是先进后出
C.属于非线性结构 D.只允许在端点处插入和删除元素
8.以下不是栈的基本运算的是。

A.删除栈顶元素 B. 删除栈底元素
C.判断栈是否为空 D. 将栈置为空栈
9.一个递归的定义可以用递归过程求解,也可以用非递归过程求解,若从运行时间来看,通常__________。

A.非递归算法比递归算法快B.非递归算法比递归算法慢
C.非递归算法与递归算法时间一样D.非递归算法与递归算法时间不一定
10. 在一个非空二叉数的中序遍历序列中,根结点的右边。

A. 只有右子树上的所有结点
B.只有右子树上的部分结点
C. 只有左子树上的部分结点
D.只有左子树上的所有结点
11. 有关树和二叉树的叙述错误的有。

A. 树中的最大度数没有限制,而二叉树结点的最大度数为2;
B. 树的结点无左右之分,而二叉树的结点有左右之分;
C. 树的每个结点的孩子数为0到多个, 而二叉树每个结点均有两个孩子;
D. 树和二叉树均为树形结构。

12.深度为k的完全二叉树至少有个结点,至多有个结点。

A. (2k-1, 2k-1)
B. (2k-1, 2k)
C. (2k-1, 2k)
D. (2k-1-1, 2k-1)
13. 具有4个顶点的无向完全图,有条边。

A. 3
B. 6
C. 12
D. 16
14.一个具有n个顶点的无向图,要确保是一个连通图,至少需要条边。

A. n-1
B. n
C. n+1
D. n/2
15.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。

A. 4
B. 2
C. 1
D. 1/2 二.填空题 (本大题共 10 个空,每个空 2 分,共 20 分)
1. 数据的逻辑结构被分为集合、 、 、图形结构四种。

2. 数据的存储结构主要分为 和 两种。

3. 不同形式的时间复杂度O(logn)、O(nlogn)、O(n)、O(n 2
)、O(2n
),随着n 的增长,其增长速度关系为(按从小到大排列) 。

4.在单链表中,要删除某一指定的结点,必须找到该结点的 。

5. 在一个长度为n 的顺序表中删除表中的第i 个元素(0≤i ≤n-1)时,需向前移动 元素。

6. 已知某无向图的二元组表示为 DS=(K, R), K={a, b, c, d, e},R={r},
r={(a,b),(a,c),(a,d),(b,e),(d,e),(c,d),<c,b>},则顶点b 的度为 。

7. 已知一棵树用广义表表示为a(b, c(d(e(f), g, h), i), j),则此树的度为 ,深度为 。

三.解答题 ( 本大题共 3 题,每题 6 分,共 18 分)
1.设有字符串 3*a-b/4 ,试利用栈写出将此次序改变为3a*b4/- 的操作步骤。

例如: ABC 变BCA ,操作步骤为 Push; Push; Pop; Push; Pop; Pop 。

2.已知一棵二叉树的中序遍历序列是abcdjefhgi ,前序遍历序列是 eadcbjfghi ,请画出这棵二叉树,并写出这棵二叉树的后序遍历序列。

3. 设有向图G=(V,E),V={V1,V2,V3,V4,V5,V6},G 的邻接矩阵如下:
0 1 1 0 0 0
0 0 0 0 1 1
0 0 0 1 0 0
1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 1 0
①请画出图G的强连通分量;
②请根据邻接矩阵存储结构有向图的广度优先遍历算法,写出从顶点V1出发所得到的顶点序列。

1.设head为非递减有序的单链表的头指针,单链表中各结点的值依次为 ( 2, 3, 3, 3, 4, 7,
8, 8, 9, 10,10) ,阅读下列算法,写出运行该算法后单链表中各结点的值。

void fun1(LNode* &head )
{
LNode *p=head, *q;
while ( p != NULL && p-> next != NULL ) {
if ( p->data == p->next->data) {
q = p->next;
p->next = q->next;
free(q);
}
else p = p->next;
}
}
2.阅读下列程序,说明该算法的功能。

ElemType fun2(Queue q)
{
ElemType x;
Queue temp;
InitQueue(temp);
while (!QueueEmpty(q)) {
x=OutQueue(q);
EnQueue(temp, x);
}
while (!QueueEmpty(temp)) {
x=OutQueue(temp);
EnQueue(q, x);
}
return x;
}
阅读下列程序,在空白处填入适当的语句,使算法完整。

1.设有一个顺序表L,其元素为整型数据,下列算法将L中所有小于0的整数放在前半部分,大于0的整数放在后半部分。

提示:从L的两端查找,前端找大于0的数据,后端找小于0的数据,然后将两位置的数据交换。

顺序表结构定义如下:
struct List{
ElemType *list; 下列算法用于输出邻接表表示的无向图中序号为num的顶点的所有邻接点。

邻接表结构定义如下: typedef struct node{
int adjvex;
struct node *next;
} edgenode;
typedef edgenode *adjlist[MaxVertexNum];
算法如下:
void OutAdjVex(adjlist GL, int num)
{
edgenode *p;
p = ④ ;
while ( ⑤ ) {
cout<< ⑥ ;
p =p->next;
}
}
1.根据下列函数声明编写求二叉树BT中所有结点数和叶子结点数的递归算法,其值分别由引
用参数C1和C2带回,C1和C2的初值均为0。

函数声明为:void Count(BTreeNode *BT , int &C1, int &C2)
结点结构定义如下:
struct BTreeNode {
ElemType data;
BTreeNode *left;
BTreeNode *right;
};
2.设用顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底
分别设在数组的两个端点,请写出双向栈的顺序存储类型定义,以及入栈Push(Stack, i, item) 和出栈 Pop(Stack, i) 算法,其中i为1或2,分别表示在数组两端的两个栈。

相关文档
最新文档