中国科学技术大学软件工程基础历年考研试题
中科大软件工程考研分数线
中科大软件工程考研分数线中科大软件工程考研分数线作为国内著名的高等学府之一,中国科学技术大学(简称中科大)一直以来都备受考生青睐。
特别对于想要攻读软件工程专业的考研学生来说,中科大也是一个非常不错的选择。
那么,中科大软件工程考研的分数线究竟是多少呢?下面我们就来一起了解一下。
一、历年分数线在过去的几年中,中科大软件工程考研的分数线如下:2019年:408分2018年:430分2017年:415分2016年:397分可以看出,中科大软件工程考研的分数线在近几年都保持在400分以上,其中最高的是2018年的430分。
考生们需要在备考中重点关注这个分数线,以便更好的安排自己的考试策略。
二、考试科目中科大软件工程考研的考试科目包括数学、英语和专业课三个部分。
其中数学和英语分为两个小部分,分别是数学一和数学二、英语一和英语二。
数学一考试范围主要包括高等数学、线性代数和概率论等知识,而数学二则涉及更高级的数学知识,比如复变函数和泛函分析等。
英语一和英语二的试题难度差异不大,题型则包括阅读理解、完形填空和写作。
考生可以通过进行大量的阅读和练习,提高自己的英语应试能力。
专业课部分则包括计算机组成原理、操作系统、数据库原理和软件工程等内容,对于软件工程专业的考生们来说,这些内容都是必备的知识点。
三、备考建议为了在考试中取得好成绩,考生们需要在备考中注意以下几点:1.做好知识点复习,重视笔记整理。
2.注重真题练习,多做模拟试卷,熟悉考试模式和节奏。
3.培养专注力和理解力,保持冷静,做好时间管理。
4.加强英语阅读和写作能力,增加词汇量和阅读速度,提高答题速度和准确度。
5.积极参加课外活动和实践项目,增加个人经验和动手能力。
以上就是中科大软件工程考研的分数线及备考建议。
希望对广大考生有所帮助。
中科大软院常见复试题目
1。
ipv4的替代方案;2。
单链表原地逆向转置;3. 折半查找算法4。
简述操作系统中系统调用过程;5。
在数据库中什么是关系,它和普通二维表啥区别;6. 什么是原子操作;7。
路由协议有哪些;8。
进程的三种状态,以及之间转换的过程;9。
快速排序的基本过程;10。
什么叫视图?视图在数据库的第几层;11。
二叉树的搜索;12。
什么叫冲突?解决冲突的办法都有哪些;13. java与C++区别;14。
深度、广度搜索的过程;15. 迪杰斯克拉算法的过程;16. 关系模式和关系;17。
数据链路停发协议,就是流量控制;18。
虚拟存储器及相关算法;段存储器;19. 进程线程树图;20。
传输等待协议;21。
堆栈排序及其与快速排序的不同;22. 386的保护模式是什么;23. 页表;24。
ER图;25. 关系范式26。
链表查询某个元素,平均时间复杂度是多少;27。
路由协议有哪些;28. 网络服务质量包括哪些方面;29. 并发控制是为了保证事务的?;30。
什么是DMA;31。
两个时钟不同步的设备怎么通信;32。
操作系统的调度算法有哪些;33. 单链表的原地逆置算法34。
数据库的两级模式以及它们的关系和作用(貌似是这样)35. 操作系统的进程调度算法有哪些,并介绍其中两种36。
计算机的一条指令有几个机器周期,为什么37. 原子操作,pv操作的要点和注意事项38. 内核、芯片(记不清了)39. DMA控制器的组成和工作原理40. 简述最短路径的迪杰斯特拉算法41. 什么是P操作与V操作。
42。
一个深度为N的满二叉树有多少个结点.43。
实现一个队列的方法44。
折半查找调节与时间复杂度45。
k层满树的总结点个数46。
介绍分段,分页存储方式(操作系统)47。
算术右移,逻辑右移,循环右移(组原)48。
事物的四个性质(数据库)49。
软件部分:软件开发步骤,模块设计规则,详细设计如何实现50. 硬件部分:冯诺依曼结构,其他还有两个问题忘了51。
2007年中国科学院研究生院计算机软件基础考研试题
中国科学院研究生院2007年招收攻读硕士学位研究生入学统一考试试题科目名称:计算机软件基础 考生须知:1.本试卷满分为150分,全部考试时间总计180分钟。
2.所有答案必须写在答题纸上,写在试题纸上或草稿纸上一律无效。
数据结构部分(共70分)一、选择题(共10分,每题1分)1、对于顺序存储的线性表,访问结点和增加结点的时间复杂度为( )A .O(n) O(n)B .O(n) O(1)C .O(1) O(n)D .O(1) O(1)2、对于一个头指针为head 的带头结点的单链表,判断该表为空的条件是( )。
A .head=NULLB .head Ænext=NULLC .head Ænext=headD .head!=NULL3、在双向链表中删除指针p 所指的结点时需要修改指针( )。
A .p Ællink Ærlink=p Ærlink ; p Ærlink Ællink=p ÆllinkB .p Ællink=p Ællink Ællink ; p Ællink Ærlink=pC .p Ærlink Ællink=p ;p Ærlink=p Ærlink ÆrlinkD .p Ærlink=p Ællink Ællink ;p Ællink=p Ærlink Ærlink4、若一个栈的输入序列为1、2、3、…、n ,输出序列的第一个元素为i ,则第j 个输出元素为( )。
A .i-j-1B .i-jC .j-i+1D .不确定5、若度为m 的哈夫曼树中,其叶结点个数为n ,则非叶结点的个数为( )。
A .n-1B ./1n m −⎢⎥⎣⎦C .D .(1)/(1)n m −−⎢⎣⎥⎦/(1)1n m −−⎢⎥⎣⎦6、一棵二叉树的前序遍历序列为ABCDEFG ,它的中序遍历序列可能是( )。
2013年中国科学院大学计算机软件基础考研试题
中国科学院中国科学院大学大学大学2013年招收攻读硕士学位研究生入学统一考试试题年招收攻读硕士学位研究生入学统一考试试题科目名称科目名称::计算机软件基础计算机软件基础考生须知考生须知::1.本试卷满分为150分,全部考试时间总计180分钟。
2.所有答案必须写在答题纸上,写在试题纸上或草稿纸上一律无效。
第一部分第一部分::数据结构数据结构((共70分)一、单选单选题题(每题2分,共20分)1. 下列关于数据的逻辑结构的叙述中,不正确的是【 】。
(A) 数据的逻辑结构是数据间关系的描述(B) 线性表是典型的线性结构(C) 数据的逻辑结构分为线性结构和非线性结构(D) 数据的逻辑结构不仅反映数据间的逻辑关系,而且包含其在计算机中的存储方式2. 下列关于数据运算的叙述中,不正确的是【 】。
(A) 数据运算是数据结构的一个重要方面(B) 数据运算的具体实现是在数据的逻辑结构上进行(C) 检索是一种常用的运算(D) 插入是一种常用的运算3. 在包含1000个元素的线性表中实现如下各运算,所需执行时间最长的是【 】。
(A) 线性表按顺序方式存储,删除线性表的第900个结点(B) 线性表按链式方式存储,删除指针P 所指向的结点(C) 线性表按顺序方式存储,在线性表的第100个结点后面插入一个新结点(D) 线性表按链式方式存储,在线性表的第100个结点后面插入一个新结点 科目名称:计算机软件基础 第 1 页 共 7 页4. 设某散列表的当前状态如下:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 190 75 194 768 559 582 208 该散列表的负载因子约为【】。
(A) 0.37 (B) 0.42 (C) 0.58 (D) 0.735. 设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初试建堆后关键码值A在序列中的序号是【】。
中科大计算机考研真题
中科大计算机考研真题中科大计算机考研是众多计算机科学与技术专业学生追求的目标之一。
在这道真题中,我们将回顾一些历年的考题,并提供一些解析和思路,以帮助考生更好地准备考试。
本文共分为三个主题部分:操作系统、数据库和算法与数据结构。
一、操作系统1. 多道批处理系统是怎样实现作业调度的?请简要描述操作系统的作业调度过程。
解析:多道批处理系统是指一台计算机同时处理多个作业,而不需要人工干预。
作业调度是指操作系统根据一定的算法,决定当前执行哪个作业。
作业调度过程一般包括以下几个步骤:首先,操作系统根据作业的优先级和提交时间等信息,为每个作业分配一个初始的调度优先级。
其次,对于多个处于就绪状态的作业,操作系统根据调度算法,选择一个作业进行执行。
常见的调度算法有先来先服务(FCFS)、短作业优先(SJF)、最高响应比优先(HRRN)等。
最后,当一个作业执行完成或者处于阻塞状态时,操作系统会根据调度算法重新选择一个作业进行执行,直到所有作业完成。
2. 请解释死锁的概念,并说明死锁的产生条件和解决方法。
解析:死锁是指多个进程在竞争有限资源时,由于彼此之间的互斥和请求资源的非预期顺序等原因,导致都在等待对方释放资源,从而导致系统无法继续执行。
死锁的产生条件主要包括:互斥条件:进程对所请求的资源进行排他性控制,即一次只能有一个进程使用该资源。
持有和等待条件:进程已经持有了一个资源,但又请求额外的资源,而这些资源又被其他进程所占有。
不剥夺条件:其他进程不能强行剥夺一个进程已经持有的资源,只能由进程自己释放。
环路等待条件:多个进程之间形成了一个循环等待资源的关系。
死锁的解决方法主要有以下几种:鸵鸟算法:忽略死锁的存在,不进行处理。
适用于死锁发生概率极低的系统。
死锁检测与恢复:通过系统资源分配图等方法,检测死锁的发生,并进行资源回收和进程终止等操作,使系统恢复正常状态。
死锁预防:通过破坏死锁产生的四个条件之一,预防死锁的发生。
中国科学院软件基础1996答案
五.解答:当用户创建或联接了一个文件并把它打开后,便可以对它执行读、写 操作。文件系统在进行读写操作时,需调用一系列读写有关的过程,如 ⑴ passc 过程、cpass 过程。前者用于把一字符从缓冲区送到用户区,后 者相反; ⑵ iomove 过程用于实现用户区和缓冲区之间的信息传送; ⑶
readi 过程用于把信息从磁盘读入内存; ⑷ writei 过程用于把信息从 内存写入磁盘。 或: 1.读方式 在 UNIX 系统中有两种读方式:⑴ 一般读方式。把盘块中的信息读 入缓冲区,有 bread 过程完成;⑵ 提前读方式。在一个进程顺序地读入 一个文件的各个盘块时,会预见到所要读的下一个盘块,因而在请求读 出指定盘块(作为当前块)的同时,可要求提前将下一个盘块(提前 块) 中的信息读入缓冲区。这样,当以后需要该盘块的数据时,因它已在内 存中,这就缩短了读数据时间,从而改善了系统性能。提前读功能由 breada 过程完成。 2.写方式 UNIX 系统有三种方式:⑴ 一般写方式。真正把缓冲区中的数据写 入磁盘上,且进程须等待写操作完成,由过程 bwrite 完成;⑵ 异步写 方式。进程无须等待写操作完成便可返回,异步写过程为 bawrite;⑶ 延迟写方式。该方式并不真正启动磁盘,而只是在缓冲首部设置延迟写 标志,然后便释放该缓冲区,并将该缓冲区链入空闲链表的末尾,以后 当有进程申请到该缓冲区时,才将它写入磁盘。引入延迟写的目的是为 了减少不必要的磁盘 I/O,因为只要没有进程申请到此缓冲区,其中的 数据便不会写入磁盘,倘若再有进程需要访问其中的数据时,便可直接 从空闲链表中摘下该缓冲区,而不必从磁盘读入。 六.解答: 设运算变量均为整数的某个简单算术表达式,已加工的为 k 个四元 式,n1 是起始四元式号码,nk 是终止四元式号码。由于是加工简单算术表 达式得到的四元式序列,因此这些四元式均为一目或二目算术运算的四元 式。为使存放中间结果的临时单元个数最少,我们设立一个计数器 count。 当四元式的第 2 或第 3 项出现临时变量(即出现对临时变量的引用时) ,每 出现一个,计数器就减少 1;当四元式的第 4 项(即存放运算结果的项) 出现临时变量时,计数器就应增加 1。 正如前面所述,这些四元式是加工简单算术表达式得到的算术运算四 元式,因此每个四元式必然要把计算结果赋予某个临时变量,因此四元式 的第 4 项一定是临时变量。 于是对每个算术运算四元式来说,若四元式第 2,第 3 项都是临时变 量时,计数器要减少 1;当第 2,第 3 项只有一个是临时变量,计数器不 变; 当第 2,第 3 项都不是临时变量时,计数器增加 1。 下面给出的算法顺便也给出了临时变量分配的临时单元地址(假定当 前分配的临时变量的起始地址为 a) 。
[全]软件工程专业基础综合考研真题详解[下载全]
软件工程专业基础综合考研真题详解1下列关于线程的描述中,错误的是()。
[2019年408统考]A.内核级线程的调度由操作系统完成B.操作系统为每个用户级线程建立一个线程控制块C.用户级线程间的切换比内核级线程间的切换效率高D.用户级线程可以在不支持内核级线程的操作系统上实现【答案】B查看答案【解析】用户级线程仅存在于用户空间中,与内核无关,其线程库对用户线程的调度算法与OS的调度算法无关,不需要操作系统为每个用户级线程建立一个线程控制块。
2下列选项中,可能将进程唤醒的事件是()。
[2019年408统考] Ⅰ.I/O结束Ⅱ.某进程退出临界区Ⅲ.当前进程的时间片用完A.仅ⅠB.仅ⅢC.仅Ⅰ、ⅡD.Ⅰ、Ⅱ、Ⅲ【答案】C查看答案【解析】可能唤醒进程的事件包括I/O结束、某进程退出临界区等。
当前进程的时间片用完会引起另一个进程的调度并运行,不是唤醒进程。
3下列关于系统调用的叙述中,正确的是()。
[2019年408统考] Ⅰ.在执行系统调用服务程序的过程中,CPU处于内核态Ⅱ.操作系统通过提供系统调用避免用户程序直接访问外设Ⅲ.不同的操作系统为应用程序提供了统一的系统调用接口Ⅳ.系统调用是操作系统内核为应用程序提供服务的接口A.仅Ⅰ、ⅣB.仅Ⅱ、ⅢC.仅Ⅰ、Ⅱ、ⅣD.仅Ⅰ、Ⅲ、Ⅳ【答案】C查看答案【解析】系统调用接口是连接操作系统和应用程序的桥梁,而接口是以具体程序中的函数实现的,称之为系统调用,在不同的操作系统中,具有不同的系统调用,但是它们实现的功能是基本相同的。
4下列选项中,可用于文件系统管理空闲磁盘块的数据结构是()。
[2019年408统考]Ⅰ.位图Ⅱ.索引节点Ⅲ.空闲磁盘块链Ⅳ.文件分配表(FAT)A.仅Ⅰ、ⅡB.仅Ⅰ、Ⅲ、ⅣC.仅Ⅰ、ⅢD.仅Ⅱ、Ⅲ、Ⅳ【答案】B查看答案【解析】文件系统管理空闲磁盘块的数据结构包括位图、链表、文件分配表。
索引结点是指在许多类Unix文件系统中的一种数据结构。
每个索引节点保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容或者文件名。
软件工程计算机考研题目及答案
软件工程计算机考研题目及答案### 软件工程计算机考研题目及答案#### 题目一:面向对象设计原则问题描述:在面向对象设计中,有五个基本的设计原则,它们是:1. 单一职责原则(Single Responsibility Principle, SRP)2. 开闭原则(Open/Closed Principle, OCP)3. 里氏替换原则(Liskov Substitution Principle, LSP)4. 接口隔离原则(Interface Segregation Principle, ISP)5. 依赖倒置原则(Dependency Inversion Principle, DIP)请简述每个原则的含义,并提供一个简单的示例来说明如何应用这些原则。
答案:1. 单一职责原则(SRP):一个类应该只有一个引起它变化的原因。
例如,一个类负责用户登录,不应该同时负责用户数据的存储。
2. 开闭原则(OCP):软件实体应对扩展开放,对修改关闭。
例如,通过使用抽象类或接口来允许扩展新功能,而不需要修改现有代码。
3. 里氏替换原则(LSP):子类对象必须能够替换其父类对象被使用,而不影响程序的正确性。
例如,如果有一个形状类,其子类是圆形,圆形对象应能替换形状对象而不破坏代码逻辑。
4. 接口隔离原则(ISP):客户端不应该被强制依赖于它不使用的接口。
例如,如果一个类只需要一个接口的一小部分功能,它应该只依赖于这个接口的子集。
5. 依赖倒置原则(DIP):高层模块不应该依赖于低层模块,两者都应该依赖于抽象。
例如,使用抽象类或接口作为依赖,而不是具体类。
#### 题目二:软件测试的分类问题描述:软件测试是确保软件质量的重要环节。
请列举并简述以下软件测试的分类:1. 白盒测试2. 黑盒测试3. 灰盒测试4. 单元测试5. 集成测试6. 系统测试7. 验收测试答案:1. 白盒测试:测试者需要了解程序内部逻辑,通过检查代码来发现错误。
2022年中国科学技术大学软件学院电子信息(软件工程)专业考研必看成功上岸前辈复习经验分享
2022年中国科学技术大学电子信息专业考研备考成功经验必看分享一、考研择校与定专业眨眼间2021年的考研已经落下帷幕,作为成功上岸的幸运儿之一,回顾这一年多的考研历程,依旧历历在目,难以忘怀。
因此,写下这篇经验贴以纪念这难忘的时光,也给后来得考研人分享些个人经验,希望或许能够帮助大家少走些弯路。
先说下考研背景,本人毕业半年后辞职跨考计算机,虽然曾经辅修过计算机部分课程,但已经忘得差不多了,属于基础较为薄弱的人群。
考研的想法从我开始工作的时候还没有,但随着工作越来越不如意,深感自己不适合这一行业,因此考研这一想法冒了出来。
那么问题来了:我为什么要考研呢?除了考研没有别的办法了吗?是考本专业还是跨专业呢?目标定在哪个学校?如果这些问题没搞清楚,以后的考研复习过程中会经常怀疑自己,有半途而废的危险。
前两个问题因人而异,后两个问题倒是可以谈谈。
就我而言,本专业很好但不适合我,所以考研主要是为了转行+利用应届生身份参加校招,获得一个好的起点,因此我义无反顾得决定考计算机相关专业。
不过我提醒读者在决定前一定要想清楚是否有非报不可的理由,目前计算机方向考研热度比肩金融,竞争者高手众多,难度相当大。
计算机方向有计算机科学与技术和软件工程两个学院,一般认为计算机科学与技术硬件与软件都学习,侧重理论研究,含金量高,学费低;软件工程是只学习软件方向,建立之初就是为了培养工程类人才,侧重工程实践,含金量较低,学费还贼高,因此计算机学院招生少,难度大,软件学院招生多,难度较低,但如果没有一颗读博搞学术研究的心,两者之间的差别只在学费和难度上了。
像我辞职备考,如果没有考上再找工作千难万难,因此从心得选择软件学院,情愿多花点学费降低下难度。
如果不惧考不上的风险,还是推荐报考计算机学院吧,毕竟认可度高一些。
选定专业之后,就该确定学校了。
一般择校都会选择比本学校持平或者更高一级的学校,否则到时候找工作不太好解释。
对于我来说就是中流985往上,在计算机考研中这是极高的难度了。
软件考研试题及答案
软件考研试题及答案一、单项选择题(每题2分,共10分)1. 以下哪个选项是面向对象编程语言的特性?A. 结构化B. 模块化C. 封装D. 过程化答案:C2. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 编写代码B. 设计数据库C. 确定软件功能和性能要求D. 进行系统测试答案:C3. 软件测试的目的是?A. 修复软件中的所有错误B. 验证软件是否满足需求C. 编写文档D. 进行代码审查答案:B4. 在敏捷开发方法中,以下哪个不是敏捷的四大价值观?A. 个体和互动B. 工具和过程C. 可工作的软件D. 客户合作答案:B5. 下列哪种软件架构风格是面向服务的?A. 管道-过滤器B. 客户端-服务器C. 主-从架构D. 层级架构答案:B二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的主要活动?A. 需求分析B. 系统设计C. 编程D. 软件测试E. 软件维护答案:A, B, C, D, E2. 在面向对象编程中,以下哪些是对象的基本特征?A. 封装B. 继承C. 多态D. 抽象E. 并发答案:A, B, C, D3. 以下哪些是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 性能测试E. 回归测试答案:A, B, C, D, E4. 在软件开发过程中,以下哪些是风险管理的策略?A. 风险转移B. 风险接受C. 风险避免D. 风险共享E. 风险消除答案:A, B, C, D5. 在软件项目管理中,以下哪些是项目成功的关键因素?A. 明确的项目目标B. 有效的沟通C. 合适的技术D. 良好的团队合作E. 严格的进度控制答案:A, B, D, E三、简答题(每题5分,共20分)1. 请简述什么是软件危机,并列举出解决软件危机的几种方法。
答案:软件危机是指软件开发过程中出现的一系列问题,如成本失控、进度延误、质量低下等。
解决软件危机的方法包括:采用软件工程方法论、实施严格的项目管理、进行需求工程、采用模块化和组件化设计、进行持续的测试和维护等。
软件工程考研试题
软件工程考研试题1.问题:简述软件工程的基本原则。
答案:软件工程的基本原则包括抽象、模块化、信息隐藏、一致性、完备性、可靠性、可维护性和可复用性等。
这些原则是指导软件工程师进行软件开发的重要准则,有助于提高软件的质量和可靠性,降低维护成本。
2.问题:什么是软件开发生命周期?请简述其各个阶段的主要任务。
答案:软件开发生命周期是指从软件的需求分析、设计、实现、测试到部署和维护的整个过程。
主要阶段包括需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。
需求分析阶段主要任务是确定软件的目标和用户需求;设计阶段主要任务是设计软件的体系结构、数据库和系统流程等;编码阶段主要任务是按照设计要求实现软件功能;测试阶段主要任务是测试软件的各项功能和性能,确保软件符合需求和设计要求;维护阶段主要任务是修复软件缺陷、更新软件版本和提供技术支持等。
3.问题:什么是软件测试?简述软件测试的常用方法。
答案:软件测试是指通过一系列测试用例来验证软件是否符合需求和设计要求的过程。
常用的软件测试方法包括黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。
黑盒测试主要关注软件的功能性需求,通过输入和输出结果来验证软件的正确性;白盒测试主要关注软件的内部结构和逻辑,通过代码的覆盖率来验证软件的可靠性;灰盒测试则介于黑盒和白盒之间,既关注功能性需求也关注内部结构。
单元测试是对单个模块进行测试,集成测试是将多个模块集成在一起进行测试,系统测试是对整个软件的性能和功能进行全面测试。
4.问题:什么是软件维护?简述软件维护的类型。
答案:软件维护是指在软件发布后对其进行修复缺陷、更新版本和改进性能等工作的过程。
根据维护的性质不同,软件维护可以分为纠错性维护、适应性维护、完善性维护和预防性维护等类型。
纠错性维护是指修复已发现的软件缺陷;适应性维护是指修改软件以适应外部环境的变化;完善性维护是指增加软件功能和性能,提高软件的可维护性和可复用性;预防性维护是指通过对软件的审查和评估,预测未来的变化并采取相应的措施。
考研软件工程试题及答案
考研软件工程试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的可靠性B. 提高软件的生产率C. 降低软件的成本D. 以上都是答案:D2. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件测试中,黑盒测试的主要依据是()。
A. 程序内部逻辑B. 程序外部功能C. 程序设计文档D. 用户操作手册答案:B4. 软件开发过程中,需求变更可能导致()。
A. 项目延期B. 成本增加C. 质量下降D. 以上都是答案:D5. 面向对象分析与设计的主要概念不包括()。
A. 对象B. 类C. 模块D. 继承答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的基本原则?()A. 系统性原则B. 可维护性原则C. 可测试性原则D. 可扩展性原则答案:ABCD2. 软件项目管理包括以下哪些方面?()A. 时间管理B. 成本管理C. 风险管理D. 质量管理答案:ABCD3. 软件测试的目的是()。
A. 发现软件中的缺陷B. 验证软件是否满足需求C. 确保软件的可靠性D. 提高软件的性能答案:ABC三、简答题(每题5分,共20分)1. 简述软件生命周期的各个阶段。
答案:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。
2. 什么是软件危机?它主要表现在哪些方面?答案:软件危机是指在软件开发过程中出现的一系列问题,如成本超支、进度延误、质量低下等。
3. 请解释什么是软件重构。
答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整,以提高其可理解性和可维护性。
4. 什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作、客户反馈和对变化的响应。
四、计算题(每题10分,共20分)1. 假设一个软件项目的开发周期为18个月,预计成本为1000万元。
中国科学院软件所考研真题1995-2000年
中国科学院软件所一九九五年软件基础一.(6分)请给出下图的邻接矩阵、邻接表、逆邻接表和十字链表。
二.(12分)编一个程序,按递增次序生成集合M的最小的100个数。
M的定义如下:(a)数1属于M;(b)如果x属于M,则y=2*x+1和z=3*x+1也属于M;(c)再没有别的数属于M。
(M={1,3,4,7,9,10……})三.(8分)使用对半查找程序的限制条件是什么?下列的三种对半查找程序(Pascal语言),哪些是正确的,哪个效率高一些?假定N>0,以及下列变量已经定义。
var i,j,k :integer;a :array [1..N] of T;x :T;程序A:i:=1; j:=N;repeatk:=(i+j) div 2if a[k]<x then i:=k else j:=k;until (a[k]=x) ∨(i≧j)程序B:i:=1; j:=N;repeatk:=(i+j) div 2;if x≦a[k] then j:=k-1;if a[k]≦x then i:=k+1;until i>j;程序C:i:=1; j:=N;repeatk:=(i+j) div 2;if x<a[k] then j:=k else i:=k+1;until i≧j四.(14分)用高级语言(C或Pascal)设计一个非递归的快速排序程序。
五.(6分)将下面的DFA化成最简DFA(注意,大写C和小写c是不同符号)六.(7分)文法G 的产生式如下: S I|R I d|Id R WpF W |Wd F d|Fd 令d 表示任意数字,p 表示十进制小数点,那么非终结符S ,I ,R ,W 和F 在程序设计语言中分别表示什么? 该文法是LR (1)文法吗?为什么?七.(10分)有文法:S L.L|LL LB|BB 0|1给此文法配上语义动作子程序(或者说为此文法写一个语法制导定义),它输出S 产生的二进制数的值。
中国科学技术大学考研试题
中国科学技术大学一九九五年招收硕士学位研究生入学考试试题试题名称:程序设计一、选择题1.一颗深度为6的平衡二叉树,其每个非终端节点的平衡因子均为1,则该树共有_____个节点.(2分)a) 14; b) 16; c) 18; d) 20; e) 22; f) 242.一个有28条边的非连通无向图,至少应有____个节点.(2分)a) 6; b) 7; c) 8; d) 9; e) 10; f) 113.一颗124个叶节点的完全二叉树,最多有___个节点.(2分)a) 247; b) 248; c) 249; d) 250; e) 2514.按锦标赛排序的方法,决定出8位运动员之间的名次顺序排列,至少需编排____场次的比赛.(考虑最坏情况) (2分)a) 13; b) 14; c) 15; d) 16; e) 175.已知Head(Tail([Head(S),Head(Tail(Tail(S)))]))=[a] ,广义表S满足上式,则S为______.(其中,方括号表示广义表,圆括号表示函数,如[a,b]表示由a,b构成的广义表,而Head()表示取广义表的头部.) (2分)a) [[a,b],b,a] b) [[b,a],[a],[b]]c) [[a],[a,b],[b]] d) [b,[a],[a,b]]e) [[a],[b],[b,a]] f) [[b],[b,a],[a]]6.在下列三种次序的线索二叉树中,___对查找指定节点在该次序下的后继效果较差. (2分)a) 前序线索树b) 中序线索树c) 后序线索树7.有二叉树的前序和后序遍历序列唯一的确定这颗二叉树. (2分)a) 能b) 不能8.在下列两种求图的最小生成树的算法中,___算法适合于求边稀疏的网的最小生成树. (2分)a) Prim; b) Kruskal9.下列无向图的存储结构中,在对无向图的边进行操作时(如删除一条边)____存储结构更为合适a) 邻接表b) 邻接多重表10.在下述几中树中,___可以表示静态查找表. (2分)a) 次优查找树; b) 二叉排序树;c) B- 树d) 平衡二叉树11.答案写在填空的字母后面(1)在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是A(2)快速排序在最坏情况下,时间复杂度是B ,比C 的性能差(3)就平均时间而言, D 最佳(共4分)A: a) 直接插入排序; b) 起泡排序; c) 简单选择排序;B: a) O(n log n); b) O(2n); c) O(3n)C: a) 堆排序; b) 起泡排序; c) 选择排序D: a) 堆排序; b) 快速排序; c) 归并排序12.一程序规定的职能是:“输入三个整数作为三边的边长构成三角形,判别是等腰三角形,等边三角形,或是一般三角形,再做计算…….”.若用等价类划分方法对该程序做功能测试,至少应对该程序的输入数据考虑 A 个等价类,其中包括 B 个有效等价和C 个无效等价类.A,B,C: (答案写在填空的字母后面)(1) 3; (2) 5; (3) 7; (4) 12; (5) 15; (6) 18; (7) 21; (8) 25 (9) 33; (10) 4013.二叉树如图所示(1)给出先序遍历的节点的顺序;_________(2)给出中序遍历的节点的顺序;_________(3)给出后序遍历的节点的顺序;_________(4)用二叉链表作为存储结构,将出现多少个空指针(nil)域?_____(共4分)14.下列函数(6分)function calc(x,y:integer) : integer;beginif y=1 then calc := xelse calc := calc ( x, y-1 ) + xend;a,b 均为正整数,则calc (a,b) = ______1) a*(b-1); 2) a*b; 3) a + b 4) a+a15.程序段read (a,b);c := 3.0 * a + b;if c=0 then a := 1else a := 1.0 + 1.0 / c + 1.0 / b保证该程序段运行不出错的必要条件是:_______. (4分)(1) b>0 (2) a>0 and b>0(3) b≠0 (4) b≠0 and c≠0二、程序改错与填空1.指出下列程序段中的错误位置,对错误编号,说明理由:程序段一: (8分)label 1;const max=50;type day = { Mon , Tue, Wed, Thu, Fri, Sat, Sun};var date:day;N:integer;begina: N:=N-ord('0');b: for date :=Mon to Sundo N := ord(succ(date)) – 1;c: for n := 1 to 10do begin……1: 语句;end;……goto 1;……end.答: ____________________________________________________________________________程序段二. (8分)program type(input,output);var R:real;procedure print(var x:integer, y:real);var z:real;procedure sum(x:integer, y:real);var k:real;beginz:= x+y; k:= 3*z;x:= x+y;end; {sum}beginsum(x,y);writeln(x,y,z,k)end; {print}begin {主程序}readln(R);print(15,R);print(R,R)end.答: ___________________________________________________________________________________________.2.阅读下列程序,填空使之成为一个完整的程序.该程序输出N个元素的全排列.例如N=3时,程序输出为:1 2 32 1 33 2 12 3 11 3 23 1 2 (12分)程序:program pic(input,output);const n=10;var A:array[1..n] of integer;i,k:integer;procedure output1;beginfor i := 1 to n do write(A[i]:3);writeln;end; {output1}procedure permute(k:integer);var i,t:integer;beginif k=1 then output1else begin____________;for i:=1 to ________do begin___________t:=A[k];A[k]:=A[i];A[i]:=t;_________;t:=_______;A[k]:=______;___________;end {for}end {else}end; { permute }begink:=n;for i:=1 to k do A[i]:=i;permute(k)end.三、编程题: (语言可任选,要求思路清晰,书写工整)1.编写程序将一个循环队列的内容倒置,该循环队列存储在一个数组A[1..n]中,例如图a中为倒置前的队列,图b中为倒置后的队列.要求倒置后的队列从数组的第一个元素开始存储,整个程序的运行时间为O(n). (15分)2.设计一个程序,使输入的句子按如下方式改造之后输出:(1)单词之间只留一个空格做间隔;(2)句子结束后必须紧跟句号;(3)如果把句子的单词从左到右依次编号为1,2,3,…则对于第奇数个单词,只要直接复制就行了,而对于第偶数个单词,应按反序打印.(15分)例如: 输入句子是:thissi yllis中国科学技术大学一九九六年招收硕士学位研究生入学考试试题试题名称:程序设计一、单项选择: (20分)1.具有几个节点的完全二叉树的深度是:_____.1) n log 2 2) n log 2 + 1 3) 1)(n log 2+ 4) n log 2 – 12.用单循环链表表示队列,正确的说法是:______1) 可设一个头指针使入队、出队都方便2) 可设一个尾指针使入队、出队都方便3) 必须设头、尾指针才能使入队、出队都方便;4) 无论如何,只可能使入队方便.3.对无向图而言,同一条边在邻接表中用两个节点表示而在邻接多重表中只用一个节点表示,因此邻接多重表所需存储量比邻接表______.1) 少一半 2) 多,但差异不大 3) 少,但差异不大4.一个哈希函数被认为是“好的”,如果它满足条件________.1) 哈希地址分布均匀 2) 保证不产生冲突3) 所有哈希地址在表长范围内 4) 满足 2) 和 3)5.ISAM 文件和VSAM 文件属于___________.1) 索引非顺序文件 2) 索引顺序文件3) 顺序文件 4) 散列文件6.在下述排序算法中_____算法是稳定的排序算法.1) 希尔排序 2) 冒泡排序 3) 快速排序7.平衡二叉树中,若某个节点在左、右子节点的平衡因子为零,则该节点的平衡因子也一定是零,这种说法______.1) 不正确 2) 正确8.在下属三种排序算法中,所需辅助存储量最多的是_____,所需存储量最少的是_______,平均速度最快的是______.1) 堆排序 2) 快速排序 3) 归并排序二、问答题(25分)1.已知某电文中共出现10种不同的字母,各个字母出现的频率分别为A:8, B:5, C:3, D:2, E:7, F:23, G:9, H:15, I:3, J:35 ,现在对这段电文用三进制进行编码(即码字由0,1,2组成),问电文编码总长度最少有多少位?并画出图2.A 是一个三对角矩阵,行数与列数相等,用压缩存储的方法将其压缩存储到一维的数组SA[ 1 .. 3n – 2 ]中(按行序顺序存储),则SA[ k ]对应的矩阵元素的下标为: 行值 i = ________, 列值 j = _______.反过来,若知道A 中元素的下标i , j ,则其存储位置 k=________.(写出表达式)3.设A 是一个栈,栈中共有n 各元素,依次为: n 21a ,,a ,a L ,栈顶元素为n a ,B 是一个循环队列,队列中n 各元素依次为n 21b ,,b ,b L ,队头元素为1b , A 、B 均采用顺序存储结构且存储空间足够大,现要将栈中元素全部移到队列中,使得队列中元素与栈中元素交替排列,即B 中元素为n n 332211a ,b ,,a ,b ,a ,b ,a ,b L ,问至少需要多少次基本操作才能完成上述工作,请写出具体步骤(要求除A、B外所用的其他附加存储量为1,每次出栈、入栈、出队列、入队列均看作一次基本操作).4.试为下列二叉树建立后序线索,画出相应的后序线索二叉树.三、算法描述(15分)以二叉链表作存储结构,编写按层次顺序(从根节点开始)遍历二叉树的算法.四、阅读下列程序,并回答:下列程序是否正确?为什么?如何修改? (5分)var a,b,c,d,e,f:integer;procedure mult(var x,y,z:integer);beginz:=0;while x<>0 dobeginif odd(x) thenz:=z+y;y:=y*z;z:=x div 2 ;end;end;begina:=5; b:=7; d:=11; e:=13;mult(a,b,c); /* 要求输出c=15 */mult(d – b , e – a , f ); /* 要求输出f=32 */end.五、阅读下列程序说明和C程序,把应填处的字句,写在答卷的对应栏内.[程序说明]对于正整数n,输出其和等于n且满足以下限制条件的所有正整数的和式,即组成和式的数字自左至右构成一个非递增的序列.如n = 4 , 程序输出为4 = 44 = 3 + 14 = 2 + 24 = 2 + 1 + 14 = 1 + 1 + 1 + 1程序中给出了分别采用递归和非递归解法的两个函数rd() 和nd() .函数rd() 采用递归解法,它有两个参数 a 和k . 其意义分别是被分解和式的数n ,及当前第k 深度分解.算法思想是对n 的所有合理的和式分解,将分解出的数(称为和数) 存于数组a[ ]中.当其中一个分解已不再需要进一步分解时,即找到一个解,将存于数组a[ ] 中的一个完整和式的和数输出.当还需要进一部分解时,以要进一部分解的数及分解深度为参数,递归调用分解和式函数.函数nd() 以要分解的数为参数,另开设一个数组r[ ],用于存储当前还未分解的余数.在求一个解的第k步时,a[k]为第k个和数,r[k]为相应的余数.当找到一个分解后(此步r[k]等于0,给出解,并做回溯处理,从当前k退回到第一个不为1的和数,将其减1,并将其余数加1,准备去找另一个解;否则,生成下一步的分解和数与余数.(15分)答: 1) ________________ 2) _________________3) ________________ 4) _________________5) ________________ 6) _________________[程序]#define MAXN 100int a[MAXN], r[MAXN];rd(int n, int k){ int j,i;for( j= ①; j >= 1 ; j –– ){if ({ printf("%d = %d",a[0],a[1]);for ( i = 2; i <= k; i ++ )printf(" + %d",a[i]);printf("\n");else ;}}nd(int n){ int i,k;k=0; r[0]=n;do{ if ( ){ %d",a[0],a[1]);for ( i=2; i <= k; i + +)printf(" + %d",a[i]);printf("\n");while ( k > 0 && ) k –– ;if ( k > 0){ a[k]}else { a[k+1] =k + +;} /* else */} while ( k > 0 );}int test_data[] = { 3, 4, 5 };main(){ int i;for ( i=0; i < sizeof test_data/sizeof (int) ; i ++){ a[0] = test_data[i];rd(test_data[i],1);printf("\n___________________\n\n");nd(test_data[i]);printf("\n___________________\n\n");}}六、设计一个程序读入一个字符串,统计该字符串中出现的字符及其次数,然后仪表的形式输出结果.要求用一个二叉树来保存处理结果,字符串中的每个不同的字符用数中不同的节点描述,每个节点包含四个域,格式为:字符该字符的出现次数指向ASCII码小于该字符的左子树指针指向ASCII码小于该字符的右子树指针因此程序的功能是依次从输入字符串中取出一个字符,把它们插入到树中(新出现字符)或修改原树中相应节点的“出现次数”域(已出现字符). (20分)中国科学技术大学一九九七年招收硕士研究生入学考试试题试题名称:程序设计一、选择填空(每空1分,共10分)1.查找几个元素的有序表时,最有效的查找方法是______.a: 数序查找; b:分块查找; c:二分查找; d:二叉排序树2.对一般二叉树而言,求节点按某种序列的前趋节点变得容易的线索二叉树是___和____.a: 前序线索二叉树; b: 中序线索二叉树; c: 后序线索二叉树3.若一个有向图具有拓扑排序序列,那么它的邻接矩阵必定为____.a: 对称矩阵; b: 稀疏矩阵; c: 三角矩阵; d: 一般矩阵4.采用开址定址法解决冲突的哈希查找中,发生集聚的原因主要是____.a: 数据元素过多; b: 负载因子过大; c: 哈希函数选择不当;d: 解决冲突的算法选择不好.5.对n个关键字的文件进行内部排序,在最好情况下,最快的排序方法是____;相应的时间复杂度为_____;该算法的稳定性是_______.A: ①快速排序; ②插入排序; ③归并排序; ④选择排序log n); ④O(n㏑n)B: ①O(2n); ②O(n); ③O(n 2C: ①稳定; ②不稳定6.在K路平衡归并的外部排序中,如果内部选择算法采用堆排序,则总的排序时间与K______.a: 有关; b: 无关7.哈夫曼编码树是一种_____.a: 最优查找树; b: 最优二叉树; c: 平衡二叉树d: B+树二、填空(每空2分,共20分)1.已知一颗二叉树的前序序列和中序序列分别为:ABCDEFG ; CBDEAFG ; 它的后序序列是__________;它的层次序列是___________.2.对8个节点的无向图,若确保其为连通图,至少需要___条边.若确保其为重连通图,至少需____条边.3.采用败者树进行K路归并时,所需工作空间至少为____个,选取一个当前最小关键字需进行____此比较.4.一颗含有15个关键字的4阶B树,其非叶节点数最少不能少于____个,最多可以为____个.5.高度为5的平衡二叉树;其节点数最多可以有____个;最少可以是____个.三、程序阅读(共20分)1.对于正整数n,输出其和等于n且满足以下限制条件的所有正整数的和式, 组成和式的数字自左至右构成一个非递增的序列.如n = 4 , 程序输出为:4 = 44 = 3 + 14 = 2 + 24 = 2 + 1 + 14 = 1 + 1 + 1 + 1test 是实现该功能的C程序段,请将未完成的部分补足,使之完整. Test函数为一递归函数,参数n为被分解和式的数, k为当前的分解深度.算法思想是对n 的所有合理的和式分解,将分解出的数(称为和数) 存于数组a[ ]中.当其中一个分解已不再需要进一步进行时,即找到一个解,将存于a[ ] 中的一个完整和式的和数输出.当还需要进一部分解时,以要进一部分解的数及分解深度为参数,递归调用test函数.#define MAXN 100int a[MAXN];test(int n, int k){ int i,j;for( j= ; j >= 1 ; j –– ) (3分){if ( (3分)for ( i = 2; i <= k; i ++ )printf(" + %d",a[i]);printf("\n");}else test( ; k+1); (4分)}}main(){ test(4,1);}2.设输入为整数数组A[1..n],其中1≤A[i] ≤k (1≤i ≤n);输出数组为B[1..n]; C[1..k]是临时工作空间;阅读下属算法后,回答下列问题:proc Demo(A,B,k) {(1)for i:=1 to k do C[i]:=0;(2)for j:=1 to n do C[A[j]]:= C[A[j]]+1;(3)for i:=2 to k do C[i]:= C[i]+ C[i-1];(4)for j:=n downto 1 do{(5)B[C[A[j]]]:=A[j];(6)C[A[j]]:=C[A[j]]-1;}}(a)当标号(2)行的循环执行完后,C[i] ( 1≤i ≤n )的值有何意义? (3分)(b)当标号(3) 行的循环执行完后,C[i] ( 1≤i ≤n )的值有何意义? (3分)(c)算法执行后,B的内容有和特点?(d)当k=O(n)时,算法的时间复杂度是多少?四、程序设计(20分)1.已知一个n×n的上三角矩阵a的上三角元素已按行主序连续存放在数组b中.请设计一个函数trans将b中元素按列主序连续存放至数组c中. (15分)例:设n=5;=1500001413000121110009876054321a b=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)c=(1,2,6,3,7,10,14,8,11,13,5,9,12,14,15)2.设二叉排序树的存储结构为:type bitree = ^ node;node = recordkey:keytype;size:int;lchild,rchild:bitreeend;其中一个节点x 的size 域的值为以x 为根的子树中节点的总数(包括x 本身).例如下一颗二叉排序树:每个节点图示为若设该二叉排序树高为h,试写一个时间为O(h)的算法Select(T:bitree;i:int),要求该算法返回一个指向二叉排序树T 的中根序列里第i 个最小元素的指针.若i 值非法,返回空指针.例如对上图调用Select(T,7)时返回指向key 为16的节点指针.注意:不允许用中序遍历的方法完成.需要利用节点的Size 信息. (15分)3.请写一个算法求无环连通图T 的中心.(提示:首先将T 中度为1的节点(叶子)删去得到子图T1,然后再删去T 的叶子,…如此反复,直到某个子图Tk 为止.Tk 或者只含一个节点,它即是T 的唯一中心;或者Tk 含有两个节点,它们都是T 的中心).若图有两个中心,求出任意一个即可.存储结构均采用邻接表.在顶点表中可加一个度数域.data degree firstadj┇中国科学技术大学一九九八年招收硕士学位研究生入学考试试题试题名称:程序设计要求: 算法设计题目要求写注解,否则扣分. 写出正确的设计思想和伪代码给分.一、填空(15分,每空1分)1.n 个顶点的无向图的邻接矩阵至少有____非零元素;n 个顶点的有向图是强连通图至少有____条边.2.折半查找的存储结构必须是_____,并且其中存储的关键字必须____;查找成功与不成功的最大比较次数是____.(设关键字总数为n)3.设广义表L=( ( ),( (y), B), L),则L 的长度是______,深度是_____,head(L)是______, tail(L)是______.4.设高度为h 的二叉树无度为1的结点,则此类二叉树至少有____个结点,至多有_____个结点.5.若要将内存中建立的二叉树(不一定是完全二叉树),写到磁盘文件中,则采用_____表示为宜.6.假定有k 个关键字互为同义词,若用线性探测法把这k 个关键字存入散列表中,至少要进行___次探测.7.在基于关键字比较且时间为O( n 2log n)的排序中,若要求排序是稳定的,则可选用___排序;若要求就地排序(及辅助空间为O(1)),则可选用___排序 .二、请在下列各题中选择一个正确的答案(每个选择2分,共20分)1.在一颗m 阶的B 树中:(1)若在某结点中插入一个新关键字而引起结点的分裂,则该结点中原有关键字的个数是:(a) m 个 (b) m – 1个 (c) m – 2 个(2)若在某结点中删除一个新关键字而导致结点的合并,则该结点中原有关键字的个数是:(a) 1m/2−个 (b) m/2个 (c) 1m/2+个2.用ISAM 组织文件适合于(a) 磁带机 (b) 磁盘3.是否存在这样的二叉树,对它采用任何次序的遍历,其遍历产生的节点序列相同?(a) 存在 (b) 不存在4.若一个有向图的邻接矩阵中,主对角线以下的元素均为零,则该图的拓扑有序序列:(a) 不存在 (b) 存在5.对外部排序的k 路平衡归并,采用败者树时,归并效率与k(a) 有关 (b) 无关6.设二叉排序树中关键字由1至1000的整数构成,现要检索关键字为363的结点,下述关键字序列哪一个不可能是二叉排序树上搜索到的序列?(a) 2, 252, 401, 398, 330, 344, 397, 363(b) 924, 220, 911, 244, 898, 258, 362, 363(c) 952, 202, 911, 240, 912, 245, 363(d) 2, 399, 387, 219, 266, 382, 381, 278, 3637.已知待排序的n 个元素可分为n/k 个组,每个组包含k 个元素,且任一组内的各元素均分别大于前一组的所有元素并小于后一组内的所有元素,若采用基于比较的排序,其时间下界应为:(a) O(n 2log n) (b) O(n 2log k) (c) O(k 2log n) (d) O(k 2log k)8.下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序: (a) 二叉排序树 (b) 哈夫曼树 (c) A VL 树 (d) 堆9.将两个各有n 个元素的有序表归并成一个有序表,其最多的比较次数是:(a) 2n (b) n (c) 2n – 1三、(共15分)Fibonacci 树是一种特殊的二叉树,下面给出构造该树的一种算法:procedure FibonacciTree(d:integer ; V ar T:binarytree){ //d 是 Fibonacci 树的深度if d=0 then T := nilelse{ new(T);if d=1 then { T^.leftptr:=nil; T^.rightptr:=nil }else { // d>=2FibonacciTree(d – 2, T^.leftptr);FibonacciTree(d – 1, T^.rightptr); }}}1.画出深度为4的Fibonacci 树(即用d=4调用上述算法的结果) (7分)2.从你画的树中分析深度d 的Fibonacci 树中结点总数和Fibonacci 数的关系.Fibonacci 数定义如下:0F = 1 , 1F = 1 n F = 1-n F + 2-n F n>13.你所画出的Fibonacci 树是否为平衡二叉树?若是,它是否为同样深度的平衡二叉树中节点数目最少的一种? (4分)四、证明若二叉排序数中的一个结点存在两个孩子,则它的中序后继节点没有左孩子, 则它的中序前趋节点没有右孩子. (10分)五、(共25分) 设数组A[1..n]含有n 个互不相同的数,若 i<j 且A[i] > A[j] , 则偶对(i,j)称为A 的一个逆.1.列出数组[3, 4, 9, 7, 1]的五个逆; (2分)2.元素取自集合{1, 2, 3, … n } 的所有数组中,哪一个数组具有最多的逆,其中数是多少? (3分)3.插入排序的运行时间和数组中逆的数目有何关系? (3分)4.写一个算法将两个有序段 r[low..mid] 和 r[mid + 1..high] 归并成一个有序段,并要求在归并的同时求出归并前r[low..high]中逆的总数. (15分)5.利用(4)中的归并算法来对r[1..n]进行归并排序,并同时求出原数组r[1..n]中逆的总数,其时间复杂度是多少? (2分)六、(共15分) 一个有向图G=(V ,E)的平方图 满足下述性质:(u,w) ∈。
中国科学技术大学考研真题—中国科学技术大学
中国科学技术大学人文学院高等数学(B)(中国科学院-中国科学技术大学联合命题试卷)1993——2005(1993——2004有答案)管理学院西方经济学(中国科学技术大学命题试卷)1994——1998(1996—1997有答案)(注:1997年的答案共4页,缺P3-P4)概率统计(中国科学院-中国科学技术大学联合命题试卷)2004——2007(2004——2007有答案)概率论与数理统计(中国科学院-中国科学技术大学联合命题试卷)2008(2008有答案)数学系数学分析(中国科学院-中国科学技术大学联合命题试卷)2000,2008(注:2008年试卷为回忆版)数学分析(中国科学技术大学命题试卷)1993,1996——1998高等代数(中国科学院-中国科学技术大学联合命题试卷)2008(注:2008年试卷为回忆版)线性代数(中国科学技术大学命题试卷)1997——1999物理系普通物理(A)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)普通物理(甲)(中国科学院-中国科学技术大学联合命题试卷)1997——1998,2000普通物理(B)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2004——2008有答案)普通物理(乙型)(中国科学院-中国科学技术大学联合命题试卷)1997——2002(1998,2000——2002有答案)量子力学(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)量子力学(实验型)(中国科学技术大学命题试卷)1990——1998(1997有答案)量子力学(实验型)(中国科学院命题试卷)1998——1999量子力学(实验型)(中国科学院-中国科学技术大学联合命题试卷)(2000——2002有答案)量子力学(理论型)(中国科学院-中国科学技术大学联合命题试卷)1990——2002 半导体材料(半导体研究所命题试卷)1996,1998,2000——2001(1996,2000有答案)半导体材料物理(半导体研究所命题试卷)2002——2003半导体集成电路(中国科学院-中国科学技术大学联合命题试卷)2001——2002,2004(2002有答案)半导体模拟集成电路(中国科学技术大学、半导体研究所联合命题试卷)1995——1996,1998(1996,1998,1999有答案)模拟集成电路(中国科学技术大学、半导体研究所联合命题试卷)1997(1997有答案)半导体物理(甲)(中国科学院研究生院命题试卷)2007半导体物理(乙)(中国科学院研究生院命题试卷)2007半导体物理(中国科学院、半导体研究所、中国科学技术大学联合命题试卷)1997——2002,2004(1997——2002有答案)半导体物理[试卷抬头标注为中国科学院微电子中心命题试卷]2004原子核物理(中国科学院-中国科学技术大学联合命题试卷)2000——2002原子物理(中国科学院-中国科学技术大学联合命题试卷)2003——2006(2003——2006有答案)原子物理与量子力学(中国科学院-中国科学技术大学联合命题试卷)2001——2002,2007——2008(2007——2008有答案)热力学与统计物理(中国科学院-中国科学技术大学联合命题试卷)2000——2002,2005——2008(2005——2008有答案)化学物理系物理化学(中国科学院-中国科学技术大学联合命题试卷)1987,1995——2008(1995——2008有答案)物理化学(B)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)物理化学(C)(中国科学院-中国科学技术大学联合命题试卷)2004无机化学(中国科学院-中国科学技术大学联合命题试卷)1999——2008(2001,2003——2008有答案)普通物理(A)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)普通物理(甲)(中国科学院-中国科学技术大学联合命题试卷)1997——1998,2000普通物理(B)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2004——2008有答案)普通物理(乙型)(中国科学院-中国科学技术大学联合命题试卷)1997——2002(1998,2000——2002有答案)量子力学(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)量子力学(实验型)(中国科学技术大学命题试卷)1990——1998(1997有答案)量子力学(实验型)(中国科学院命题试卷)1998——1999量子力学(实验型)(中国科学院-中国科学技术大学联合命题试卷)(2000——2002有答案)量子力学(理论型)(中国科学院-中国科学技术大学联合命题试卷)1990——2002 原子核物理(中国科学院-中国科学技术大学联合命题试卷)2000——2002原子物理(中国科学院-中国科学技术大学联合命题试卷)2003——2006(2003——2006有答案)原子物理与量子力学(中国科学院-中国科学技术大学联合命题试卷)2001——2002,2007——2008(2007——2008有答案)热力学与统计物理(中国科学院-中国科学技术大学联合命题试卷)2000——2002,2005——2008(2005——2008有答案)近代物理系普通物理(A)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)普通物理(甲)(中国科学院-中国科学技术大学联合命题试卷)1997——1998,2000普通物理(B)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2004——2008有答案)普通物理(乙型)(中国科学院-中国科学技术大学联合命题试卷)1997——2002(1998,2000——2002有答案)量子力学(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)量子力学(实验型)(中国科学技术大学命题试卷)1990——1998(1997有答案)量子力学(实验型)(中国科学院命题试卷)1998——1999量子力学(实验型)(中国科学院-中国科学技术大学联合命题试卷)(2000——2002有答案)量子力学(理论型)(中国科学院-中国科学技术大学联合命题试卷)1990——2002 电动力学(中国科学院命题试卷)1998电动力学(中国科学技术大学命题试卷)1999电动力学(中国科学院-中国科学技术大学联合命题试卷)2000——2002电动力学(A)(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2003——2008有答案)电动力学(B)(中国科学院-中国科学技术大学联合命题试卷)2003——2005电子学基础(中国科学院-中国科学技术大学联合命题试卷)2003——2005,2008(2004——2005,2008有答案)原子核物理(中国科学院-中国科学技术大学联合命题试卷)2000——2002原子物理(中国科学院-中国科学技术大学联合命题试卷)2003——2006(2003——2006有答案)原子物理与量子力学(中国科学院-中国科学技术大学联合命题试卷)2001——2002,2007——2008(2007——2008有答案)热力学与统计物理(中国科学院-中国科学技术大学联合命题试卷)2000——2002,2005——2008(2005——2008有答案)力学和机械工程系理论力学(A)(中国科学院-中国科学技术大学联合命题试卷)2005理论力学(B)(中国科学院-中国科学技术大学联合命题试卷)2004——2005机械设计(中国科学院-中国科学技术大学联合命题试卷)2003——2008(2005——2008有答案)电子工程与信息科学系信号与系统(中国科学技术大学命题试卷)1990——1999(1996——1999有答案)(另:有《信号与系统》期末考试试题11份,每份3元。