10年北工大计算机复试(回忆版)
北邮计算机院和网院复试上机真题以及参考代码

北邮复试上机网研的题目第一题:查找输入数组长度n输入数组 a[1...n]输入查找个数m输入查找数字b[1...m]输出YES or NO 查找有则YES 否则NO如(括号内容为注释)输入:5(数组长度)1 52 4 3(数组)3(查找个数)2 5 6(查找具体数字)输出:YESYESNO#include <stdio.h>#include <stdlib.h>int main(){int n,m,i,j,a[2001]={0},b[2001]={0},flag=0;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d",&m);for(i=0;i<m;i++)scanf("%d",&b[i]);for(i=0;i<m;i++){for(j=0;j<n;j++){if(b[i]==a[j]){flag=1;printf("YES\n");break;}}if(flag!=1)printf("NO\n");flag=0;}// // system("PAUSE");return 0;}第二题:查找第K小数查找一个数组的第K小的数,注意同样大小算一样大如 2 1 3 4 5 2 第三小数为3如(括号内容为注释)输入:6(数组长度n)2 13 5 2 2(数组)3(K 即为第三小数)输出:3Code#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]){int n,k,i,j,a[1001],temp,m=1;scanf("%d %d",&n,&k);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}for(i=0;i<n-1;i++)if((a[i]==a[i+1])&&(i<k))k++;printf("%d\n",a[k-1]);// system("PAUSE");return 0;∙}第三题:打牌牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌规则:出牌牌型有5种[1]一张如4 则5...9可压过[2]两张如44 则55,66,77,...,99可压过[3]三张如444 规则如[2][4]四张如4444 规则如[2][5]五张牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大压过输出YES 否则NO如(括号内容为注释)输入:12233445566677(手中牌)33(出牌)输出:YESProblem Id: 1820Submit time: 2010-04-25 20:28:36User_id: jyjyjy1989Memory:204K Time:19MSLanguage:G++ Result:Accepted∙Code∙#include<iostream>∙#include<string.h>∙using namespace std;∙∙int main(void)∙{∙char str1[100],str2[5];∙scanf("%s",str1);∙char ch;ch=getchar();∙scanf("%s",str2);∙int i=0;int count[10]={0};∙while(str1[i]!='\n')∙{∙if((str1[i]-'1')==0)count[0]++;∙else if((str1[i]-'1')==1)count[1]++; ∙else if((str1[i]-'1')==2)count[2]++; ∙else if((str1[i]-'1')==3)count[3]++; ∙else if((str1[i]-'1')==4)count[4]++; ∙else if((str1[i]-'1')==5)count[5]++; ∙else if((str1[i]-'1')==6)count[6]++; ∙else if((str1[i]-'1')==7)count[7]++; ∙else if((str1[i]-'1')==8)count[8]++; ∙else break;∙i++;∙}∙int s1,s2,s3,s4,s5;int flag=1;∙if(strlen(str2)==1)∙{s1=*str2-'1';∙for(;s1<9;s1++)∙if(count[s1+1]>0)∙{printf("YES\n",s1);flag=0;break;}∙}∙else if(strlen(str2)==2){s2=*str2-'1';for(;s2<9;s2++)if(co unt[s2+1]>=2){printf("YES\n",s2);flag=0;break;}}∙else if(strlen(str2)==3){s3=*str2-'1';for(;s3<9;s3++)if(co unt[s3+1]>=3){printf("YES\n");flag=0;break;}}∙else if(strlen(str2)==4){s4=*str2-'1';for(;s4<9;s4++)if(co unt[s4+1]>=4){printf("YES\n");flag=0;break;}}∙else if(strlen(str2)==5){s5=*str2-'1';for(;s5<9;s5++)if(co unt[s5+5]>0&&count[s5+1]>0&&count[s5+2]>0&&count[s5+3]>0&&count [s5+4]>0&&((s5+5)<9)){printf("YES\n");flag=0;break;}}∙if(flag==1)printf("NO\n");∙//system("PAUSE");∙return EXIT_SUCCESS;∙}第四题:树查找简单说就是一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY,具体描述得借助图形比较好,懒得写了,基本就是这个样子的。
北京理工大学2000-2010年研究生复试上机试题(计算机专业)

北京理工大学2000-2010年研究生复试上机试题(计算机专业)计算机专业研究生复试上机试题2000年:1、输入任意4个字符(如:abcd),并按反序输出(如:dcba)#include<iostream>#include<string>using namespace std;void main(){string s;cin>>s;for(int i=3;i>=0;i--)cout<<s[i];cout<<endl;}2、设a、b、c均是0 到9 之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。
求满足条件的所有a、b、c的值。
#include<iostream>using namespace std;void main(){int a,b,c;//int s;for(int i=100;i<1000;i++){a=i/100;b=i/10-a*10;c=i%10;//cout<<i<<" ";//cout<<a*100+b*10+c;if((i+b*100+c*10+c)==532){cout<<a<<" "<<b<<" "<<c;cout<<endl;}}}3、一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。
求出2到60之间所有“完数”和“盈数”,并以如下形式输出:E: e1 e2 e3 ......(ei为完数) G: g1 g2 g3 ......(gi为盈数)#include<iostream>using namespace std;void main(){cout<<"E:";for(int i=2;i<=60;i++){int s=0;for(int j=1;j<i;j++){if(i%j==0){//s=0;s+=j;}}if(s==i){cout<<i<<" ";}}cout<<endl;cout<<"G:";for(int k=2;k<=60;k++){int s=0;for(int j=1;j<k;j++){if(k%j==0){s+=j;}}if(s>k){cout<<k<<" ";}}cout<<endl;}4、从键盘输入4个学生的数据(包括姓名、年龄和成绩),并存放在文件sf1上。
北京工业大学十套数据结构试题及答案

已知一个图的顶点集 V 和边集 E 分别为:V={1,2,3,4,5,6,7}; E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15, (3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25}; 用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。 4. 画出向小根堆中加入数据 4, 2, 5, 8, 3 时,每加入一个数据后堆的变化。 四、阅读算法(每题 7 分,共 14 分) 1. LinkList mynote(LinkList L) {//L 是不带头结点的单链表的头指针 if(L&&L->next){ q=L;L=L->next;p=L; S1: while(p->next) p=p->next; S2: p->next=q;q->next=NULL; 3. L; } 请回答下列问题: (1)说明语句 S1 的功能; (2)说明语句组 S2 的功能; (3)设链表表示的线性表为(a1,a2, …,an),写出算法执行后的返回值所表示的线性 表。 2. void ABC(BTNode * BT) { if BT { ABC (BT->left); ABC (BT->right); cout<<BT->data<<' '; } } 该算法的功能是:
数据结构试卷(二)
一、选择题(24 分) 1.下面关于线性表的叙述错误的是( ) 。 (A) 线性表采用顺序存储必须占用一片连续的存储空间 (B) 线性表采用链式存储不必占用一片连续的存储空间 (C) 线性表采用链式存储便于插入和删除操作的实现 (D) 线性表采用顺序存储便于插入和删除操作的实现 2.设哈夫曼树中的叶子结点总数为 m,若用二叉链表作为存储结构,则该哈夫曼树中总共 有( )个空指针域。 (A) 2m-1 (B) 2m (C) 2m+1 (D) 4m 3.设顺序循环队列 Q[0:M-1]的头指针和尾指针分别为 F 和 R,头指针 F 总是指向队头元素 的前一位置,尾指针 R 总是指向队尾元素的当前位置,则该循环队列中的元素个数为 ( ) 。 (A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M 4.设某棵二叉树的中序遍历序列为 ABCD,前序遍历序列为 CABD,则后序遍历该二叉树 得到序列为( ) 。 (A) BADC (B) BCDA (C) CDAB (D) CBDA 5.设某完全无向图中有 n 个顶点,则该完全无向图中有( )条边。 2 2 (A) n(n-1)/2 (B) n(n-1) (C) n (D) n -1 6.设某棵二叉树中有 2000 个结点,则该二叉树的最小高度为( ) 。 (A) 9 (B) 10 (C) 11 (D) 12 7.设某有向图中有 n 个顶点,则该有向图对应的邻接表中有( )个表头结点。 (A) n-1 (B) n (C) n+1 (D) 2n-1 8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字 5 为基准进行一趟快 速排序的结果为( ) 。 (A) 2,3,5,8,6 (B) 3,2,5,8,6 (C) 3,2,5,6,8 (D) 2,3,6,5,8
北工大复试_数据库资料

1) C.J. Date 的定义数据库是存储的业务数据(operational data)的集合,供某企业(enterprise)的应用系统所使用。
(2) J.Martin的定义存储在一起的相关数据的集合,这些数据没有不必要的冗余,为多种应用服务。
数据的存储独立于使用它的程序……“数据被结构化……”3) 萨师煊等人的定义数据库是一个通用的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与应用程序的独立性;DB技术的特点:1)数据冗余小2)数据独立性两级映射(程序与)数据的物理独立性/逻辑独立性(*)3)统一的控制与管理安全性完整性并发性(*)等1.2 数据库系统DBS (Database System):引入数据库技术的计算机系统。
由计算机硬件、系统软件、DB、DBMS、应用程序及相应人员组成。
模式(schema):对结构的描述外模式(子模式/用户模式) 局部逻辑结构模式(概念模式/逻辑模式) 全局逻辑结构内模式(存储模式) 存储结构1)外模式/模式之间的映像:定义两者对应关系(外模式定义中)模式改变改映像外模式不改由此提供数据的逻辑独立性局部逻辑结构独立于全局逻辑结构2) 模式/内模式之间的映像:定义两者对应关系(模式定义中)内模式变改映像模式不变由此提供数据的物理独立性逻辑结构独立于物理结构数据库管理员(DBA)一个或一组全面控制、管理DB的人员。
a.定义模式及外模式b.决定存储结构及存取策略(内模式)c.定义安全性,完整性约束条件d.监控DB的使用与运行,出现故障时采用的后援、恢复策略。
e.对DB进行改进与重组:原因①需求改变②长期更新性能不佳事务管理就是确保:1)事务中的操作或者都执行或者都不执行。
2)事务执行前后数据库满足所有约定的一致性条件。
3)两个事务同时执行不相互干扰。
4)事务完成后即使系统故障,事务的结果长期保存。
熟练掌握:数据库、数据库管理系统和数据库系统的概念;数据库系统三层模式结构;数据(逻辑、物理)独立性概念。
北工大考研复试班-北京工业大学软件工程考研复试经验分享

北工大考研复试班-北京工业大学软件工程考研复试经验分享北京工业大学(Beijing University of Technology),简称"北工大",是中国北京市人民政府直属的一所以工为主,理、工、经、管、文、法、艺术等学科门类相结合的全国重点大学,是国家"211工程"重点建设院校,入选"卓越工程师教育培养计划"、"111计划",设有研究生院和国家大学科技园。
北京工业大学创建于1960年,初设机械、电机、无线电、化工、数理5个系,历经多次整合兼并,逐渐形成了理工、经管、文法相结合的多科性体制;学校于1981年成为第一批硕士学位授予单位,1985年成为博士学位授予单位。
启道考研复式班根据历年辅导经验,编辑整理以下考研复试相关内容,希望对广大考研复试学子有所帮助,提前预祝大家复试金榜题名!专业介绍软件工程专业是2002年国家教育部新增专业,随着计算机应用领域的不断扩大及中国经济建设的不断发展,软件工程专业将成为一个新的热门专业。
软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试、软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才。
招生人数与考试科目复试时间地点3月22日各学院(部、所)复试安排(含相关学科/专业调剂系统开通时间、信息公示栏等)各学院(部、所)复试时间如有微调,以学院(部、所)通知为准。
复试内容复试内容包含外语、专业课与综合面试三个方面:外语:所有复试考生均需参加外语听、说能力的测试。
测试均由各学院(部、所)、学科/专业结合专业知识在复试时进行。
专业课:专业笔试科目考生可登录我校研招网查阅。
10年北工大计算机复试(回忆版)

2010年北京工业大学计算机学院硕士研究生复试笔试题目(三科回忆版)复试C语言:1、设计一个函数原型,从一个指定的字符串中取出前n个字符。
2、输入研究生入学考试学生信息(考生编号、各科成绩、总分),用数组存储。
最后实现函数void pro(struct Student Score[]),这个函数用于将Score[]中的学生信息按照总分成绩排序。
3、论文信息:论文标题、发表期刊、刊号(卷号)、页数、发表时间等,反正就是这些信息,记不清楚了。
(1)结构体自己设计;(2)按照论文标题、发表期刊、刊号、卷号、页数、发表时间这样的格式输出发表日期在某一年前发表的论文,并将其写入文件data.txt文件中。
复试数据库:一填空题:1、数据库设计的三层模式结构;2、关系模型与E-R模型的区别;3、数据库事务的四个特性;4、给一个函数依赖为在某个集合上的投影函数依赖是什么;5、SQL;(这个比较简单)6、也是SQL :PC、生产厂商、笔记本三个表,找出即生产PC也生产笔记本的厂商;二判断题:1、建立视图会加快了查询速度。
2、二元关系一定是BCNF。
3、两端锁协议保证的是原子性。
4、在ER图转化成关系模式的时候,弱实体集是不需要转化。
三、大题:1、你是否设计过某种数据库,说说你设计数据库的内容;2、什么叫事务的原子性,用实例说明;3、给一个数据库的图包括子类,让你设计数据库模式;4、给一个数据库模式,忘了具体模式是什么了。
判断这个数据库模式是否是无损连接分解,为什么?5、你是否使用过某种数据库管理系统(DBMS),,说明在数据管理上的缺点和优点。
复试离散:1.A并B=A并C,A交B=A交C,证明BC相等。
2.集合A到B,有多少个双射,多少个单射3.证明:多面体奇数个面,不可能有奇数个棱。
4.求主合取范式5.无向树的阶数,和度一起考的6.用EI,ES,UI,US证明公式7.判断题1,28.模K乘法9.判断某格是不是分配格10.证明:代数系统上的同构就是代数系统为集合的元素上的等价关系。
北邮计算机研究生入学考试(复试)历年上机测试模拟试题及真题

2008年北邮计算机学院研究生入学考试(复试)上机测试模拟试题第一题:人数统计 1305Submit: 1853 Accepted:717Time Limit: 1000MS Memory Limit: 65535KDescription今年计算机学院研究生入学复试分多个小组。
现在老师需要知道每组复试同学中男生和女生的人数。
请你编写程序分别统计出男女生的总人数。
Input输入的第一行是一个数t(0 < t < 10),表示有t组测试用例。
对于每组输入数据有两行,第一行是一个正整数n(1 < n < 1000),表示参加该组复试的总人数。
接下来一行有n个整数(取值为0或1),0代表男生,1代表女生,整数间由一个空格隔开。
Output对于每组测试用例,输出一行,由两个数组成,用一个空格隔开,分别表示男生和女生的总人数。
Sample Input221 070 1 0 0 1 1 0Sample Output1 14 3数字统计 1306 1512Submit: 1257 Accepted:578Time Limit: 1000MS Memory Limit: 65536KDescription给你一个非常大的整数x,(-10^400 <=x<= 10^400),请统计x的每一位,分别输出9,1,2出现的次数.Input一个大整数;Output一共三行,第一行是9出现的次数,第二行是1出现的次数,第三行是2出现的次数。
Sample Input912912912910915902Sample Output654第二题:统计字母1512Submit: 2259 Accepted:625Time Limit: 1000MS Memory Limit: 65535KDescription给定一个只有小写英文字母组成的字符串,串长为n。
请你编写程序求出这个字符串中出现次数最多的字母。
北工大计算机考研真题答案

delete(Dt,A) 初始条件:字典 Dt 存在,A 是字典元素 操作结果:删除数据 A
find(Dt,A) 初始条件:字典 Dt 存在,A 是字典元素 操作结果:查找字典数据,返回位置信息
(2)链式存储结构,方便更新
第 5 页 共 16 页
友情提供,请勿传播,谢谢合作--------picco
2006 真题答案
一.选择题 ADCBD 二.填空题 1.O(nu+tu) 三.解答题
2.A GOOD STUDENT
3.7、11、13、14
4.直接插入排序
4(1)35%13=9, h1(35)=35%11+1=13 H2(35)=(9+2*3)%11=4 四.抽象数据类型设计题
ADT dictionary{ 数据对象 D:D 是具有相同特性的数据元素的集合,每个元素由两部分组成,分别为关键码和属
2空间上直接插入排序不需额外的空间快速排序需要递归工作栈所以直接插入排序的空间性能更好时间上序列长度较小因为两个子序列分别有序直接插入排序比较次数较少但快速排序在序列基本有序时效率反而下降所以直接插入排序时间性能更好四
友情提供,请勿传播,谢谢合作--------picco
说明:此答案是我考研时所做,先整理出来,正确率足够使用,但不保证所有题都正确,请按自己的 情况酌情处理。另外我没有公开此档案,希望拿到的同学不要传播(我直接的朋友可以传给自己的真实同 学,但请间接朋友不要继续往下传),不要宣传从我这里得到,毕竟这样的独家资料对你们也有好处。这 份资料价值很高,我整理也很费劲,所以请尊重我的劳动。真题可以从王道论坛下载,从 1995 年的开始, 但我建议从 2003 年开始看,因为以前的题太旧了,跟现在的考试风格差别很大,所以我的答案也是从 03 年开始的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年北京工业大学计算机学院硕士研究生复试笔试题目(三科回忆版)
复试C语言:
1、设计一个函数原型,从一个指定的字符串中取出前n个字符。
2、输入研究生入学考试学生信息(考生编号、各科成绩、总分),用数组存储。
最后实现函数void pro(struct Student Score[]),这个函数用于将Score[]中的学生信息按照总分成绩排序。
3、论文信息:论文标题、发表期刊、刊号(卷号)、页数、发表时间等,反正就是这些信息,记不清楚了。
(1)结构体自己设计;
(2)按照论文标题、发表期刊、刊号、卷号、页数、发表时间这样的格式输出发表日期在某一年前发表的论文,并将其写入文件data.txt文件中。
复试数据库:
一填空题:
1、数据库设计的三层模式结构;
2、关系模型与E-R模型的区别;
3、数据库事务的四个特性;
4、给一个函数依赖为在某个集合上的投影函数依赖是什么;
5、SQL;(这个比较简单)
6、也是SQL :PC、生产厂商、笔记本三个表,找出即生产PC也生产笔记本的厂商;
二判断题:
1、建立视图会加快了查询速度。
2、二元关系一定是BCNF。
3、两端锁协议保证的是原子性。
4、在ER图转化成关系模式的时候,弱实体集是不需要转化。
三、大题:
1、你是否设计过某种数据库,说说你设计数据库的内容;
2、什么叫事务的原子性,用实例说明;
3、给一个数据库的图包括子类,让你设计数据库模式;
4、给一个数据库模式,忘了具体模式是什么了。
判断这个数据库模式是否是无损连接分解,为什么?
5、你是否使用过某种数据库管理系统(DBMS),,说明在数据管理上的缺点和优点。
复试离散:
1.A并B=A并C,A交B=A交C,证明BC相等。
2.集合A到B,有多少个双射,多少个单射
3.证明:多面体奇数个面,不可能有奇数个棱。
4.求主合取范式
5.无向树的阶数,和度一起考的
6.用EI,ES,UI,US证明公式
7.判断题1,2
8.模K乘法
9.判断某格是不是分配格
10.证明:代数系统上的同构就是代数系统为集合的元素上的等价关系。