天津大学数据结构与程序设计考研真题试题2014年
- 格式:pdf
- 大小:459.67 KB
- 文档页数:5
天津大学管理科学与工程专业考研真题天津大学管理科学与工程专业考研复习是有依据可循的,考研学子关注事项流程为:考研报录比-大纲-参考书-资料-真题-复习经验-辅导-复试-导师。
小编最近的一个工作就是以专业为单位,为大家汇总该专业可能会涉及到的真题资料,方便同学们搜寻。
小编今天汇总整理的是天津大学管理科学与工程专业,该专业加上非全日制一共有11个研究方向,涉及到10门专业课科目,下面就将小编忙碌的成果分享给大家伙们,同学们各取所需啊:1.901数据结构与程序设计《天津大学901数据结构和程序设计考研红宝书》,由天津考研网主编。
包含:天津大学901数据结构与程序设计1996-2007、2013、2014、2015、2016年考研真题;天津大学901数据结构与程序设计1996-2007、2013-2016年考研试题解析及参考答案;天津大学901数据结构与程序设计2000-2007、2013、2014年考研真题解析。
2.802材料力学《天津大学802材料力学考研全套复习资料》,由天津考研网主编。
包含:天津大学802材料力学1997-2007、2009-2012、2014、2015、2016年考研真题;附赠1999-2004年试题参考答案。
3.803机械原理与机械设计《天津大学803机械原理与机械设计考研全套复习资料》,由天津考研网主编,包含:天津大学803机械原理及机械设计1996-2016年考研真题;天津大学803机械原理及机械设计2005-2016年考研试题参考答案;天津大学803机械原理及机械设计2008-2016年考研真题解析。
4.811电路《天津大学811电路考研全套复习资料-高分学长全程版》,由天津考研网主编。
包含:天津大学811电路1991-2016年考研真题;天津大学811电路1999-2016年考研试题参考答案;天津大学811电路2005-2015年考研真题解析。
5.812自动控制理论《天津大学812自动控制理论考研全套复习资料-高分学长全程版》,由天津考研网主编。
2014年考研计算机专业(基础综合)真题试卷(题后含答案及解析) 题型有:1. 单项选择题 2. 综合应用题单项选择题1-40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
1.下列程序段的时间复杂度是_______。
count=0;for(k=1;k<=n,k*=2)for(j=1;j<=n,j++)count++;A.O(log2n)B.O(n)C.O(nlog2n)D.O(n2)正确答案:C2.假设栈初始为空,将中缀表达式a/b+(c*d-e*f)/g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是_______。
A.+(*-B.+(-*C./+(*-*D./+-*正确答案:B3.循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。
假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。
初始时为空。
下列判断队空和队满的条件中,正确的是_______。
A.队空:end1==end2;队满:end1==(end2+1)mod MB.队空:end1==end2;队满:end2==(end1+1)mod (M-1)C.队空:end2==(end1+1)mod M;队满:end1==(end2+1)mod MD.队空:end1==(end2+1)mod M;队满:end2==(end1+1)mod (M-1)正确答案:A4.若对如下的二叉树进行中序线索化,则结点x的左、右线索指向的结点分别是_______。
A.e、cB.e、aC.d、cD.b、a正确答案:D5.将森林F转换为对应的二叉树T,F中叶结点的个数等于_______。
A.T中叶结点的个数B.T中度为1的结点个数C.T中左孩子指针为空的结点个数D.T中右孩子指针为空的结点个数正确答案:C6.5个字符有如下4种编码方案,不是前缀编码的是_______。
天津大学数据结构和程序设计考研真题-考研资料-笔记讲义许多学生在考研复习的时候,都会遇到重点不明确,不知道从何复习的情况。
为此,天津考研网建议,考研复习中,专业的考研复习资料,是帮助考生能够快速掌握复习重点及方法必不可少的因素,然后就是真题和讲义,可以让同学了解历年考研的出题方向和大致范围。
天津考研网推出了天津大学数据结构和程序设计的考研复习资料及真题解析班,以下为详细介绍:天津大学数据结构和程序设计考研真题等资料由天津考研网签约的天津大学计算机科学与技术学院高分考研学生历时近一月所作,该考生在考研中取得了专业课129分的好成绩并在复试中更胜一筹,该资料包含该优秀本校考生的考研经验、考研试题解题思路分析、复试流程经验介绍以及针对官方指定参考书的重难要点并根据天津大学本科授课重点整理等,从漫漫初试长路到紧张复试亮剑为各位研友提供全程考研指导攻关。
特别说明:此科目06年以前科目名称为数据结构;自06年到08年科目名称改为计算机基础(包含数据结构、程序设计、计算机原理);自09年开始全国统考,科目名称为计算机学科专业基础综合;自2013年开始由学校自主命题,科目名称改为901数据结构与程序设计。
第一部分由天津考研网提供的核心复习资料:天津大学数据结构和程序设计资料编者序言:本文的重点在于C++,数据结构的复习和复试基本情况介绍。
C++、数据结构又分别从复习规划,复习用书,重点知识点结合历年考题这四个方面来展开的。
复习规划大家务必看一下,然后根据自己的实际情况在制定自己的复习时间,因为内容很多,大多数同学都在考试之前复习不完,在心理因素上就落了一节。
重点知识点一定要看了,这些知识点几乎每年都会有题了。
另外我还给了历年试题的答案供大家参考。
有的答案是自己做的答案,可能会有疏忽的地方。
望大家提出宝贵的意见和建议。
复试的东西现在了解一下即可,等到进复试了,还是有足够的时间看的。
另外我还给了些自己复习心得。
考完后感慨很多,回顾了这多半年来自己的成败得失。
天津大学计算机技术专硕考研真题资料含答案解析天津大学计算机技术专硕考研复习都是有依据可循的,考研学子关注事项流程为:考研报录比-大纲-参考书-资料-真题-复习经验-辅导-复试-导师,缺一不可。
首先笔者先简单地介绍一下自己的情况,笔者是2017届的考研党,报考的院校和专业是天津大学计算机技术专硕,本科是普通一本,是一个跨专业考生,很幸运地进入了复试阶段并且成为了天津大学的一员。
最近正是开学季,也是大家开始要复习专业课的时候了,于是我决定把自己用过的真题资料书分享给大家,希望可以帮到考研的小伙伴们。
下面是给大家找出来的天津大学计算机技术专硕考研真题解析含答案部分。
天津大学901数据结构与程序设计2016年考研真题今年901考试的难度不是很大,感觉上140应该问题不大,比去年稍微简单点,都不是很难,相当于acm初级水平。
去年的编程题太简单,今年的编程题稍微提升了难度。
然而实做题、读程序与写结束这些部分都是非常简单的,只要掌握好课本知识就没有任何问题,能快速解答。
901考试分为两个部分,就是名字中的这两个科目,其中数据结构考试题分为实做题和算法设计:C++分为程序填空,写结果+程序设计,程序设计要求输入输出可执行的完整的算法,这点与数据结构的算法设计不一样,那个只要表达清楚思想就可以了。
本文运用复习课本是王道,数据结构综合联考单科,严蔚敏C语言版数据结构,谭浩强C++面向对象程序设计,这三本课本我感觉足以应付天大的901的考试了,里面有很多的考研类似题,值得大家借鉴。
看这些课本的时候,我觉得应该注意,要保证你到考试的时候对数据的算法,每个算法是做什么的,它的特征,思路清晰,比如一说树的先序遍历,立刻想到递归的怎么写,非递归的怎么写,具体哪些算法需要记忆。
C++编程,可以做一些ACM的简单题来练习。
数据结构实做题(共45分)一、(10分)(1)给定10个数,求其二叉排序树。
(2)根据上述的二叉排序树,写出构造从大到小的排序序列的方法。
天津大学901数据结构与程序设计考研大纲及考题真题资料天津大学901数据结构与程序设计考研复习都是有依据可循的,考研学子关注事项流程为:考研大纲-参考书-真题资料-复习经验-辅导-复试-导师,缺一不可。
咱们今日分享天津大学901数据结构与程序设计考研大纲及考题真题资料,帮助大家找到报考学校的命题规律、题型考点、分值分布、难易程度、重点章节、重要知识点等,从而使我们的复习备考更具有针对性和侧重点,提高复习备考效率。
下面是天津大学901数据结构与程序设计考研考试大纲一、考试的总体要求本考试内容由两部分组成,数据结构和程序设计,各占总分的50%。
数据结构是计算机科学与技术专业基础课,要求学生掌握基本的数据结构及相关的存储方式、基本运算、算法和应用,并能运用盒图、结构化语言、类C、高级语言(C或C++)等方法之一编写算法。
程序设计指采用C++语言,应用数据结构的知识进行面向对象程序设计。
要求学生掌握面向对象的程序设计方法,掌握C++语言的基本概念,语法及编程方法。
二、考试的内容及比例数据结构考试的内容包括:(占总分50%)1、线性表、顺序表、链表的定义、特点、存储结构及相关的基本算法2、栈的定义、特点、顺序与链式存储表示、基本算法;栈的应用;队列的定义、特点;链队列、循环队列相关的定义、特点、基本算法;栈与递归的实现3、广义表的定义及存储结构4、二叉树的定义、性质及存储结构;遍历二叉树定义、过程及其算法;二叉树的应用;树、森林与二叉数之间的转换;哈夫曼树及其应用;与二叉树应用相关的递归算法5、图的定义、存储结构;图的遍历过程及算法;最小生成树构造过程及算法;拓扑排序过程及算法;关键路径相关内容;最短路径相关内容;与图的应用相关的递归算法6、静态表查找过程及算法、动态表查找过程及算法;哈希表的构造及处理冲突方法7、插入排序、快速排序、选择排序、归并排序、基数排序等内部排序的特点、过程及算法程序设计考试的内容包括:(占总分50%)1、基本语法与常用语句,面向对象的基本概念2、函数的调用,函数参数,函数的重载及函数作用域3、类的概念,类的定义与说明,类的成员函数,作用域4、对象的概念,对象的初始化,对象的特殊生成方法,对象的生存期5、对象指针和对象引用,对象数组6、类的继承性和派生类7、虚基类与虚函数8、重载及其应用9、模版及其应用10、基本数据结构和算法的程序设计三、试卷类型及比例考试题型:数据结构部分:包括实做题与算法设计题两大类:其中实做题有简述题、举例说明题、图示题、图表题、过程描述题、论述题等。
2014考研统考计算机基础综合真题解析一、单项选择题:第1~40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
2、假设栈初始为空,将中缀表达式a/b-(c*d+e*f)/g 转化为等价后缀表达式过程中,当扫描到f 时,栈中的元素依次为:A 、+(*-B 、+(-*C 、/+(*-*D 、/+-*涉及考点:考察中缀和后缀表达式的转化,并考察栈这种数据结构4、如下图二叉树进行中序线索化,则元素X 的左、右线索指向的元素为A 、 ecB 、 eaC 、 dcD 、 ba涉及考点:中序线索化二叉树,找出左右线索5、森林F 转化为对应二叉树T ,则F 的叶结点个数是()A 、T 的叶结点个数B 、T 中度为1的结点个数C 、T 的左孩子指向为空的个数D 、T 的右孩子指向为空的个数涉及考点:森林转化为二叉树做法:第一,断开除最左孩子的孩子节点,第二,连接孩子节点中各兄弟节点,第三,将树顺时针旋转45度第四,同理处理其他树。
第五,将所有树按照先后顺序依次作为右子树连接。
6、5个元素有4种编码方案,下列不是前缀编码的是A 、01,0000,0001,001,1B 、011,000,001,010,1 ac bdx eC、000,001,010,011,100D、0,100,110,1110,1100涉及考点:字符的前缀编码8、用哈希(散列)方法处理冲突(碰撞)时可能发生堆积(聚集)现象,则下列会直接受到堆积现象影响的是A、存储效率B、散列函数C、载运因子D、平均查找长度涉及考点:哈希(三列)方法处理冲突堆积现象影响的因素9、存一棵具有15个关键词的4阶B树,则含有关键词的结点可能有A、5B、6C、10D、15涉及考点:B树10、用希尔排序法,对一列数据序列排序时,若第一次排序结果为:9,1,4,13,7,8,20,23,15,则该排序可能的间隔是:A、2B、3C、4D、5涉及考点:希尔排序法中的间隔11、下列最不可能是快速排序第二轮的结果是A、2,3,5,4,6,7,9B、2,7,5,6,4,3,9C、3,2,5,4,7,6,9D、4,2,3,5,7,6,9涉及考点:快速排序法12、程序P在装置M执行时间为20秒,编译优化后,P执行的指令数是以前的70%,但CPI 为以前的1.2倍,则现在P在M上的执行时间为A、8.4秒B、11.7秒C、14.0秒D、16.8秒涉及考点:cpu计算时间的计算方法。
软件工程复习题一、单项选择题1、需求分析阶段的任务是确定( D )。
A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能2、软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了__(1)__。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对__(2)__ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个__(3)__ 。
从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
(1) A.版本管理 B.可行性分析 C.风险分析 D.系统集成( C )(2) A.系统 B.计划 C.风险 D.工程( C )(3) A.原型项目 B.概念项目 C.改进项目 D.风险项目( B )二、名词解释1、软件生命周期:答:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
2、CASE:答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域。
3、数据字典:答:用来定义数据库流图中的各个成分的具体含义。
有以下四类条目:数据流,数据项,数据存储,基本加工。
4、数据流图:答:数据流图DFD是一种图形化技术,它描绘了信息流和数据从输入到输出的过程所经历的变换。
三、简答题1、什么是黑盒测试法?答:所谓黑盒测试是指在完全不考虑程序的内部结构和处理过程的前提下,在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接受输入数据产生正确的输出信息,并且保持外部信息的完整性。
《数据结构》考研真题及解答目录2009 年试题 (1)填空题 (1)解答题 (2)2010 年试题 (2)填空题 (2)解答题 (4)2011 年试题 (4)填空题 (4)解答题 (5)2012 年试题 (6)填空题 (6)解答题 (7)2013 年试题 (8)填空题 (8)解答题 (9)2014 年试题 (10)填空题 (10)解答题 (11)2015 年试题 (12)填空题 (12)解答题 (14)2009 年试题填空题1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。
该缓冲区的逻辑结构应该是A.栈B.队列C.树D.图2.设栈 S 和队列 Q 的初始状态均为空,元素 abcdefg 依次进入栈 S。
若每个元素出栈后立即进入队列 Q,且7 个元素出队的顺序是 bdcfeag,则栈 S 的容量至少是A.1 B.2 C.3 D.43.给定二叉树图所示。
设 N 代表二叉树的根,L代表根结点的左子树,R代表根结点的右子树。
若遍历后的结点序列为 3,1,7,5,6,2,4,则其遍历方式是A.LRN B.NRL C.RLN D.RNL4.下列二叉排序树中,满足平衡二叉树定义的是5.已知一棵完全二叉树的第 6 层(设根为第 1 层)有8 个叶结点,则完全二叉树的结点个数最多是A.39 B.52 C.111 D.1196.将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是I.父子关系II.兄弟关系III.u 的父结点与v 的父结点是兄弟关系A.只有IIB.I 和IIC.I 和IIID.I、II 和III7.下列关于无向连通图特性的叙述中,正确的是I.所有顶点的度之和为偶数II.边数大于顶点个数减1 III.至少有一个顶点的度为1A.只有IB.只有IIC.I 和IID.I 和III8.下列叙述中,不符合 m 阶B 树定义要求的是A.根节点最多有m 棵子树 B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接9.已知关键序列 5,8,12,19,28,20,15,22 是小根堆(最小堆),插入关键字 3,调整后得到的小根堆是A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,1910.若数据元素序列 11,12,13,7,8,9,23,4,5 是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是A.起泡排序 B.插入排序 C.选择排序 D.二路归并排序解答题41.(10 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。
面向对象程序设计复习题一.概念填空题1.运算符能够用来访问与局部变量同名的全局变量。
2.运算符动态分配一个对象。
3.类的成员只能被该类的成员函数或友元函数访问。
4.类成员的默认访问模式是的。
5.类的数据成员是该类的所有对象共享的信息。
6.关键字指定了不可修改的对象或变量。
7.要在类的对象上使用运算符,除了运算符和外,其它的必须都要被重载。
8.重载不能改变原运算符的、、和对内部类型对象的原有含义。
9. 类的对象可作为类的对象处理。
10.友元函数中可以直接访问类的和成员。
1l.公有成员函数的集合常称为类的函数。
私有成员函数的集合常称为类的函数。
12.为了访问某个类的私有数据成员,必须在该类中声明该类的。
13. 提供了一种描述通用类的方法。
14.运算new分配的内存要用运算符回收。
15.参数表示重载后缀 ++ 运算符函数。
16.当用受保护的继承从基类派生一个类时,基类的公有成员成为派生类的的成员,基类的受保护成员成为派生类的成员。
17.在表示数组元中,关键字、和用来建立新的数据类型。
18. 限定符用来声明只读变量。
19.函数能够定义一个在不同数据类型基础上完成同一任务的函数。
20.指向基类对象的指针可以指向其派生类的对象,但是不允许指向其派生类的对象。
参考的答案:1.::2.new3.私有和保护4.私有5.静态6.const 7=& 8.优先级、结合性、操作数个数9.派生类、基类 10.私有、受保护 11.接口工具12.友元 13.类模板 14.delete 15.int16.受保护、受保护 17.class struct union 18.const19.模板 20.公有、私有和保护二.阅读程序写结果1.#include <iostream.h>void main(){int a,b;char op;cout<<"请任意一个表达式:";cin>>a>>op>>b;switch(op){case '+':cout<<a<<'+'<<b<<'='<<a+b<<endl;break;case '-':cout<<a<<'-'<<b<<'='<<a-b<<endl;break;case '*':cout<<a<<'*'<<b<<'='<<a*b<<endl;break;case '/':cout<<a<<'/'<<b<<'='<<a/b<<endl;break;case '%':cout<<a<<'%'<<b<<'='<<a%b<<endl;break;default: cout<<"运算符错误!"<<endl;}}若程序运行时输入:5/8则输出结果是:参考的答案:输出结果:5/8=02.#include <iostream.h>#include <iomanip.h>void main(){int i,j,k;for(i=1;i<=3;i++) //控制输出行{for(j=1; j<=6-i; j++) //每行前的空格cout<<" "; //输出四个空格for(k=1;k<=i;k++)cout<<setw(4)<<k;for(k=i-1; k>0 ;k--)cout<<setw(4)<<k;cout<<endl;}}输出结果:参考的答案:输出结果:11 2 11 2 3 2 13.#include <iostream.h>void main(){int m,n;cout<<"输入2个正整数:";cin>>m>>n;while(m!=n){while(m>n)m=m-n;while(n>m)n=n-m;}cout<<”m=”<<m<<endl;}输入:9 21输出结果:参考的答案:输出结果:m=34.#include<iostream.h>class fact{private:int n;public:void setn(int i){n=i;}int getn(){return n;}long getfact();void print(){cout<<n<<"!="<<getfact()<<endl;} };long fact::getfact(){int i;long f=1;for(i=n;i>1;i--)f*=i;return f;}void main(){fact fa;for(int i=1;i<=6;i++){fa.setn(i);fa.print();}}输出结果:参考的答案:输出结果:1!=12!=23!=64!=245!=1206!=7205.#include <iostream.h>void weaver(char *str1, char *str2, char *str3){while(*str1 !=NULL && *str2!=NULL){*(str3++)=*(str1++);*(str3++)=*(str2++);}*str3=0;}void main(){char str1[ ] 天津大学考试参考资料参考的答案="xyz";char *str2="123";char str3[100] 天津大学考试参考资料参考的答案;weaver(str1,str2,str3);cout<<str3<<endl;}输出结果:参考的答案:输出结果:x1y2z36.#include <iostream.h>void main(){int a[4] 天津大学考试参考资料参考的答案,i,j,k;for(i=0;i<4;i++)a[i] 天津大学考试参考资料参考的答案=0;k=3;for(i=0;i<k;i++)for(j=0;j<=k;j++)a[j] 天津大学考试参考资料参考的答案=a[i] 天津大学考试参考资料参考的答案+3;cout<<a[1] 天津大学考试参考资料参考的答案<<" "<<a[3] 天津大学考试参考资料参考的答案<<endl;}输出结果:参考的答案:输出结果:15 187.#include<iostream.h>#include<string.h>void main(){int i;char *max, str[3] 天津大学考试参考资料参考的答案[10] 天津大学考试参考资料参考的答案={"Wang","Zhang","Li"};max=str[0] 天津大学考试参考资料参考的答案;for(i=0;i<3;i++)if(strcmp(max,str[i] 天津大学考试参考资料参考的答案)<0)max=str[i] 天津大学考试参考资料参考的答案;cout<<"The max string is: "<<max<<endl;}输出结果:参考的答案:输出结果:The max string is: Zhang8.#include <iostream.h>#include <iostream.h>int f(int p);void main(){int a[] 天津大学考试参考资料参考的答案={1,2,3,4,5};for(int i=0;i<5;i++)cout<<f(a[i] 天津大学考试参考资料参考的答案)<<" ";cout<<endl;}int f(int p){static int s=1;s*=p;return s;}输出结果:参考的答案:1 2 6 24 1209.#include <iostream.h>class cube{public:cube(int l=6,int w=4,int h=2){le=l;wd=w;ht=h;}~cube(){cout<<"le="<<le<<"wd="<<wd<<"ht="<<ht<<endl;cout<<"volume="<<volume()<<endl;}int volume() {return le*wd*ht;}private:int le,wd,ht;};void main(){cube cone(10,8,5),ctwo;}输出结果:参考的答案:输出结果:le=6wd=4ht=2volume=48le=10wd=8ht=5volume=40010.#include <iostream.h>void main(){int a,b;for(a=1,b=1;b<=10;b++){if(a>=10)break;if(a==1){a+=3;continue;}a-=3;}cout<<"a="<<a<<"b="<<b<<endl;}输出结果:参考的答案:a=1b=1111.#include <iostream.h>class myclass{private:int x,y;static long sum;public:myclass(int a,int b) { x=a;y=b;}void getxy(){sum*=x*y;cout<<"sum="<<sum<<endl;}};long myclass::sum=1;void main(){myclass ob1(1,3);ob1.getxy();myclass ob2(2,4);ob2.getxy();myclass ob3(5,6);ob3.getxy();}输出结果:参考的答案:输出结果:sum=3sum=24sum=72012.#include <iostream.h>int days[] 天津大学考试参考资料参考的答案={31,28,31,30,31,30,31,31,30,31,30,31};class date{private:int y,m,d;public:date(int y1,int m1, int d1) {y=y1;m=m1;d=d1;}date(){y=0;m=0;d=0;}void disp() {cout<<y<<"-"<<m<<"-"<<d<<endl;}friend date operator+(date &d2,int day);};date operator+(date &d2, int day){date dy;dy.y=d2.y;dy.m=d2.m;day+=d2.d;while(day>days[dy.m-1] 天津大学考试参考资料参考的答案) {day -=days[dy.m-1] 天津大学考试参考资料参考的答案;if(++dy.m==13){dy.m=1;dy.y++;}}dy.d=day;return dy;}void main(){date da(2014,9,1),db,dc;db=da+100;db.disp();dc=da+395;dc.disp();}输出结果:参考的答案:2014-12-102015-10-113.#include <iostream.h>class Areaclass{public:Areaclass(double x=0,double y=0){height=x;width=y;}protected:double height;double width;};class Box: public Areaclass{public:Box(double h,double w):Areaclass (h,w){ }double Area();};class Triangle:public Areaclass{public:Triangle(double h,double w):Areaclass(h,w){ }double Area( );};double Box::Area(){ return height*width; }double Triangle::Area(){ return width *height *0.5; }void main(){Box obj1(2.5,4.0);Triangle obj2(4.0,3.5);cout<<"Box="<<obj1.Area()<<endl;cout<<"Triangle="<<obj2.Area()<<endl;}输出结果:参考的答案:Box=10Triangle=7三.程序填空1.以下程序将从键盘输入的20个整数按升序进行排序,并在屏幕上输出排序结果。
2014年计算机学科专业基础综合试题参考答案一、单项选择题(一)单选题答案1.C2.B3. A 4.D5.C6.D7.D8.D9.D10.B11.C12.D13.C14.A 15.A 16.D17.A 18.C19.C20.C21.D22.B23.A 24.B25.D26.A 27.A 28.C29.B30.A 31.C32.D33.C 34.B 35.D 36.C 37.B 38.A 39.B 40.D (二)单选题答案解析1.内层循环条件j<=n与外层循环的变量无关,每次循环j自增1,每次内层循环都执行n次。
外层循环条件为k<=n,增量定义为k*=2,可知循环次数为2k<=n,即k<=log2n。
所以内层循环的时间复杂度是O(n),外层循环的时间复杂度是O(log2n)。
对于嵌套循环,根据乘法规则可知,该段程序的时间复杂度T(n)=T1(n)*T2(n)=O(n)*O(log2n)=O(nlog2n)。
2.将中缀表达式转换为后缀表达式的算法思想如下:从左向右开始扫描中缀表达式;遇到数字时,加入后缀表达式;遇到运算符时:a.若为'(',入栈;b.若为')',则依次把栈中的的运算符加入后缀表达式中,直到出现'(',从栈中删除'(' ;c.若为除括号外的其他运算符,当其优先级高于除'('以外的栈顶运算符时,直接入栈。
否则从栈顶开始,依次弹出比当前处理的运算符优先级高和优先级相等的运算符,直到一个比它优先级低的或者遇到了一个左括号为止。
在此,再给出中缀表达式转换为前缀或后缀表达式的一种手工做法,以上面给出的中缀表达式为例:第一步:按照运算符的优先级对所有的运算单位加括号。
式子变成了:((a/b)+(((c*d)-(e*f))/g))第二步:转换为前缀或后缀表达式。
前缀:把运算符号移动到对应的括号前面,则变成了:+(/(ab)/(-(*(cd)*(ef))g))把括号去掉:+/ab/-*cd*efg前缀式子出现。