南京大学数据结构(商琳)chapter1
- 格式:ppt
- 大小:351.50 KB
- 文档页数:52
南京林业大学2022年[数据结构]考研真题一.是非题判断下列各题是否正确,正确的在括号内打 “√”,错的打“×”。
每小题2分,共20分。
1.数据的逻辑结构独立于计算机,物理结构依赖于计算机。
()2.线性表、栈和队列的逻辑结构完全相同。
()3.顺序存储方式只能用于存储线性结构。
()4.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。
()5.先根遍历树和先序遍历与该树对应的二叉树,其结果不同。
()6.外部排序与外部设备的特性无关。
()7.不使用递归,也可以实现二叉树的先序、中序和后序遍历。
()8.在哈夫曼编码中,当两个字符出现的频率相同时,其编码也相同,对于这种情况应作特殊处理。
()9. 有回路的图不能进行拓扑排序。
()10. 二叉排序树的查找和折半查找的时间性能相同。
()二.单项选择题A.规则B.集合C.结构D.运算2.对于顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。
插入一个元素时大约要移动表中的______个元素。
A.n/2B.(n+1)/2C.(n-1)/2D.n3.线性表采用链式存储时,其地址______。
A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续与否均可以4.设有一个空栈,栈顶指针为1000H(十六进制,下同,且设每个入栈元素需要1个单位存储空间),现有输入序列为1,2,3,4,5,经过PUSH,PUSH ,POP,PUSH,POP,PUSH,POP,PUSH后,栈顶指针是______。
A.1002HB.1003HC.1004HD.1005H5.将有关二叉树的概念推广到三叉树,则一棵有244个结点的完全三叉树的高度是______。
A. 4 B.5C.6 D.76.数组A[0..5,0..6]的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是______。
2018年南京大学842数据结构、软件工程、操作系统和计算机网络考研真题(回忆版)赞个人品,趁热回忆下真题。
今年的题感觉和17年的难度差不多,数据结构依旧没有算法题(准备了那么多呀),除了软工题型也都是之前见过的题型,唯独操作系统的那个UNIX进程的那个,是期末试卷的一道选择题,当时看时就没懂,也就没印象了。
软工的题型一直很活,很少有原题,两道大题蒙着答的。
总的来讲都是比较基础的,有很多原题,期末试卷中那些难的题都没有考。
名词解释感觉重在理解名词的含义,没必要死背,考前各科整理了n多个名词解释,一直因为这个性价比最低的背不下来感到没谱,结果考试要么是比较简单的(如计网的),要么是压根就没整理到的(OS的就没整理到)。
PV算法的话感觉把课件上那几个都掌握了,也就没问题了(注:我是跨考的,有些语言描述可能不规范,望谅解)数据结构(45分)一、填空(3×5)1.一个t叉树,有n个叶子节点,s个非叶子节点,写出n和s的关系2.快速排序最坏情况下时间复杂度3.给出二叉树前序序列和中序序列,写出后序序列4.赫夫曼树,n个叶子节点,求总的节点个数5.一个平衡二叉树,加入一个关键字后,重新调整为平衡二叉树二、大题(10×3)1.对关键码序列{23,17,12,61,26,8,70,75,53},用堆排序方法进行排序,画出排序过程中所建的初始堆,以及输出前三个关键码过程的示意图。
(要求建立的堆为任一父母结点的关键码都小于其子女结点的关键码)2.请画出往下图的5阶B-树中插入一个关键码390后得到的B-树,以及再删除关键码100后得到的B-树。
3.按Dijkstra方法计算从顶点1到其它顶点的最短路径。
按路径递增顺序写出先后计算出的最短路径(包括起止点和途径各点)及该路径长度。
软件工程(45分)一、问答题(5×5)1.说明下工程和科学的区别(政治题走错片场了吧?)2.什么是集成测试,什么是单元测试,单元测试用例和集成测试用例有什么区别3.功能性需求和非功能性需求4.写出四个体系结构视角5.质量模型的可用性二、大题(10×2)1.一个购房评估系统,一个类中含有两个功能,一个是输入存款、月工资、月花销、想要购房面积……完后得出可以购房的面积和首付款,另一个功能是根据面积和首都得出一个各小区的的房价列表,供用户参考,问这种设计合理吗?不合理的话画出设计类图并写出类的定义(含属性和方法)2.一个计算税费的问题,根据什么一堆经济的指标什么印花税、公证费、契税、委托办理手续费、房屋买卖手续费啥的,计算出税费,各地的计算方法不同,要求能够灵活扩展,按照一种设计模式设计,画出设计类图并写出关键接口定义。
第1章绪论内容提要:◆数据结构研究的内容。
针对非数值计算的程序设计问题,研究计算机的操作对象以及它们之间的关系和操作。
数据结构涵盖的内容:◆基本概念:数据、数据元素、数据对象、数据结构、数据类型、抽象数据类型。
数据——所有能被计算机识别、存储和处理的符号的集合。
数据元素——是数据的基本单位,具有完整确定的实际意义。
数据对象——具有相同性质的数据元素的集合,是数据的一个子集。
数据结构——是相互之间存在一种或多种特定关系的数据元素的集合,表示为:Data_Structure=(D, R)数据类型——是一个值的集合和定义在该值上的一组操作的总称。
抽象数据类型——由用户定义的一个数学模型与定义在该模型上的一组操作,它由基本的数据类型构成。
◆算法的定义及五个特征。
算法——是对特定问题求解步骤的一种描述,它是指令的有限序列,是一系列输入转换为输出的计算步骤。
算法的基本特性:输入、输出、有穷性、确定性、可行性◆算法设计要求。
①正确性、②可读性、③健壮性、④效率与低存储量需求◆算法分析。
时间复杂度、空间复杂度、稳定性学习重点:◆数据结构的“三要素”:逻辑结构、物理(存储)结构及在这种结构上所定义的操作(运算)。
◆用计算语句频度来估算算法的时间复杂度。
第二章线性表内容提要:◆线性表的逻辑结构定义,对线性表定义的操作。
线性表的定义:用数据元素的有限序列表示◆线性表的存储结构:顺序存储结构和链式存储结构。
顺序存储定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
链式存储结构: 其结点在存储器中的位置是随意的,即逻辑上相邻的数据元素在物理上不一定相邻。
通过指针来实现!◆线性表的操作在两种存储结构中的实现。
数据结构的基本运算:修改、插入、删除、查找、排序1)修改——通过数组的下标便可访问某个特定元素并修改之。
核心语句:V[i]=x;顺序表修改操作的时间效率是O(1)2)插入——在线性表的第i个位置前插入一个元素实现步骤:①将第n至第i 位的元素向后移动一个位置;②将要插入的元素写到第i个位置;③表长加1。
2015.3目录第1章绪论 (1)第2章线性表 (5)363345第1章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
录),其他的结点则各有一个也只有一个直接前趋和直接后继。
学生记录之间的这种关系就确定了学生表的逻辑结构,即线性结构。
这些学生记录在计算机中的存储表示就是存储结构。
如果用连续的存储单元(如用数组表示)来存放这些记录,则称为顺序存储结构;如果存储单元不连续,而是随机存放各个记录,然后用指针进行链接,则称为链式存储结构。
即相同的逻辑结构,可以对应不同的存储结构。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
答案:(1)集合结构数据元素之间除了“属于同一集合”的关系外,别无其他关系。
例如,确定一名学生是否为班级成员,只需将班级看做一个集合结构。
(2)线性结构数据元素之间存在一对一的关系。
例如,将学生信息数据按照其入学报到的时间先后顺其中树结构和图结构都属于非线性结构。
四类基本逻辑结构关系图4.存储结构由哪两种基本的存储方法实现?答案:(1)顺序存储结构顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
(2)链式存储结构顺序存储结构要求所有的元素依次存放在一片连续的存储空间中,而链式存储结构,无需占用一整块存储空间。
但为了表示结点之间的关系,需要给每个结点附加指针字段,用于存放后继元素的存储地址。
所以链式存储结构通常借助于程序设计语言的指针类型来描述。
5.选择题(1)在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构答案:C(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A.存储结构 B.存储实现C.逻辑结构 D.运算实现答案:C(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;答案:O(1)解释:程序的执行次数为常数阶。