2010年南京师范大学数据结构考研真题

合集下载

南师大考研真题

南师大考研真题

南京师范大学20XX硕士研究生招生入学考试试题(A卷)考试科目代码: 896 考试科目名称:数据库原理考生答题须知1.所有题目(包括填空、选择、图表等类型题目)答题答案必须做在考点发给的答题纸上,做在本试题册上无效。

请考生务必在答题纸上写清题号。

2.评卷时不评阅本试题册,答题如有做在本试题册上而影响成绩的,后果由考生自己负责。

3.答题时一律使用蓝、黑色墨水笔或圆珠笔作答(画图可用铅笔),用其它笔答题不给分。

4.答题时不准使用涂改液等具有明显标记的涂改用品。

一、概念题1.关系模型2.视图3.死锁关系二、简答题1.简述数据库管理系统的二级映射,它们分别保证了什么?为什么?2.简述关系模型的完整性规则,并举三个实例说明用户自定义完整性。

3.简述一个设计不好的数据库会带来哪些问题?4.简述并发控制中封锁协议的含义以与可以解决的问题。

5.简述事务的ACID特征,以与这些特征分别由数据库的什么子系统来完成。

三、下面有一个销售管理数据库SALES,它包含下面三张表:(1) 商品表:Item商品编码商品名称单位成本价库存数量code name unit cost amount(2) 商品销售主表:SaleHead销售单号销售日期客户名称saleOrder saleDate customer(3) 商品销售明细表:SaleDetail销售单号商品编码单价销售数量saleOrder code price qty基于数据库SALES,完成下面的操作:1.试用关系代数查询销售单号为“20041208001”的销售日期、客户名称、商品名称和销售数量。

2.用SQL语句查询没有购买名称为“20英寸长虹电视机”的商品的客户名称。

3.用SQL语句按客户名称分组统计每个客户的商品销售总额。

四、模式分解题已知关系模式R(U, F),U={ABCD},F={A→C,C→A,B→AC,D→AC}.1.求R的候选码;2.计算属性集{AC}关于F的闭包;3.将F化为最小依赖集;4.关系R最高属于第几范式?为什么?若R不属于3NF,将其分解到具有无损连接和保持依赖的3NF.五、数据库设计题现有一个简单的教学管理系统,其语义如下:(1) 一个学生只属于一个学院,一个学院有多个学生;(2) 一个教师只属于一个学院,一个学院有多个教师;(3) 一门课程归属于一个学院管理,一个学院可以管理多门课程;(4) 一门课程可开设若干个教学班,每个教学班只安排一个任课教师,一个老师可以任教多门课程的多个教学班;(5) 一个学生可以选修多门课程,但对于同一门课程只能选修一个教学班;一个教学班可以有多个同学选修。

2005-2010南京师范大学教学设计考研真题

2005-2010南京师范大学教学设计考研真题

2005-2010南京师范大学教学设计考研真题南京师范大学2005年硕士研究生招生入学考试初试试卷(教学设计A)一、辨析题(判断下列描述的正误,并说明理由,每题6分,共30分)1.行为主义理论学派主张用客观的方法研究客观的行为,学习的本质是行为的变化,即学习活动发生后,学习者要有可观察、可测量的外在变化。

2.具有场独立认知风格的学习者在认知活动中,一般会主动对外界信息进行加工,倾向于以外在参照作为信息加工依据,因此他们的知觉易受错综复杂的背景影响。

3.根据奥苏伯尔的同化论,学习者在学习一段语言或文字符号的材料后,在他的头脑中留下的是这段材料表达的意义,而不是语言或文字符号本身。

4.在现实生活中,儿童由于经常使用碗来盛饭菜,逐渐出现了碗是一种有特定形状和功能的器皿,从而正确分辨出碗,这表明儿童形成了关于碗的定义概念。

5.根据马斯洛的需要层次理论,人类最高级的需要是自我实现,既是自己为自己所认可。

二、比较题(比较下述概念的异同,每题8分,共40分)1.态度与品德2.传递-接受程序与引导发现程序3.陈述性知识与程序性知识4.偶然学习与有意学习5.诊断性评价、形成性评价与总结性评价三、综合应用题(第一题10分,第2、3题各20分,第4题30分,共80分)1.什么是知觉学习?试列举四中促进知觉学习的技术,并举例说明。

2.分析布鲁姆和加涅的认知学习系统分类的异同?并举例说明它们对编写学习目标的知道作用?3.在进行教学设计的过程中,常常需要考虑煤体的使用,如果要求你向学生介绍“计算机的基本组成”,你会选择使用哪些煤体?陈述你的选择理由。

4.目前,在小学、初中与高中开设的《信息技术》课程中,都有“用计算机制作多媒体作品”这一内容,如果要求你为三个不同阶段的学生进行学习活动的设计,你将如何考虑?请写出你的设计简案。

2006年硕士研究生招生入学考试初试试题一、辨析题(判断下列描述的正误,并说明理由,每题6分,共30分):1、认知主义理论学派认为,学习是人的倾向或能力的变化,但这种变化要能保持一定时期,且不能单纯归因于生长过程,学习的实质是内在能力或倾向的变化。

2010江苏省数据结构基础试题及答案

2010江苏省数据结构基础试题及答案

31、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
32、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
4、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
5、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
13、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址பைடு நூலகம்间,则a85的地址为( B )。
A)13 B)33 C)18 D)40
14、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
11、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
36、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
37、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
D)Head(Tail(Head(Tail(Tail(L)))))

南京师范大学2010-2019教育综合333真题

南京师范大学2010-2019教育综合333真题

南京师范大学2010年南师大333教育综合真题一、名词解释1、课程2、最近发展区3、自我提高驱动力4、终身教育5、自我效能6、苏格拉底法7、赫尔巴特的四段教学法二、简答题1、简述《学记》在教学思想上的贡献。

2、道德教育如何与生活相联系。

3、简述班级授课制及其改革。

4、简述校本课程开发的特征、优势、不足及思考。

三、论述题1、结合你自己的教育、教学实践,谈谈教育与人身心发展的关系。

2、皮亚杰的认知发展阶段理论及其对学校教育的启示。

3、试论唐代科举制度的作用及其影响。

4、评述杜威的实用主义教育理论。

一、名词解释1、中体西用2、教育3、班级授课制4、道尔顿制5、问题解决(认知心理学的观点)6、学习动机二、简答题1、谈谈如何认识教师开展行动研究的意义及行动研究的步骤。

2、论述当代学制改革的趋势。

3、简述“六艺”教育及其对当代教育改革的意义。

4、试述卢梭的自然主义教育及其意义。

三、论述题1、评述19世纪末20世纪初,欧美教育和进步主义教育思潮的共同特征、意义及其局限。

2、评述陶行知的生活教育理论。

3、论述师生关系的历史婚变,并结合自己的经验谈谈你对这一问题的认识。

4、结合中学生的时代特点谈谈你对目前基础教育的理解。

一、名词解释1、教学目标2、学校教育3、“六艺”教育4、苏格拉底法5、道德情感二、简答题1、简述德育的途径2、蔡元培的“五育并举”3、人文主义教育的特征4、布鲁纳发现学习的步骤三、论述题1、论述教育的社会功能。

2、试论述陈鹤琴的“活教育”。

3、杜威的教育思想。

4、结合实际,论述激发学习动机的方法。

一、名词解释1、活动课程2、教学3、化性起伪4、道尔顿制5、最近发展区6、信度与效度二、判断并说明理由1、“教育先行”是20世纪现代社会的新现象,它意味着教育发展必须先于社会的物质发展。

2、在学习方式上,课程改革反对接受学习,主张以自主、合作、探究的方式取代接受学习。

3、卢梭认为事物的教育和自然的教育都要服从于人的教育.三、简答题1、简述个人本位论2、简述价值澄清模式3、简述我国新课程改革的基本理念4、简述要素主义教育思想的基本观点四、论述题1、品德及其构成要素是什么?如何根据品德的要素进行道德教育?2、有人说,过去要求教育嫁给政治是错误的,现在要求教育嫁给经济也是片面的。

数据结构考研题库

数据结构考研题库

数据结构考研题库一、单选题1. 在数据结构中,下列哪个不属于线性表的存储结构?A. 顺序存储结构B. 链式存储结构C. 栈存储结构D. 树存储结构答案:D解析:线性表的存储结构包括顺序存储结构和链式存储结构,栈也是线性结构,因此选项C是线性表的一种存储结构。

树存储结构不属于线性表的存储结构。

2. 以下哪种排序算法的时间复杂度是O(nlogn)?A. 冒泡排序B. 插入排序C. 快速排序D. 堆排序答案:C解析:快速排序的时间复杂度是O(nlogn),而冒泡排序和插入排序的时间复杂度是O(n^2),堆排序的时间复杂度是O(nlogn)。

3. 在二叉树中,如果节点的度为2,那么该节点称为:A. 叶子节点B. 根节点C. 内部节点D. 空节点答案:C解析:节点的度是指该节点拥有的子树数目,度为2的节点称为内部节点。

叶子节点的度为0,根节点的度可以是任意数目。

4. 在哈希表中,通过关键字直接计算出数据元素存储地址的方法称为:A. 散列函数B. 哈希函数C. 转换函数D. 映射函数答案:A解析:哈希表中通过关键字计算存储地址的方法称为散列函数。

5. 图的存储结构有以下几种,不包括哪种?A. 邻接矩阵B. 邻接表C. 逆邻接矩阵D. 十字链表答案:C解析:图的存储结构包括邻接矩阵、邻接表、十字链表等,逆邻接矩阵不是图的存储结构。

二、填空题1. 在二叉树中,节点的度是指节点拥有的 __1__ 数目。

答案:子树2. 在散列表中,发生多个关键字映射到同一个存储地址的现象称为冲突,解决冲突的方法有 __2__ 和 __3__。

答案:开放地址法,链地址法3. 在树中,从根节点到叶子节点的路径上的节点数目称为树的__4__。

答案:高度4. 在图的深度优先搜索算法中,使用 __5__ 来记录已访问过的节点。

答案:栈5. 快速排序算法的平均时间复杂度为O(__6__)。

答案:nlogn三、简答题1. 请简要说明线性表的顺序存储结构和链式存储结构的特点及其适用场景。

2010年南京师范大学数据结构考研真题

2010年南京师范大学数据结构考研真题

1、给出年、月、日,计算该日是该年的第几天。

(本题15分)#include<stdio.h>Int get_days_of_month(int year,int month){if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) return31;else if(month==2)if(year%400==0|| (year%4==0&& year%100!=0))return29;elsereturn28;elsereturn30;}Void main(){int i,year,month,day,sum=0,flag=1;while(flag){printf("please input the date(for example:2005,6,9):");scanf("%d,%d,%d",&year,&month,&day);if(year>0)if(month>=1&& month<=12)if(day>=1&& day<=get_days_of_month(year,month))flag = 0;}for(i=1;i<month;i++){sum +=get_days_of_month(year,i);}sum += day;printf("The date is %d day.\n",sum);}2、有几个学生,每个学生考m门课,要求编一函数,能检查n个学生有无不及格的课程,如果有某一学生有一门或一门以上课程不及格,就输出该学生的学号(学号从0开始)和其全部课程成绩。

(本题15分)#include<stdio.h>#define N 100void main(){Int a[N][N];int i,j,m,n,flag;printf("please input the number of students:");printf("please input the number of courses:");scanf("%d",&m);for(i=0;i<n;i++){printf("please input No.%d scores:",i);for(j=0;j<m;j++)scanf("%d",&a[i][j]);}printf("students who have failed their courses as follows:");for(i=0;i<n;i++){flag = 0;for(j=0;j<m;j++){if(a[i][j]<60){flag=1;break;}}if(flag){printf("No.%d ",i);for(j=0;j<m;j++)printf("%d ",a[i][j]);}printf("\n");}}3、用二分法求方程“(2*X^3)-(4*x^2)+(3*x)-6 = 0”在(-10,10)之间的根。

南京师范大学考研真题清单

南京师范大学考研真题清单

南京师范大学考研真题清单611汉语综合2017When you are old and grey and full of sleep, And nodding by the fire, take down this book, And slowly read, and dream of the soft look Your eyes had once, and of their shadows deep; How many loved your moments of glad grace, And loved your beauty with love false or true, But one man loved the pilgrim soul in you,And loved the sorrows of your changing face;And bending down beside the glowing bars, Murmur, a little sadly, how love fledAnd paced upon the mountains overhead And hid his face amid a crowd of stars.The furthest distance in the worldIs not between life and deathBut when I stand in front of youYet you don't know thatI love you.The furthest distance in the worldIs not when I stand in front of youYet you can't see my loveBut when undoubtedly knowing the love from both Yet cannot be together.The furthest distance in the worldIs not being apart while being in loveBut when I plainly cannot resist the yearningYet pretending you have never been in my heart. The furthest distance in the worldIs not struggling against the tidesBut using one's indifferent heartTo dig an uncrossable riverFor the one who loves you.倚窗远眺,目光目光尽处必有一座山,那影影绰绰的黛绿色的影,是春天的颜色。

数据结构10年考研试题及答案(整理)

数据结构10年考研试题及答案(整理)

数据结构考试重点及部分答案自己做的答案不是很正确如果有问题请联系后面的大题不知道原题,所以不知道怎么做见谅!!!题型和分值选择题:15*2=30填空题:10*2=20解答题:5*4=20算法阅读题:5*4=20算法设计题:101 栈的进栈、出栈函数顺序,求一个表达式的顺序eg:进栈顺序是123 计算POP(S)+2 POP(S) =3+2*2=72 给定二叉排序树的数据求平均查找长度Eg:已知长度为9的表{16 ,3 ,7 ,11 ,9 ,26,18,14,15},建立二叉顺序树后进行查找,则等概率的情况下查找成功的平均查找长度为()二叉排序树(Binary Sort Tree)又称二叉查找树。

它或者是一棵空树;或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;根据上述性质,按照给出的表,建立的树如下图:(旁边的数表示查找长度)平均查找长度为:(1+2+2+3+3+4+5+5+6)/9 = 31/93树的概念树是n(n>=0)个结点的有限集4 二重循环的平均时间复杂度的求解(使用嵌套、统计次数)时间复杂度:该算法的运行时间与问题规模的对应关系,时间复杂度用T(n)=O(f(n))来表示Eg:S=0for(i=1;i<=n;i++)for(j=1;j<=m;j++)s=s+1答案为0(n*m)求解算法复杂度时:1、首先确定核心操作。

很显然此算法中,核心的操作是s=s+1;2.这个算法中,存在两重循环。

第一重循环n次,第二重循环m次,总共执行核心操作n*m次。

3.确定此算法的时间复杂度为:O (n*m)若复杂度为 O (n*n),则算法可以是如下的样子:S=0for(i=1;i<=n;i++)for(j=1;j<=n;j++)s=s+15 单链表中R是P的前驱,在P Q之间插入S,则则如何插入(语句表示)在相邻元素R、P之间插入一个值为X的数据元素的基本操作步骤:(1)生成一个数据域值为X的结点S(2)使X结点的指针域指向结点P:S->next=P->next(3)修改R结点的指针域指向结点X:P->next=S6 已知顺序表,求查找X的平均查找长度(n+1)/27栈的插入和删除的位置栈顶8 已知入队序列求出队序列原则:先进先出9 在图中,所有度数和等于边的几倍两倍10 邻接矩阵中行和列分别表示什么意思无向图邻接矩阵的第i行(或第i列)非零元素的个数正好是第i个顶点的度。

全国2010年10月自考数据结构真题及答案

全国2010年10月自考数据结构真题及答案

请画出该二叉树对应的森林。 29.请回答下列问题: (1)英文缩写DAG的中文含义是什么? (2)请给出下面DAG图的全部拓扑排序。
四、算法阅读题(本大题共4小题,每小题5分,共20分) 30.已知线性表(a1,a2,a3...,an)按顺序存放在数组a中,每个元素均为整数,下列程序的功能是将所有
自考乐园,自考学习交流、资料共享的好去处!自考乐园,自考人自己的家园.... 俱乐进入俱乐部
20.用5个权值{3, 2,4,5,1}构造的哈夫曼(Huffman)树的带权路径长度是___________。 21.若无向图G中有n个顶点m条边,采用邻接矩阵存储,则该矩阵中非0元素的个数为___________。 22.影响排序效率的两个因素是关键字的___________次数和记录的移动次数。 23.对任一m阶的B树,每个结点中最多包含___________个关键字。 24.若两个关键字通过散列函数映射到同一个散列地址,这种现象称为___________。
Info otherinfo; }SeqList; void InsertSort(SeqList R[],int n)
{/* 待排序列保存在R[1..n]中*/ SeqList x; int i,j,k,lo,hi,mi; for (i=2;i<=n;i++) { (1) lo=1; hi=i-l; while { mi=(lo+hi)/2; if ( (2) ) break; hi=mi-l; (lo<=hi) ;
15.若需高效地查询多关键字文件,可以采用的文件组织方式为( A.顺序文件 C.散列文件 B.索引文件 D.倒排文件
)
二、填空题(本大题共10小题,每小题2分,共20分) 请每小题的空格中填上正确答案。错填、不填均无分。 16.下面程序段的时间复杂度为___________。 sum=1; for(i=0;sum<n;i++) sum+=1; 17.已知链表结点定义如下: typedef struct node{

《数据结构》历年考研真题及解答

《数据结构》历年考研真题及解答

《数据结构》考研真题及解答目录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 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。

2010年硕士研究生入学考试数据结构与C语言程序设计(993)试题与答案

2010年硕士研究生入学考试数据结构与C语言程序设计(993)试题与答案

2.对于采用链式存储结构的队列,在进行删除操作时 。
A.只需修改队头指针
B.只需修改队尾指针
C.队头指针和队尾指针都需要修改
D.队头指针和队尾指针都可能需要修改
3.将中缀表达式转换为等价的后缀表达式的过程中要利用堆栈保存运算符。对于中缀表达式
A-(B+C/D)×E,当扫描读到操作数 E 时,堆栈中保存的运算符依次是 。
2010 年硕士研究生入学考试
数据结构与 C 语言程序设计(993) 试题与答案
一、单项选择题(本题共 20 分,每小题各 2 分)
1.已知双向循环链表的结点构造为 llink data rlink ,在链表中由指针 q 所指结点的后 面插入指针为 p 的结点的过程是依次执行 。
A.p->llink=q; p->rlink=q->rlink; q->rlink=p; q->llink=p; B.p->llink=q; p->rlink=q->rlink; q->rlink=p; q->rlink->llink=p; C.p->llink=q; p->rlink=q->rlink; q->rlink=p; p->rlink->llink=p; D.p->llink=q; p->rlink=q->rlink; q->rlink=p; p->llink->llink=p;
i=f(2); j=f(1+1); printf(“%d %d\n”,i,j); }
4.下列程序的运行结果是 。 #include <stdio.h> void main( ) { FILE *fp;

830数据结构2010-2016真题答案(有错)

830数据结构2010-2016真题答案(有错)

2 010参考答案一、 选择题1 1 1 .B 2.A 3.C 4.A 5.D 6.A 7.B 8.A 9.C 10.C1.B 12.C 13.A 14.C 15.B 16.D 17.D 18.D 19.A 20.A5 解释:线索二叉树中某结点是否有左孩子,不能通过左指针域是否为空来判 断,而要判断左标志是否为 1。

二、 填空题1 2 3 .归并排序。

. 能否将关键字均匀影射到哈希空间上.一端 先进后出有无好的解决冲突的方法4 5 6 7 8 9 . 顺序存储或链式存储 (1+n )/2.从任意节点出发都能访问到整个链表.时间 空间.n-1 n(n-1)/2.2n-1.n n三、 判断题 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 .F.F 非空才成立.F 有向的非强连通图,不成立.T.F 表头没有前驱,表尾没有后序.T.F 先序跟后序不行,中序才行.T.F 不可能0.T1.F2.T3.F4.F5.F四、 应用题1 .逻辑结构是从操作对象抽象出来的数学模型,结构定义中的“关系”描述的 是数据元素之间的逻辑关系;物理结构是数据结构在计算机中的表示(又称 映像),又称存储结构。

物理结构是指数据具体存放在哪个位置,逻辑结构是 指数据跟数据间是怎样联系的2 3.由 AOV 网构造拓扑序列的拓扑排序算法主要是循环执行以下两步,直到不存 在入度为 0的顶点为止。

(1) 选择一个入度为 0的顶点并输出之;(2) 从网 中删除此顶点及所有出边。

拓扑序列 1:abcdef 拓扑序列 2:adbcef.二叉树图如下:4 5 .略。

已经不纳入考纲.哈夫曼编码问题编码: 3: 000020: 10 10: 0001 22: 11 18: 001 37: 016.二叉排序树问题比根节点小的往左子树插,大的往右子树插。

图如下:删除50有两种做法:《数据结构》中的解析这里我用第二种做法:五.算法设计题1 & .算法填空(L.elem[i-1]) L.length-1 ++p *p L.length-1;2. 设计算法: 输入 n 个元素的值 创建带头结点的单链线性表 L 。

南京师范大学C语言程序设计(含数据结构)考研真题2005-2010,2012,2014-2015历年真题汇编

南京师范大学C语言程序设计(含数据结构)考研真题2005-2010,2012,2014-2015历年真题汇编

7. 试编写程序,文件 A.txt 中存储了 N 个整数( N 大于 100 万), 要求仅占用 4K 内存,对该文件中的整数进行排序,并将结果输出 到 B.txt 文件中。( 25 分) 8. 试编写程序:对给定的区域图找出所有可能的不超过四中颜色的 着色方案。 即验证四色定理的有效性。 四色定理是指出任何平面 区域图均可以用四中颜色着色,使相邻区域有着不同的颜色。 程 序中用 1~4 编号表示四种颜色,用 0~N-1 编号表示着色的 N 个区 域。( 25 分)
1. 编写程序,使用递归方法找出链表中的最大元素。( 15 分) 2. 编写程序,使用 KMP 算法实现子串 t 在主串中的定位。( 15 分) 3. 编写程序,计算由 N 个点构成的简单多边形的面积。注意: 不 考虑可能存在的边自相交以及其他复杂情况。( 15 分) 4. 编写程序,判断一个正整数是否为对称数(例如 11,121,1221). 注意不允许调用 c 语言库函数中的字符串转换等相关函数(15 分) 5. 试证明: 已知一颗二叉树的前序序列和中序序列,可唯一确定该 二叉树。( 20 分) 6. 试证明: 求最短路径的 Dijkstra 算法的正确性。( 20 分)
南京师范大学
硕士研究生入学考试初试试题
2015 年 C 语言程序设计考研真题
(地信专业考研真题见第言程序设计(含数据结构)
第1页共1页
南京师范大学
2015 年硕士研究生入学考试初试试题
科目名称及代码 : 648C 语言程序设计( 含数据结构) 满分(150 分)
科目名称:648C 语言程序设计(含数据结构)
第1页共1页

南京师范大学GIS历年真题及答案

南京师范大学GIS历年真题及答案

GIS遥感地理学全国考研中心,由GIS、遥感、地理学几个学长创办,专业为大家提供地学考研全套资料。

用我们的劳动节省你复习的时间,用我们的知识提高你专业课的复习,用我们的人脉提供给你最详实的资料,用我们的经历告诉你怎样走过考研全过程。

欢迎大家一起交流。

淘宝:;拍拍:/771843105。

下为我们整理的南京师范大学GIS考研手册的目录。

目录序言 ................................................................................................................ 错误!未定义书签。

一、学长眼中的地理科学学院..................................................................... 错误!未定义书签。

1、学院实力........................................................................................... 错误!未定义书签。

2、研究生生活....................................................................................... 错误!未定义书签。

3、就业情况........................................................................................... 错误!未定义书签。

二、招录情况介绍......................................................................................... 错误!未定义书签。

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

1、给出年、月、日,计算该日是该年的第几天。

(本题15分)#include<stdio.h>Int get_days_of_month(int year,int month){if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) return31;else if(month==2)if(year%400==0|| (year%4==0&& year%100!=0))return29;elsereturn28;elsereturn30;}Void main(){int i,year,month,day,sum=0,flag=1;while(flag){printf("please input the date(for example:2005,6,9):");scanf("%d,%d,%d",&year,&month,&day);if(year>0)if(month>=1&& month<=12)if(day>=1&& day<=get_days_of_month(year,month))flag = 0;}for(i=1;i<month;i++){sum +=get_days_of_month(year,i);}sum += day;printf("The date is %d day.\n",sum);}2、有几个学生,每个学生考m门课,要求编一函数,能检查n个学生有无不及格的课程,如果有某一学生有一门或一门以上课程不及格,就输出该学生的学号(学号从0开始)和其全部课程成绩。

(本题15分)#include<stdio.h>#define N 100void main(){Int a[N][N];int i,j,m,n,flag;printf("please input the number of students:");scanf("%d",&n);printf("please input the number of courses:");scanf("%d",&m);for(i=0;i<n;i++){printf("please input No.%d scores:",i);for(j=0;j<m;j++)scanf("%d",&a[i][j]);}printf("students who have failed their courses as follows:");for(i=0;i<n;i++){flag = 0;for(j=0;j<m;j++){if(a[i][j]<60){flag=1;break;}}if(flag){printf("No.%d ",i);for(j=0;j<m;j++)printf("%d ",a[i][j]);}printf("\n");}}3、用二分法求方程“(2*X^3)-(4*x^2)+(3*x)-6 = 0”在(-10,10)之间的根。

(本题20分)#include<stdio.h>#include<math.h>float getresult(float x){return(2*x*x*x - 4*x*x + 3*x -6);}void main(){float x0,x1,x2,y0,y1,y2;do{printf("please input x1 and x2:");scanf("%f,%f",&x1,&x2);y1 = getresult(x1);y2 = getresult(x2);}while(y1*y2>0);do{x0 = (x1+x2)/2;y0 = getresult(x0);if(y0*y1>0)x1 = x0;else x2 = x0;}while(fabs(y0)>1e-5);printf("The root is %f.\n",x0);}4、请写出判断“点是否在简单多边形内部”的算法。

(本题20分)解题思路:如果一个点在一个多边形内,那么从该点向上、向下、向左、向右都应与简单多边有交点,点在某一条边上算在多边形内。

#include<stdio.h>#define N 10typedef struct Node{float x;float y;}XYNode,Nodes[N+1];void main(){int i,up=0,down=0,left=0,right=0;int x0,x1,x2,y0,y1,y2;char flag = 'Y';XYNode point;Nodes a;for(i=0;i<N;i++){printf("please input the %dst coordinate:",i+1);scanf("%f,%f",&a[i].x,&a[i].y);}a[N].x = a[0].x; //使起点和终点的坐标相同a[N].y = a[0].y;while(flag!='n' && flag !='N'){printf("Now, please input the Point's coordinate:");scanf("%f,%f",&point.x,&point.y);for(i=0;i<N;i++){if((a[i].x>point.x && a[i+1].x<=point.x)||(a[i].x<point.x && a[i+1].x>=point.x)){x1 = a[i].x;y1 = a[i].y;x2 = a[i+1].x;y2 = a[i+1].y;x0 = point.x;y0 = (y1-y2)*(x0-x1)/(x1-x2) + y1;if(y0==point.y){up =1; down = 1; left = 1; right = 1;break;}else if(y0>point.y)up = 1;else down = 1;}//ifif((a[i].y>point.y && a[i+1].y<=point.y)||(a[i].y<point.y && a[i+1].y>=point.y)){x1 = a[i].x;y1 = a[i].y;x2 = a[i+1].x;y2 = a[i+1].y;y0 = point.y;x0 = (x1-x2)*(y0-y1)/(y1-y2) + x1;if(x0==point.x){up =1; down = 1; left = 1; right = 1;break;}else if(x0>point.y)right = 1;else left = 1;}//if}//forif(up && down && left && right)printf("Yes,the point is in the polygon.\n");else printf("No,the point is not in the polygon.\n");while(getchar()!='\n'); //接收多余的字符printf("would you like to go on?<Y/N>");flag = getchar(); //flag只接收第一个字符while(getchar()!='\n'); //接收多余的字符}//while}5、从平均时间、最坏情况,辅助存储和稳定性的角度,对各种内部排序方法进行比较。

(建议用表格方式进行比较,本题20分)严蔚敏数据结构289页6、定义一个双向循环链表,并写出其定位、插入和删除算法。

(本题20分)#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0typedef int Status;typedef int ElemType;typedef struct DuLNode{ElemType data;struct DuLNode *prior;struct DuLNode *next;}DuLNode,*DuLinkList;Status GetElem_DuL(DuLinkList L,int i,ElemType *e){int j = 1;DuLNode *p;p = L->next;while(p!=L && j<i){p = p->next;j++;}if(p==L || j!=i)return ERROR;*e = p->data;return OK;}Status ListInsert_DuL(DuLinkList &L,int i,ElemType e){//在带头结点的双链循环链表L中第i个位置之前插入元素e//i的合法位置为1<=i<=表长+1int j;DuLNode *p,*s;if(i<1) //如果i的值小于1,则返回错误return ERROR;j = 1;p = L->next;while(p!= L && j<i){p = p->next;j++;}if(j<i)return ERROR;if(!(s = (DuLNode *)malloc(sizeof(DuLNode))))return ERROR;s->data = e;s->prior = p->prior;p->prior->next = s;s->next = p;p->prior = s;return OK;}Status ListDelete_DuL(DuLinkList &L,int i,ElemType *e){//删除带头结点的双链循环线性表L的第i个元素,i的合法位置为1<=i<=表长int j;DuLNode *p;if(i<1)return ERROR;j = 1;p = L->next;while(p!=L && j<i){p = p->next;j++;}if(p==L)return ERROR;*e = p->data;p->prior->next = p->next;p->next->prior = p->prior;free(p);return OK;}void print(DuLinkList L){DuLNode *p;p = L->next;while(p!=L){printf("%d ",p->data);p = p->next;}printf("\n");}void main(){int i;ElemType e;DuLinkList L;if(!(L=(DuLNode *)malloc(sizeof(DuLNode))))exit(0);L->next = L;L->prior = L;for(i=1;i<10;i++){e = (ElemType)i;if(!(ListInsert_DuL(L,i,e)))printf("No.%d is wrong!\n",i);}print(L);ListInsert_DuL(L,5,(ElemType)10);print(L);ListDelete_DuL(L,1,&e);print(L);printf("please input a number:");scanf("%d",&i);if(GetElem_DuL(L,i,&e))printf("L[%d]=%d\n",i,e);else printf("%d is illegal!\n",i);}7、编制一个程序以模拟银行窗口接待客户的排队业务活动(每个窗口在某个时刻只能接待一个客户;窗口空闲,则可上前办理业务;窗口均被占,则新客户便会排在人数最少的队伍前面),并计算一天中客户在银行逗留的平均时间。

相关文档
最新文档