东华大学2015年计算机学院研究生复试上机考真题.

合集下载

东华大学计算机考研真题

东华大学计算机考研真题

东华大学计算机考研真题1、41.无符号二进制整数111111转换成十进制数是()。

[单选题] *A.71B.65C.63(正确答案)D.622、端口号的目的是()。

中[单选题] *A.跟踪同一时间网络中的不同会话B.源系统产生端口号来预报目的地址C.用于标识应用层的进程(正确答案)D.用于标识网络中的主机3、52.\"32位微机”中的32位指的是()。

[单选题] *A.微机型号B.内存容量C.存储单位D.机器字长(正确答案)4、下列描述中,正确的是______。

[单选题] *A:光盘驱动器属于主机,而光盘属于外设B:摄像头属于输入设备,而投影仪属于输出设备(正确答案)C:U盘即可以用作外存,也可以用作内存D:硬盘是辅助存储器,不属于外设5、文件的分类有很多标准,只读文件和读写文件属于()分类。

[单选题] *A.按保护级别(正确答案)B.按性质C.按信息流量D.按类型6、在WPS演示文稿中,以下()是无法打印出来的。

[单选题] *A.幻灯片中的图片B.幻灯片中的动画(正确答案)C.母版上设置的标志7、90.目前的许多消费电子产品(数码相机.数字电视机等)中都使用了不同功能的微处理器来完成特定的处理任务,计算机的这种应用属于()[单选题] *A.科学计算B.实时控制C.嵌入式系统(正确答案)D.辅助设计8、双绞线电缆又称为()。

[单选题] *A双绞线(正确答案)B双绞C网线D电缆9、下列哪一个不属于冯.诺依曼体系的设计思想()[单选题] *A.计算机工作中自动运行,操作员无法控制(正确答案)B.计算机内部采用二进制来表示信息C.计算机要工作就必须将程序调入内存D.计算机硬件包括五大部件:运算器、控制器、存储器、输入/输出设备10、当程序被最小化后,该程序()。

[单选题] *A. 停止运行B. 被转入后台运行(正确答案)C. 不能打开11、要在幻灯片中设置“标尺”的显示/隐藏属性,应选择()选项卡。

2015年计算机真题及解析.

2015年计算机真题及解析.

2015年全国硕士研究生入学统一考试计算机学科专业基础综合试题一、单项选择题:140小题,每小题2分,共80分。

下列每题给出的四个选项中,只有一个选项符合题目要求。

请在答题卡上将所选项的字母涂黑。

1.已知程序如下:int s(int n){ return (n<=0) ? 0 : s(n-1) +n; }void main(){ cout<< s(1); }程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是A.main()->S(1)->S(0) B.S(0)->S(1)->main()C.m ain()->S(0)->S(1) D.S(1)->S(0)->main()D.先序序列为a,b,c,d的不同二叉树的个数是A.13 B.14 C.15 D.163.下列选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫曼树的是A.24,10,5和24,10,7 B.24,10,5和24,12,7C.24,10,10和24,14,11 D.24,10,5和24,14,64.现在有一颗无重复关键字的平衡二叉树(A VL树),对其进行中序遍历可得到一个降序序列。

下列关于该平衡二叉树的叙述中,正确的是A.根节点的度一定为2 B.树中最小元素一定是叶节点C.最后插入的元素一定是叶节点D.树中最大元素一定是无左子树5.设有向图G=(V,E),顶点集V={V0,V1,V2,V3},边集E={<v0,v1>,<v0,v2>,<v0,v3>,<v1,v3>},若从顶点V0 开始对图进行深度优先遍历,则可能得到的不同遍历序列个数是A.2 B.3 C.4 D.56.求下面带权图的最小(代价)生成树时,可能是克鲁斯卡(kruskal)算法第二次选中但不是普里姆(Prim)算法(从V4开始)第2次选中的边是A.(V1,V3) B.(V1,V4) C.(V2,V3) D.(V3,V4)7.下列选项中,不能构成折半查找中关键字比较序列的是A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4508.已知字符串S为“abaabaabacacaabaabcc”. 模式串t为“abaabc”, 采用KMP算法进行匹配,第一次出现“失配”(s[i] != t[i]) 时,i=j=5,则下次开始匹配时,i和j的值分别是A.i=1,j=0 B.i=5,j=0 C.i=5,j=2 D.i=6,j=29.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是A.直接插入排序B.起泡排序C.基数排序D.快速排序10.已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比较数是A.1 B.2 C.3 D.411.希尔排序的组内排序采用的是()A.直接插入排序B.折半插入排序 C.快速排序D.归并排序12.计算机硬件能够直接执行的是()Ⅰ.机器语言程序Ⅱ.汇编语言程序Ⅲ.硬件描述语言程序A.仅ⅠB.仅ⅠⅡC.仅ⅠⅢD.ⅠⅡⅢ13.由3个“1”和5个“0”组成的8位二进制补码,能表示的最小整数是()A.-126 B.-125 C.-32 D.-314.下列有关浮点数加减运算的叙述中,正确的是()Ⅰ. 对阶操作不会引起阶码上溢或下溢Ⅱ. 右规和尾数舍入都可能引起阶码上溢Ⅲ. 左规时可能引起阶码下溢Ⅳ. 尾数溢出时结果不一定溢出A.仅ⅡⅢB.仅ⅠⅡⅣC.仅ⅠⅢⅣD.ⅠⅡⅢⅣ15.假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用回写(Write Back)方式,则能存放4K字数据的Cache 的总容量的位数至少是()A.146k B.147K C.148K D.158K16.假定编译器将赋值语句“x=x+3;”转换为指令”add xaddt, 3”,其中xaddt是x 对应的存储单元地址,若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Through)方式,则完成该指令功能需要访问主存的次数至少是()A.0 B.1 C.2 D.317.下列存储器中,在工作期间需要周期性刷新的是()A.SRAM B.SDRAM C.ROM D.FLASH18.某计算机使用4体交叉存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,则可能发生发生缓存冲突的地址对是()A.8004、8008 B.8002、8007 C.8001、8008 D.8000、800419.下列有关总线定时的叙述中,错误的是()A.异步通信方式中,全互锁协议最慢B.异步通信方式中,非互锁协议的可靠性最差C.同步通信方式中,同步时钟信号可由多设备提供D.半同步通信方式中,握手信号的采样由同步时钟控制20.若磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,则访问一个扇区的平均存取时间大约是( )A.8.1ms B.12.2ms C.16.3ms D.20.5ms21.在采用中断I/O方式控制打印输出的情况下,CPU和打印控制接口中的I/O端口之间交换的信息不可能是( )A.打印字符B.主存地址C.设备状态D.控制命令22.内部异常(内中断)可分为故障(fault)、陷阱(trap)和终止(abort)三类。

2015年计算机等级考试《二级C语言程序设计》机考操作题题库(附答案)

2015年计算机等级考试《二级C语言程序设计》机考操作题题库(附答案)

2015年计算机等级考试《二级C语言程序设计》机考操作题题库(附答案)本卷共分为3大题15小题,作答时间为240分钟,总分200分,120分及格。

一、程序填空题(共50分)1、请补充main()函数,该函数的功能是:计算3名学生各科的平均成绩。

例如,当scoreEN][M]={{85,62,89.5,60,69),{90,96.84.5,100,85},{92,97。

86,73,85})时,五门学科的平均分为:898586.777.779.7。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。

试题程序:2、请补充函数proc(),该函数的功能是:把字符下标为非素数的字符从字符串str中删除,把字符下标为素数的字符重新保存在字符串str中。

字符串str从键盘输入,其长度作为参数传人函数proc()。

例如,输入“helloeverybody”,输出“lleeoy”。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

试题程序:3、给定程序中,函数fun()的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。

例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。

试题程序:4、请补充main()函数,该函数的功能是:把文本文件text2中的内容追加到文本文件text1的内容之后。

例如,文件text2的内容为“1’m very happy!”,文件Text1的内容为“I’m a girl,”,追加之后文件text1的内容为“1’m a girl,I’m very happy”。

东华大学计算机复试经过

东华大学计算机复试经过

东华大学计算机复试经过首先要说的是,东华大学是所不错的学校。

不歧视任何学生,公平公正。

我是调剂过去复试的。

调剂一定要时常关注研招办和计算机学院的官网公告。

先是调剂系统开通前到东华大学研招办,有个专门的系统,注册后,填写调剂相关信息,也就是预调剂。

一定时间之后,这个系统会确认你的预调剂,就是说不出意外正式开通调剂系统后,你就可以报东华大学,然后就会接收你啦。

调剂系统正式开通后,我就马上填报了东华大学计算机专业,很快的,便收到了复试通知,确认之后,有老师给我打电话,让我再去之前的预调剂系统确认下复试科目,并打印下复试通知书。

不过那个预调剂系统貌似有问题,开始的一两周都没所谓的确认复试科目。

后来复试前几天,总算可以了,然后便确认了复试科目,但是无法下载复试通知书,按照复试时间安排,上面写着可以去学校的一个办公室让老师帮忙打出来。

计算机学院在松江校区,挺偏的。

我从广州飞机到上海,已经是晚上12点半,从飞机场打个的,跑高速,直接要了我140块钱。

到了学校门口,发现周围没有住的地方,就从学校门口走到江学路绅居商务酒店,加上绕的弯路等,大概走了5公里路,快两点到的酒店,房价不算很贵130好像是。

复试的第一天上午报到,在一个教室将要求的资料审核一下,交下复印件。

然后去食堂吃了个汉堡,一杯奶茶,当作是早点了。

食堂要去后面的学生活动中心里面买饭票的,另外下午貌似没人上班。

各处晃悠了会之后,吃了中饭,就是专业上机考试,题目不难,有程序改错,程序填空,以及编程。

用VC6.0搞,改错就是少了些东西要补上,初始化有问题要改正,逗号多打了少打了,之类的。

填空就是循环里面循环到哪个数值,赋值操作什么的,编程题,考的主要是排序、合并、数据移动、删除等。

对于做了两三年相关工作的我来说,很快做完没什么问题。

不过第一题题目有问题,但是规定不让删行,改动愿语句,所以第一题我浪费了很多时间,不过最后还是提前了一些提交了。

然后就走去综合实验楼,听力测试。

2015年计算机统考试题及答案

2015年计算机统考试题及答案

第一部分选择题—计算机基础知识共15题15分1.个人计算机简称PC机,这种计算机属于______. AA.微型计算机 B.小型计算机 C.超级计算机 D.巨型计算机2.对于信息,下列说法错误的是______。

DA.信息是可以处理的 B.信息是可以传播的C.信息是可以共享的 D.信息可以不依附于某种载体而存在3.在计算机中,用数值、文字、语言和图像等所表示的内容都可称为______。

CA.表象 B.文章 C.信息 D.消息4.冯·诺依曼在1946年提出了计算机的程序存储原理。

按此原理设计的计算机称为______。

C A.智能计算机 B.高性能计算机C.存储程序计算机或冯·诺依曼结构计算机 D.现代化的计算机5.巨型电子计算机指的是______。

CA.体积大 B.重量大 C.功能强 D.耗电量大6.“使用计算机进行数值运算,可根据需要获得千分之一到几百万分之一甚至更高的精确度。

”,该描述说明计算机具有______.DA.自动控制能力 B.高速运算的能力 C.记忆能力 D.很高的计算精度7.用计算机进行图书资料检索工作,属于计算机应用中的______。

AA.数据处理 B.科学计算 C.人工智能 D.实时控制8.冯·诺依曼在1946年提出了计算机的程序存储原理.关于计算机的程序,其说法错误的是______。

D A.程序由指令构成 B.程序和数据都用二进制数表示C.指令由操作码和地址码构成 D.计算机以程序为中心9.运算器的组成部分不包括______。

BA.控制线路 B.译码器 C.加法器 D.寄存器10.计算机中的所有信息都是以二进制方式表示的,这两个二进制数是______。

CA.1和2 B.0和2 C.0和1 D.1和1011.下面哪一项不是计算机采用二进制的主要原因_____。

DA.二进制只有0和1两个状态,技术上容易实现 B.二进制运算规则简单C.二进制数的0和1与逻辑代数的“真”和“假”相吻合,适合于计算机进行逻辑运算D.二进制可与十进制直接进行算术运算12.计算机的运算速度是它的主要性能指标之一。

东华大学计算机学院研究生复试上机考真题

东华大学计算机学院研究生复试上机考真题

2015年硕士学位研究生招生复试笔试试题考试科目: C语言与数据结构算法上机测试考试时间120分钟注意事项:1、源程序都在D:\TEST文件夹下,请先将该“TEST”文件夹改名为“准考证号_姓名”,其中准考证号是初试时的15位准考证号;2、考试结束后,首先删除VC++ 6.0自动生成的debug文件夹,然后使用压缩软件将上述考生文件夹中所有内容打包(包括里面所有文件,比如工程文件等。

除上述debug文件夹外,不得删除任何考试过程中产生的文件,文件名为“准考证号_姓名.rar”,然后将该文件通过教学系统的学生端的“传文件给教师”功能上传到服务器。

注意:1文件上传后,需到监考老师处确认方可离开考场。

如果未经监考老师确认,并且文件由于某种原因上传未成功,考试成绩以0分计。

2上传的压缩包解压后将立即看到所有文件,压缩包中不得包含任何子文件夹。

压缩包被打开后的图示见附录,其中附图a和附图b错误,附图c正确。

3、如果已经上传,需要修改然后再上传的,在压缩包的文件名后加编号2、3、4等,形如:“考号_姓名2.rar”、“考号_姓名3.rar”。

在监考老师处确认时,请求监考老师将老文件删除。

4、所有提供的文件(包括C源文件,不得更改文件名,也不得更改其内部结构(详见题目中的红字。

5、所有程序需要在VC环境中运行,结果正确方可。

比如,程序填空,不能仅将空填好,而是需要运行程序,进行测试,确保正确。

6、本考试共包括1道程序改错、1道程序填空、3道程序编写题,分数分别为:30、 15、 15、 20、 20。

7、考试题文字描述见下页,C程序见考生文件夹下相应文件。

(1 (30分给定程序modi.c中,程序的功能是:输出100到999之间的所有水仙花数。

水仙花数的特点是:它的每个位上的数字的 3次幂之和等于它本身。

(例如:371=3^3 + 7^3 + 1^3,因此371是水仙花数。

请修改程序中的五行标记有错的代码,并注意在原程序上做尽量少的修改,使得程序能运行出正确的结果。

东华大学样题及答案(finished)

东华大学样题及答案(finished)

东华大学高等数学实验试题A考试时间:90分钟(附参考解答)班级 学号 姓名 得分 上机考试说明:1. 开考前可将准备程序拷到硬盘, 开考后不允许用移动盘,也不允许上网;2. 领座考生试卷不同,开卷,可利用自己备用的书和其他资料,但不允许讨论,也不允许借用其他考生的书和资料。

3. 解答(指令行,答案等)全部用笔写在考卷上。

一、 计算题(60分)要求:写出M 函数(如果需要的话)、MATLAB 指令和计算结果。

1. 解线性方程组⎪⎪⎩⎪⎪⎨⎧-=+=+--=-+=-+14235231543421431321x x x x x x x x x x x 并求系数矩阵的行列式。

指令行:A=[5 1 -1 0;1 0 3 -1;-1 -1 0 5;0 0 2 4];b=[1;2;3;-1];x=A\b,d=det(A) 结果:x 1=1.4, x 2= -5.9, x 3=0.1, x 4= -0.3. 行列式=70.设 f(x,y) = 4 sin (x 3y),求 3,22==∂∂∂y x y x f 。

2. 指令行:syms x y; f=diff(4*sin(x^3*y),x); f=diff(f,y); f=subs(f,x,2); f=subs(f,y,3) 结果:1063.63. 求方程 3x 4+4x 3-20x+5 = 0 的所有解。

指令行:roots([3 4 0 –20 5]) 结果:-1.5003 - 1.5470i, -1.5003 + 1.5470i, 1.4134, 0.2539matlab 求导命令diff 调用格式:diff(函数) , 求的一阶导数;diff(函数, n) , 求的n 阶导数(n 是具体整数);diff(函数,变量名), 求对的偏导数;diff(函数, 变量名,n) ,求对的n 阶偏导数;在符号表达式或矩阵中进行符号替换SyntaxR = subs(S)R = subs(S, new)R = subs(S, old, new)R = subs(S, old, new) 利用new 的值代替符号表达式中old 的值,old 为符号变量或是字符串变量名。

东华大学考研历年复试题

东华大学考研历年复试题

东华大学考研历年复试题1,谈谈对管理科学与工程专业的理解和认识,及它的研究方向?管理科学与工程是综合运用系统科学、管理科学、数学、经济和行为科学及工程方法,结合信息技术研究解决社会、经济、工程等方面的管理问题的一门学科。

该学科从定性分析趋向定量化研究,从宏观研究逐步深入到微观研究,侧重于研究同现代生产经营、科技、经济和社会等发展相适应的管理理论、方法与工具,应用现代科学方法与科技成就来阐明和揭示管理活动的规律,以提高管理的效率。

该学科的发展趋势是以管理科学为基础,以多学科知识为支撑,利用现代化手段和技术,解决管理中的科学决策及风险研究,管理实践中的理论和方法研究,管理的绩效研究,管理的战略研究等。

该专业是管理理论与管理实践紧密结合的学科,侧重于研究同现代生产、经营、科技、经济、社会等发展相适应的管理理论、方法和工具,该学科培养学生具有扎实系统的管理理论基础,合理的知识结构。

正确地应用系统分析方法及相应的工程技术方法解决管理方面的有关理论与实际问题。

研究方向分别为:1.资源优化管理资源优化管理全面融汇了经济科学和技术及管理科学。

本方向的物流工程研究,对基础理论及各类问题的研究已深入到该领域的国际前沿,具有开创性和前沿性。

对配送规划、物流共同化、物流管理信息化等方面进行了深入研究。

本方向的供应链管理研究,对供应链设计与管理、ERP应用、生产计划与调度、流水机器调度和非流水机器调度、企业运营计算机模拟等方面进行了深入研究,各项研究已深入国际前沿,研究成果广泛应用于企业管理实践。

2.决策科学决策科学是应用逻辑推理、定量分析、实证研究等科学方法研究决策科学理论和决策者行为的一门学科。

它为个体和群体决策者对众多可择方案的评价、选择、和决策提供科学的方法论。

迄今为止,决策科学理论仍有许多值得进一步探讨和完善的前沿领域,同时决策科学的应用,也指导并贯穿于其他相关学科,如,市场学、项目管理、金融财务等学科的研究。

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

2015年硕士学位研究生招生复试笔试试题
考试科目: C语言与数据结构算法上机测试
考试时间120分钟
注意事项:
1、源程序都在D:\TEST文件夹下,请先将该“TEST”文件夹改名为“准考证号_
姓名”,其中准考证号是初试时的15位准考证号;
2、考试结束后,首先删除VC++ 6.0自动生成的debug文件夹,然后使用压缩软件
将上述考生文件夹中所有内容打包(包括里面所有文件,比如工程文件等。

除上述debug文件夹外,不得删除任何考试过程中产生的文件,文件名为“准考证号_姓名.rar”,然后将该文件通过教学系统的学生端的“传文件给教师”
功能上传到服务器。

注意:
1文件上传后,需到监考老师处确认方可离开考场。

如果未经监考老师确认,
并且文件由于某种原因上传未成功,考试成绩以0分计。

2上传的压缩包解压后将立即看到所有文件,压缩包中不得包含任何子文件
夹。

压缩包被打开后的图示见附录,其中附图a和附图b错误,附图c正确。

3、如果已经上传,需要修改然后再上传的,在压缩包的文件名后加编号2、3、4
等,形如:“考号_姓名2.rar”、“考号_姓名3.rar”。

在监考老师处确认时,请求监考老师将老文件删除。

4、所有提供的文件(包括C源文件,不得更改文件名,也不得更改其内部结构
(详见题目中的红字。

5、所有程序需要在VC环境中运行,结果正确方可。

比如,程序填空,不能仅将
空填好,而是需要运行程序,进行测试,确保正确。

6、本考试共包括1道程序改错、1道程序填空、3道程序编写题,分数分别为:
30、 15、 15、 20、 20。

7、考试题文字描述见下页,C程序见考生文件夹下相应文件。

(1 (30分给定程序modi.c中,程序的功能是:输出100到999之间的所有水仙花数。


仙花数的特点是:它的每个位上的数字的 3次幂之和等于它本身。

(例
如:371=3^3 + 7^3 + 1^3,因此371是水仙花数。

请修改程序中的五行标记有错的代码,并注意在原程序上做尽量少的修改,使得程序能运行出正确的结果。

注意:不得更改其它程序行,不得增行或删行,也不得更改程序的结构!
(2 (15分给定程序blank.c中已建立一个带有头结点的单向链表,链表中的各结点数据域
中的数据各不相同,并且按结点数据域中的数据从小到大顺序链接。

函数fun 的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点仍保持从小到大顺序排列。

如果x在链表中已经存在,则不插入。

链表已有元素为:11,12,15,18,19,22,25,29,则:
如果x为20,插入后链表为:11,12,15,18,19,20,22,25,29
如果x为30,插入后链表为:11,12,15,18,19,22,25,29,30
如果x为12,程序执行后链表保持不变
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

(15分注意:不得增行或删行,也不得更改程序的结构!
(3 (15分请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代:
程序运行后,如果输入精度0.005,则程序输出为3.132157,
如果输入精度0.0005,则程序输出为3.140578。

注意:部分源程序存在文件prog1.c中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

(4 (20分在一个递增有序的数组中,有数值相同的元素存在,程序的功能是去掉数值相同
的元素,使数组中不再有重复的元素。

例如:(7,10,10,21,30,42,42,42,51将变成(7,10,21,30,42,51。

主函数main中,首先输入有序数组的元素数目及各元素的值,然后将数组及元素数目传入函数fun中,函数fun完成删除重复元素的操作。

部分源程序存贮在文件prog1.c中,请完成fun函数。

要求:尽量优化算法的时间复杂度与空间复杂度,并在prog2.c的最前面添加注释,简要介绍自己的算法,并指出该算法具有什么样的时间复杂度与空间复杂度。

请勿改动主函数main和其它函数中的任何内容,仅在最前面添加注释,并在函数fun的花括号中填入你编写的若干语句。

(5 (20分从数据结构中树的定义可知,除根结点外,树中的每个结点都有唯一的一个双亲
结点。

根据这一特性,可用一组连续的存储空间(一维数组存储树中的各结点。

树中的结点除保存结点本身的信息之外,还要保存其双亲结点在数组中的位置(即在数组中的下标。

双亲的信息为-1则表示该结点为根结点,树的这种表示法称为双亲表示法。

树的每个结点的数据类型定义如下:
struct PTNode
{
char data; //结点数据域
int parent; //结点双亲在数组中的位置
};
树的数据类型定义如下:
#define MAX_TREE_SIZE 100
struct PTree
{
struct PTNode nodes[MAX_TREE_SIZE]; //存储树中所有结点
int n; //树中共有n个结点,n不超过100
};
则下图a所示的树,按照双亲表示法存储结构,存储为图b所示形式(n为10。

序号 data parent
图a 树的示意图
图b 双亲表示法存储
已知一棵树已存储为以上形式,请编写函数GetLeavesCount,计算叶子结点数目。

GetLeavesCount的函数原型为:
int GetLeavesCount (struct PTree T
其中,
形参T中保存了树中结点数目及图b所示的结点数组。

函数返回叶子结点的数目。

比如,对图b的树调用函数GetLeavesCount (T,返回结果为6(因为有6个叶子结点。

部分代码在prog3.c中,请仅在GetLeavesCount函数中填入内容,完成程序。

要求:尽量优化算法的时间复杂度与空间复杂度,并在GetLeavesCount函数前的注释部分简要介绍自己的算法,同时指出该算法具有什么样的时间复杂度与空间复杂度。

请勿改动主函数main和其它已有函数中的任何内容,可以在函数GetLeavesCount的花括号中填入你编写的若干语句,允许增加自定义函数。

prog3.c中,struct PTree CreateTree(函数用于从键盘输入树的双亲表示法的信息,创建一棵树。

输入的第一个数n表示树中结点数,此后有n行输入,每行表示一个结点的信息,第一个信息为结点的数据,第二个信息为结点的双亲结点在数组中的位置。

如输入:
10
a -1
b 0
c 0
d 0
e 1
f 1
g 1
h 2
i 3
j 3
则将创建图b所对应的树。

对此树调用函数GetLeavesCount (T,返回结果为6 如输入:
8
a -1
b 0
e 1
h 2
c 0
d 0
f 5
g 5
对此树调用函数GetLeavesCount (T,返回结果为4 附录:压缩方式图示附图a 打开压缩包后,看到的是文件夹,错误!
附图b 附图c 压缩包中包含所有的文件,且无文件夹,正确!。

相关文档
最新文档