北京理工大学2023年885软件工程考研真题(回忆版)

合集下载

北京理工大学-885-2016-真题回忆版

北京理工大学-885-2016-真题回忆版

2016年北理软院885部分真题(回忆版)数据结构:应用题:1. 在一个算法中需要建立多个堆栈时可以选用下列三种方案之一,试问:这三种方案之间相比较各有什么优缺点:(1)分别用多个顺序存储空间建立多个独立的堆栈(2)多个堆栈共享一个顺序存储空间(3)分别建立多个独立的链接堆栈【北航1998一、6】2. 二叉树转森林(1)二叉树的线索化(2)将二叉树转化为森林(3)写出森林的后序遍历3. 单链表删除结点、双向链表插入节点4. 平衡二叉树的建立5. 给一个关键字序列,然后建立小根堆,取走第一个数后的堆调整编程题:1. 给一个链表,分为将奇数分成一个链,将偶数分为一个链2. 用“破圈法”求解带权连通无向图的一棵最小代价生成树。

所谓“破圈法”就是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。

请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。

注:圈就是回路。

C语言:各位原谅我,我真忘了版本2程序设计部分我就记得有一个选择题好像是说c语言程序的基本单位是什么A.函数B.过程C.子程序,还有一个选项忘了,我是选A的,当时觉得有的不确定,现在当然知道选什么了,就是A,哈哈。

下面五个程序题,可能叙述的有的不一样,不过都不重要了。

1.从键盘中输入三个数字,然后按从大到小的顺序输出。

(当时看到马上就下笔吧了,就是三个if语句和一个printf)。

2.从键盘输入一个大写字母,则输出一个对称的序列,如输入E,则输出AbCdEdCbA (这也不是很难就两个for循环)3.编写一个递归函数求1/2+1/4+1/8+...+1/2^n (这个题我忘了幂求解的那个库函数的名字了,所以当时自己就另外写了一个函数来求幂)4.忘了(一点印象都没了,不好意思。

不过这题不难的)5.给出一个链表的结构为struct node{int data;struct node *next;},从键盘中输入整数,以输入@表示结束,建立一个链表,最后要求从小到大输出链表的数据值。

北京理工大学-885-2015-真题回忆版

北京理工大学-885-2015-真题回忆版

2015年北理工软件考研885试题回忆C语言部分一.选择题很简单,都忘了二.程序填空题我觉得这个比程序结果题要简单,大家多看看书上的例子(还有课后题),我就记得最后一道考的求两个数的最大公约数(书上有),这个跟数学有联系,我本来还想着北理不会考,但没想到还真考了三.编程题1.输入字符串,计算其中大写字母,小写字母,数字和空格的数量2.判断数字是否由0,1,2,4组成,若是则将其输出(具体的忘了)3.递归方法求π,编写程序f(x) ,x规定π的精确度,还给出(π*π)/6=1+1/(2*2)+1/(3*3)+…+1/(n*n),公式应该是这样这是我在网上找的一道题,不是递归的,但可以参考下#include "math.h"double pi(int n){double s=0.0;int i;for(i=1;i<=n;i++)s=s+1.0/(i*i);return (sqrt(6*s));}4.具体忘了,是关于两个字符串合并,排序的5.输入有限个字符串,先按字符串长度排序,若长度一样,再把字符串按字母表排序。

(我当时用的结构体,里边一个存储字符串,一个记录长度)数据结构部分四.选择题都不难五.简答题1.将3个字符_、t、3(忘了顺序了)入栈,写出可能得到的出栈结果;写出不能得到的出栈结果及原因;在可能得到的出栈顺序中找出符合标示符的出栈结果2.先序遍历和中序遍历结果一样,写出符合的二叉树的特点后序和中序一样……先序和后序一样……中序和层次遍历一样(好像是,有点忘了)……3.给出一个带权有向图,写出它的邻接矩阵;用迪杰斯特拉方法求一点A到其余各点的最短路径,要求写出计算过程(图画不出来)4.一个二维数组A[m][n]中存储数字,每列都按顺序从小到大排序,前一列的数字都比后一列的小。

给一个数字x,若数字x在二维数组中可以找出且唯一,设计算法查找数值为x的A[j]维数i和列数j,时间复杂度不超过O(m+n)。

北京理工大学885软件工程专业基础综合(2020)

北京理工大学885软件工程专业基础综合(2020)

声明:该信息来自于官网北京理工大学885软件工程专业基础综合(2020)一、考查目标软件工程专业基础综合涵盖程序设计、数据结构等学科专业基础课程。

要求考生系统地掌握上述专业基础课程的概念、基本原理和方法,能够运用基本原理和基本方法分析和解决有关理论问题和实际问题。

二、考试形式和试卷结构试卷满分及考试时间本试卷满分为150分,考试时间为180分钟答题方式闭卷、笔试试卷内容结构程序设计75分数据结构75分试卷题型结构单项选择题20分程序填空题15分编程题50分简答题50分算法设计题15分三、考查范围程序设计部分1.考试内容⑴数据类型:常量、变量、数组、字符串、指针,变量的初始化、变量存储类型;⑵运算符与表达式:运算符的运算规则和优先级、表达式、类型转换;⑶程序的控制:程序的三种基本结构、语句、数据的输入输出;⑷函数:函数的定义、函数的调用、参数传递、带参数的主函数、函数的递归;⑸结构与联合:构造数据类型的概念、结构的定义与引用、联合的定义与引用、链表;⑹文件:文件的概念、文件指针、文件的打开、关闭及操作;2.考试要求⑴掌握C程序设计语言的基本语法。

⑵掌握常见的程序设计方法。

⑶掌握基本的数值、排序等算法,以及穷举、递推、递归等方法。

3.分值75分4.题型单项选择题10分程序填空题15分编程题50分数据结构部分1.考试内容⑴基本概念:数据结构,数据,数据元素,数据对象,抽象数据类型,算法,算法的时间复杂度和空间复杂度。

⑵线性表:线性表的逻辑结构和基本操作,顺序和链式存储结构,简单应用与实现。

⑶栈和队列:栈和队列的基本概念,存储结构,基本操作,简单应用与实现。

⑷数组和广义表:数组的定义及顺序存储结构,矩阵的压缩存储,数组的简单应用,广义表的定义与基本操作。

⑸树和二叉树:树的定义和基本操作,二叉树的概念和基本性质,二叉树的存储结构,遍历二叉树和线索二叉树,树和森林与二叉树的关系,哈夫曼树和哈夫曼编码,树的简单应用。

软件考研试题及答案

软件考研试题及答案

软件考研试题及答案一、单项选择题(每题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. 请简述什么是软件危机,并列举出解决软件危机的几种方法。

答案:软件危机是指软件开发过程中出现的一系列问题,如成本失控、进度延误、质量低下等。

解决软件危机的方法包括:采用软件工程方法论、实施严格的项目管理、进行需求工程、采用模块化和组件化设计、进行持续的测试和维护等。

北京理工大学22春“软件工程”《软件工程》期末考试高频考点版(带答案)试卷号:3

北京理工大学22春“软件工程”《软件工程》期末考试高频考点版(带答案)试卷号:3

北京理工大学22春“软件工程”《软件工程》期末考试高频考点版(带答案)一.综合考核(共50题)1.使用SD方法,以下模块间的偶合类型中,可修改性和可理解性依次变好的是____。

A.数据型—公共型—控制型B.数据型—控制型—公共型C.公共型—控制型—数据型D.公共型—数据型—控制型参考答案:C2.影响软件可维护性的主要因素不包括______________。

A.可理解性B.可测试性C.可用性D.可修改性参考答案:C3.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。

()A.正确B.错误参考答案:B4.关于模块的耦合性,模块独立性最差的耦合是________。

A.非直接耦合B.标记耦合C.控制耦合D.数据耦合参考答案:C5.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于____。

A.维护时期B.计划时期C.运行时期D.开发时期参考答案:B6.用户界面设计的任务包括()A.确定用户界面类型B.建立任务模型C.建立用户模型D.建立功能模型参考答案:ABC7.在软件工程中原型化方法和软件开发人员之间进行的一种交互过程适用于_____系统。

A.实时控制B.需求确定的C.管理信息D.需求不确定性高的参考答案:D8.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-2.0,2.0],现从输入的角度考虑一组测试用例:-2.001,-2.0,2.0,2.001。

设计这组测试用例的方法是_________A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法参考答案:CCMM将软件过程的成熟度分为以下5个级别:初始级、可重复级、已定义级、已管理级和优化级。

()A.正确B.错误参考答案:A10.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。

()A.正确B.错误参考答案:B11.软件测试的主要特点是()A.软件测试的开销大B.软件测试要依靠工具C.软件不能进行“穷举”测试D.软件测试要依靠人工参考答案:AC12.测试过程的活动几乎贯穿整个开发过程,它大体分为_______三个阶段。

2020年北京理工大学889考研真题回忆版

2020年北京理工大学889考研真题回忆版

北京理工大学2020 年硕士研究生入学考试初试试题(真题回忆)科目代码:889 科目名称:计算机技术专业基础满分:150 分注意: ①认真阅读答题纸上的注意事项;②所有答案必须写在答题纸上,写在本试题纸或草稿纸上均无效;③本试题纸须随答题纸一起装入试题袋中交回!一、选择题20 个1,给你入栈顺序 123,出栈顺序 231,问你操作序列。

(push、push、pop、push、pop、pop)2,下列哪个说法错误:A 对称矩阵的存储只需要存主对角线和上三角或下三角B 对角矩阵不用存储零C 稀疏矩阵可以用三元组D 稀疏矩阵有分布规律,可以用三元组3,给了一循环队列A[0……30],rear 指向队尾元素,front 指向队头元素的前一个位置,存储了 11 个元素,当前 front 指向 25,求 rear 指针位置。

(5)4,有一个无向图,每个边值不同,问下列哪一个选项是错的。

A 生成树不一定唯一BC 很简单,不记得了。

D 两节点的最短距离一定是最小生成树上的两节点最短距离5,一个外层循环 n,内层循环 2n 的程序,问你时间复杂度。

(O(n^2))(注意不要选O(2n^2),渐进复杂度省略常数)A O(2n)B O(n)C O(2n^2)D O(n^2)6,二维矩阵的压缩方式:(答案应该是十字链表和三元组,不要选散列和邻接表)7,请选出排序算法的启动时间最少的算法,所谓启动时间就是说选出第一个元素的最终位置所花的时间。

A 归并排序B 堆排序C 插入排序D 快速排序8,下列哪个空间复杂度不是常数:A 归并排序B 堆排序C 快速排序D 置换-选择排序9,顺序表下列哪个操作平均复杂度与众不同。

A 删除元素 aB 查找元素 aC 求表长D 在第 i 个元素后插入10,给你一个图,问你哪个 dfs 序是不可能的(简单题,没啥说的)11,给你一个 [1..5, 1..5] 上三角矩阵,问你压缩成一维后(下标从零开始),在行优先的情况下,a33 的下标。

北京理工大学计算机学院软件工程专业2024年考研攻略

北京理工大学计算机学院软件工程专业2024年考研攻略

一、报考情况分析1.招生目录招生年份:2023年招生专业:085405软件工程研究方向:00 (全日制)不区分研究方向拟招生人数:30考试科目:①101 思想政治理论②201 英语一③302 数学二④885软件工程专业基础综合复试要求及相关说明:笔试科目:C/C++语言程序设计(上机)。

面试内容:外语口语听力测试;软件工程相关专业相关基础与专业知识。

备注:含异地科研联合培养9人。

2.复试分数线3.录取名单二、考试大纲及参考书目885软件工程专业基础综合一、考查目标软件工程专业基础综合涵盖程序设计、数据结构等学科专业基础课程。

要求考生系统地掌握上述专业基础课程的概念、基本原理和方法,能够运用基本原理和基本方法分析和解决有关理论问题和实际问题。

二、考试形式和试卷结构试卷满分及考试时间本试卷满分为150分,考试时间为180分钟答题方式闭卷、笔试试卷内容结构程序设计 75分数据结构 75分试卷题型结构单项选择题 20分程序填空题 15分编程题 50分简答题 50分算法设计题 15分三、考查范围程序设计部分1.考试内容⑴数据类型:常量、变量、数组、字符串、指针,变量的初始化、变量存储类型;⑵运算符与表达式:运算符的运算规则和优先级、表达式、类型转换;⑶程序的控制:程序的三种基本结构、语句、数据的输入输出;⑷函数:函数的定义、函数的调用、参数传递、带参数的主函数、函数的递归;⑸结构与联合:构造数据类型的概念、结构的定义与引用、联合的定义与引用、链表;⑹文件:文件的概念、文件指针、文件的打开、关闭及操作;2.考试要求⑴掌握C程序设计语言的基本语法。

⑵掌握常见的程序设计方法。

⑶掌握基本的数值、排序等算法,以及穷举、递推、递归等方法。

3.分值75分4.题型单项选择题 10分程序填空题 15分编程题 50分数据结构部分1.考试内容⑴基本概念:数据结构,数据,数据元素,数据对象,抽象数据类型,算法,算法的时间复杂度和空间复杂度。

北京理工大学885软件工程专业基础综合考试大纲(1)

北京理工大学885软件工程专业基础综合考试大纲(1)

885软件工程专业基础综合一、考查目标软件工程专业基础综合涵盖程序设计、数据结构等学科专业基础课程。

要求考生系统地掌握上述专业基础课程的概念、基本原理和方法,能够运用基本原理和基本方法分析和解决有关理论问题和实际问题。

二、考试形式和试卷结构试卷满分及考试时间本试卷满分为150分,考试时间为180分钟答题方式闭卷、笔试试卷内容结构程序设计75分数据结构75分试卷题型结构单项选择题20分程序填空题15分编程题50分简答题50分算法设计题15分三、考查范围程序设计部分1.考试内容⑴数据类型:常量、变量、数组、字符串、指针,变量的初始化、变量存储类型;⑵运算符与表达式:运算符的运算规则和优先级、表达式、类型转换;⑶程序的控制:程序的三种基本结构、语句、数据的输入输出;⑷函数:函数的定义、函数的调用、参数传递、带参数的主函数、函数的递归;⑸结构与联合:构造数据类型的概念、结构的定义与引用、联合的定义与引用、链表;⑹文件:文件的概念、文件指针、文件的打开、关闭及操作;2.考试要求⑴掌握C程序设计语言的基本语法。

⑵掌握常见的程序设计方法。

⑶掌握基本的数值、排序等算法,以及穷举、递推、递归等方法。

3.分值75分4.题型单项选择题10分程序填空题15分编程题50分数据结构部分1.考试内容⑴基本概念:数据结构,数据,数据元素,数据对象,抽象数据类型,算法,算法的时间复杂度和空间复杂度。

⑵线性表:线性表的逻辑结构和基本操作,顺序和链式存储结构,简单应用与实现。

⑶栈和队列:栈和队列的基本概念,存储结构,基本操作,简单应用与实现。

⑷数组和广义表:数组的定义及顺序存储结构,矩阵的压缩存储,数组的简单应用,广义表的定义与基本操作。

⑸树和二叉树:树的定义和基本操作,二叉树的概念和基本性质,二叉树的存储结构,遍历二叉树和线索二叉树,树和森林与二叉树的关系,哈夫曼树和哈夫曼编码,树的简单应用。

⑹图:图的基本概念,图的存储结构,图的遍历,图的应用,图的连通性,有向无环图及其应用,最短路径,关键路径。

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

北京理工大学2023年885软件工程考研真题(回忆版)
选择题
1. 有函数fun(int s,int k),p是函数指针,怎么令p指向fun
A.p=fun
B.*p=fun
C.p=fun(a,b)
D.*p=fun(a,b)
2. 算法的必要特性,哪个是错误的?
A.确定性
B.有穷性
C.0到多个输入
D.0到多个输出
3. 以下赋值哪个是错误的?
A.s[4]=”abc”
B.s[]=”abc”
C.s[2][3]={“a”,”bc”}
D.s[2][]= {“a”,”bc”}
4.以下表述错误的是
A.选择结构,顺序结构,循环结构不能嵌套
B.顺序结构是按顺序执行程序
C.选择结构是根据判断语句选择不同的分支
D.循环结构是根据判断语句选择重复执行相应语句或者跳出循环
5. 有大根堆序列(32,16,22,12,9)现加入25,调堆过程中元素的总的比较次数是?
A.1
B.2
C.3
D.4
C语言程序设计:
算法题
1.输入一个字符和一个整数,输出三角形。

如‘A’, 4
A
BBB
CCCCC
DDDDDDD
2.输出不超过2023的最大回文序列。

回文序列如1001。

3.一个数的平方数的末尾包含这个数本身,则它是幸运数,如5的平方是25,25的末尾
是5,所以5是幸运数。

现输入一个数,要求判断它是不是幸运数,如果是则输出YES,不是则输出NO。

4.递归求解个数为n的序列:2/1+3/2+5/3+8/5…的值
5.输入三个字符串s1,s2,s3,如果s1中包含s2,则用s3代替s1中s2序列。

如果不包含s2,
则输出No Found。

如:aaba ab c aca
数据结构
简答题
1.数据元素之间的关系在计算机中有几种表示?列举分析它们的特点
2.(1)链栈比数组栈好在哪里?
(2)栈和队列有什么共同点?
(3)循环队列是什么?用它的主要目的是什么?
3.(1)为什么要把树和森林转化成二叉树?
(2)说出树和二叉树的主要区别
(3)如果要存储完全二叉树,只进行两种操作:访问结点双亲,访问节点孩子。

可用什么存储结构?
4.给出了邻接表结构图,在v1顶点分别写出深度优先和广度优先的遍历序列。

5.(1)给出一组序列,构造它的平衡二叉树。

(2)若要从大到小输出二叉树,该怎么办?
(3)画出删除结点66之后的平衡二叉树
算法设计
1.得到整数n,求矩阵,伪C语言。

如n=4
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
2.已知存正整数的单链表的头指针,找出链表最小的元素,输出。

如果最小元素节点p的数据是奇数,则交换p和p的后继元素数值;
如果最小元素节点p的数据是偶数,则删除p的直接后继。

相关文档
最新文档