2019 北京交通大学 925《数据结构》 考试大纲

合集下载

【精选资料】北京交通大学数据结构与算法期末考试参考答案

【精选资料】北京交通大学数据结构与算法期末考试参考答案

北京交通大学考试试题(A卷)课程名称:数据结构与算法2011-2012学年第一学期出题教师:张勇(请考生注意:(1)本试卷共有六道大题,(2)答案一律写在答题纸上,(3)试卷不得带出考场)一、填空题(每空2分,共20分)1. 在顺序表中访问任意一个元素的时间复杂度均为,因此顺序表也称为的数据结构。

2.三维数组a[4][3][2](下标从0开始),假设a[0][0][0]的地址为50,数据以行序优先方式存储,每个元素的长度为2字节,则a[2][1][1]的地址是。

3. 直接插入排序用监视哨的作用是。

4. 已知广义表Ls=(a, (b, c), (d, e)), 运用head和tail函数取出Ls中的原子d的运算是。

5.对有14个元素的有序表A[1..14]进行折半查找,当比较到A[4]时算法结束。

被比较元素除A[4]外,还有。

6. 在AOV网中,顶点表示,边表示。

7. 有向图G可进行拓扑排序的判别条件是。

8. 若串S1=‘ABCDEFGHIJK’,S2=‘451223’,S3=‘####’,则执行Substring(S1,Strlength(S3),Index(S2,‘12’,1))的结果是。

二、选择题(每空2分,共20分)1.在下列存储形式中,哪一个不是树的存储形式?()A.双亲表示法B.孩子链表表示法C.孩子兄弟表示法D.顺序存储表示法2.查找n个元素的有序表时,最有效的查找方法是()。

A.顺序查找B.分块查找C.折半查找D.二叉查找3.将所示的s所指结点加到p所指结点之后,其语句应为()。

p(A) s->next=p+1 ; p->next=s;(B) (*p).next=s; (*s).next=(*p).next; (C) s->next=p->next ; p->next=s->next; (D) s->next=p->next ; p->next=s;4.在有向图的邻接表存储结构中,顶点v 在链表中出现的次数是( )。

数据结构科目考研大纲

数据结构科目考研大纲

数据结构科目考研大纲
数据结构是计算机科学与技术专业考研的重要科目之一,其大纲主要包括以下内容:
一、基本概念。

1. 数据结构的基本概念和术语。

2. 算法的基本概念和特性。

3. 算法复杂度分析。

二、线性表。

1. 线性表的顺序存储结构和链式存储结构。

2. 线性表的基本操作及实现。

3. 线性表的应用。

三、栈和队列。

1. 栈和队列的定义和基本操作。

2. 栈和队列的顺序存储结构和链式存储结构。

3. 栈和队列的应用。

四、树与二叉树。

1. 树的基本概念和性质。

2. 二叉树的基本概念和性质。

3. 二叉树的存储结构和基本操作。

4. 树和二叉树的遍历。

五、图。

1. 图的基本概念和性质。

2. 图的存储结构和基本操作。

3. 图的遍历和最小生成树。

4. 图的最短路径和拓扑排序。

六、查找。

1. 查找的基本概念和分类。

2. 顺序查找和折半查找。

3. 散列查找和二叉排序树。

七、排序。

1. 排序的基本概念和分类。

2. 插入排序、交换排序、选择排序。

3. 快速排序、堆排序、归并排序。

4. 外部排序。

以上是数据结构科目考研大纲的主要内容,考生在备考过程中需要深入理解各个知识点,并能够灵活应用到实际问题中。

希望对你有所帮助。

数据结构课程设计-2019版

数据结构课程设计-2019版

课程设计题目(2019版):(1-8题必做)1、系统进程统计(必做)(链表)[问题描述]设计一个程序,每秒统计一次当前系统的进程状况,并按照内存使用自多到少排序打印输出相关信息。

对已经结束的进程,另外给出一个列表,并显示该进程的结束时间和持续时间。

[基本要求](1)该题目要求使用两个链式线性表。

一个链表存储当前活动进程,要求使用双向链表,排序要求是按照内存使用自多到少排序。

另外一个链表存储已结束进程,要求使用单向链表,按照结束时间离当前时间的关系排序,最近的最前,最远的最后。

(2)每秒在窗口内更新一次当前系统进程情况,输出内容包括:进程名,持续时间,内存使用情况。

(3)每秒在窗口内更新一次已结束进程情况,输出内容包括:进程名,持续时间,结束时间。

(4)注意进程在这两个链表中的切换,一个进程既可被结束,也可以过一段时间后再被运行。

2、算术表达式求值(必做) (栈)[问题描述]一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。

假设操作数是正实数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#6+15*(21-8/4)#。

引入表达式起始、结束符是为了方便。

编程利用“运算符优先法”求算术表达式的值。

[基本要求](1)从键盘或文件读入一个合法的算术表达式,输出正确的结果。

(2)显示输入序列和栈的变化过程。

(3)考虑算法的健壮性,当表达式错误时,要给出错误原因的提示。

(4)实现非整数的处理(*)。

3、公共钥匙盒(必做)(线性表,栈,队列)[问题描述]有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。

每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。

钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。

一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。

819数据结构考研大纲2024

819数据结构考研大纲2024

819数据结构考研大纲2024数据结构是计算机科学与技术专业中一门重要的基础课程,它主要研究计算机中数据的组织、存储和管理方式,以及基本的数据操作和算法。

数据结构考研大纲旨在培养学生对数据结构的理解和应用能力,为其以后的研究和工作提供必要的基础。

根据2024年的数据结构考研大纲,该课程主要包括以下几个方面的内容:1.线性表:线性表是最基本的一种数据结构,它包括顺序表和链表两种形式。

顺序表是通过一段连续的存储空间来存储数据,链表使用指针将不连续的存储单元连接起来。

学生需要掌握线性表的存储结构、基本操作和常见应用。

2.栈和队列:栈是一种先进后出的数据结构,队列是一种先进先出的数据结构。

学生需要学习栈和队列的基本操作,以及它们在计算机系统中的应用,如操作系统的进程调度和内存管理。

3.树和二叉树:树是一种非线性的数据结构,它由节点和边组成,节点之间存在一对多的关系。

二叉树是一种特殊的树,每个节点最多有两个子节点。

学生需要学习树和二叉树的表示方法、遍历算法和常用的应用,如哈夫曼树和二叉查找树。

4.图:图是一种用于表示多对多关系的数据结构,它由节点和边组成。

学生需要学习图的存储结构、遍历算法和最短路径算法,如Dijkstra算法和Floyd-Warshall算法。

5.排序和查找算法:排序算法是将一组数据按照某种规则进行排序的算法,常见的排序算法有插入排序、冒泡排序和快速排序等。

查找算法是在给定数据集合中找到特定元素的算法,学生需要学习常见的查找算法,如顺序查找和二分查找。

6.文件存储结构:文件存储结构是将数据存储到硬盘上的一种方式,学生需要学习文件的组织方式,如顺序文件和索引文件,并了解文件的读写操作和常见的文件操作算法。

以上是2024年数据结构考研大纲的主要内容,通过学习这些知识,学生将能够掌握数据结构的基本理论和应用技巧,为以后的学习和工作打下坚实的基础。

数据结构是计算机科学与技术专业中一门重要的基础课程,对于学生的专业发展和职业发展具有重要意义。

902数据结构与C语言程序设计考研大纲

902数据结构与C语言程序设计考研大纲

902数据结构与C语言程序设计考研大纲902 数据结构与C语言程序设计考研大纲一、考试内容(一)数据结构1.线性表1)线性表的定义2)线性表的顺序存储和基本运算(查找、插入和删除)的实现3)线性表的链式存储和基本运算(查找、插入和删除)的实现4)线性表的应用2.栈、队列和矩阵1)栈和队列的定义2)栈和队列的实现(1)栈的顺序存储和基本操作(入栈、出栈和判栈空、栈满)的实现(2)栈的链式存储和基本操作(入栈、出栈和判栈空)的实现(3)队列的链式存储和基本操作(入队、出队和判队空)的实现(4)循环队列的定义和基本操作(入队、出队和判队空、队满)的实现3)栈和队列的应用4)矩阵的压缩存储(1)特殊矩阵(对称矩阵、三角矩阵、对角矩阵)的压缩存储(2)稀疏矩阵的压缩存储3.树与二叉树1)树的基本概念2)二叉树(1)二叉树的定义及性质(2)二叉树的顺序存储和链式存储(3)二叉树的先序、中序、后序遍历和层序遍历运算(4)线索二叉树的定义3)树和森林(1)树的存储结构(2)树(森林)与二叉树的相互转换(3)树和森林的遍历4)树与二叉树的应用(1)二叉查找树(Binary Search Tree)(2)平衡二叉树(Balanced Binary Tree 或Height-Balanced Tree或A VL Tree)(3)哈夫曼(Huffman)树和哈夫曼编码4.图1)图的基本概念2)图的存储(1)数组表示法(邻接矩阵表示法)(2)邻接表表示法3)图的遍历(1)深度优先搜索(DFS)算法(2)广度优先搜索(BFS)算法4)图的应用(1)最小(代价)生成树求解方法(Prim算法和Kruskal算法)(2)最短路径求解方法(Dijkstra算法和Floyd算法)(3)AOV-网和拓扑排序方法(4)AOE-网和关键路径求解方法5.查找1)查找的基本概念2)顺序查找法(1)顺序查找算法(2)平均查找长度计算3)折半查找法(1)折半查找算法(2)折半查找判定树的构造(3)平均查找长度计算4)动态查找表(1)二叉查找树(也称为二叉排序树)的构造及查找、插入和删除运算(2)平衡二叉树的构造及查找运算(3)B-树的特点及查找运算(4)平均查找长度计算5)哈希表(1)哈希表的构造及查找运算(2)平均查找长度计算6)字符串的模式匹配(1)基本的模式匹配算法(2)KMP模式匹配算法(模式串的next函数计算)6.内部排序1)简单排序方法(1)直接插入排序算法(2)冒泡排序算法(3)简单选择排序算法(4)简单排序算法的时间复杂度、空间复杂度及稳定性分析2)快速排序(1)划分过程及分析(2)快速排序算法及其时间复杂度、空间复杂度及稳定性分析3)堆排序(1)堆的定义及初始堆的建立(2)堆排序算法及其时间复杂度、空间复杂度及稳定性分析4)归并排序(1)归并过程及分析(2)二路归并排序算法的时间复杂度、空间复杂度及稳定性分析5)基数排序(1)多关键排序方法(2)链式基数排序方法及特点6)内部排序方法的比较和应用(二)C语言程序设计1. C语言基础(1)数据类型(基本类型和复合类型),常量与变量,运算符与表达式,类型转换;(2)关键字(保留字),用户定义标识符;(3)typedef,sizeof,static,extern,const。

814程序设计与数据结构考试大纲

814程序设计与数据结构考试大纲

814程序设计与数据结构考试大纲085211计算机技术专业一、考试目的本考试是全日制计算机技术专业学位研究生的入学资格考试之专业基础课,各语种考生统一用汉语答题。

各招生院校根据考生参加本考试的成绩和其他三门考试的成绩总分来选择参加第二轮,即复试的考生。

二、考试的性质与范围本考试是测试考生计算机科学基础知识的水平考试。

考试范围包括本大纲规定的C++语言程序设计和数据结构。

三、考试基本要求1. 具备扎实的C++语言程序设计基本功。

2. 具备设计数据结构和算法求解问题的基本能力。

四、考试形式本考试采取客观试题与主观试题相结合,单项技能测试与综合技能测试相结合的方法,强调考生设计数据结构和算法并编程实现来求解问题的能力。

试题分类参见“考试内容一览表”。

五、考试内容本考试包括两个部分:C++程序设计、数据结构。

总分150分。

I. C++程序设计1. 考试要求该部分要求考生对C++语言基本特性、面向对象程序设计方法和Visual C++编译器相关特性有很好的了解。

2. 题型选择题、读程序写出Visual C++下的执行结果、程序填空,共75分。

II. 数据结构1. 考试要求该部分要求考生掌握线性表(及其扩展:栈和FIFO队列)、树(包括基本的二叉树和堆、搜索树等特殊树结构)、图等基本数据结构及其上的操作;掌握二分搜索、Hash技术及搜索树等搜索方法;掌握选择、起泡、插入等简单排序算法,堆排序、快速排序、归并排序和谢尔(希尔)等快速排序算法,以及箱子、基数排序等非比较排序算法。

具备利用上述数据结构和算法以及设计新数据结构和算法来求解问题的能力。

2. 题型选择题、简答题、算法设计题,共75分。

要求考生用钢笔或圆珠笔做在答题卷上。

《程序设计与数据结构》考试内容一览表序号内容题型和题量时间(分钟)1 C++程序设计选择题、读程序写结果题、程序填空题2 数据结构选择题、简答题、算法设计题共计:180。

815C 与数据结构考试大纲

815C  与数据结构考试大纲

815 《C++与数据结构》考试大纲《C++与数据结构》之C++部分考试大纲一、考试目的本考试是全日制软件工程硕士学术学位研究生的入学资格考试之专业基础课,各语种考生统一用汉语答题。

各招生院校根据考生参加本考试的成绩和其他三门考试的成绩总分来选择参加第二轮,即复试的考生。

二、考试的范围以下是本科目的考试范围。

1. 数据封装1.1 对象占用内存大小;1.2 类的嵌套定义。

2. 存取控制2.1 public,private,friend关键字的含义及使用;2.2 将一个嵌套的类定义为友元;2.3 存取控制的应用。

3. 初始化和清理3.1 构造函数(及何时被调用);3.2析构函数(及何时被调用);3.3对象数组中对象的构造;3.4 默认构造函数。

4. 函数重载与默认参数4.1 函数名的重用;4.2 默认参数;4.3 类中的常量;4.4 初始化列表;4.5常量对象;4.6常量成员函数。

5. 内联函数以及名字控制5.1 内联函数;5.2 函数中的静态变量与对象;5.3构造与析构顺序;5.4名字空间。

6. 引用、复制构造函数以及运算符重载6.1 复制构造函数;6.2 默认复制构造函数;6.3 指向数据成员的指针;6.4 指向成员函数的指针;6.5 自动类型转换。

7. 继承与复合7.1 继承中的存取控制;7.2 构造、析构的调用顺序;7.3 私有继承;7.4 运算符重载与继承;7.5 upcasting。

8. 多态性与虚函数8.1 早/晚绑定;8.2 虚函数;8.3 多态性。

9. 模板9.1 类模板;9.2 函数模板;9.3 自动类型推断;9.4 模板特化;9.5 容器与迭代器。

三、考试基本要求1. 掌握C++的基本语法知识。

2. 综合运用C++解决一些基本问题的能力。

四、考试形式本考试包括两个部分:单项选择题、编程题。

I. 单项选择考试要求该部分考察考生对C++基本语法知识的掌握程度。

其中大部分选择题要求考生阅读一段程序,理解程序的执行过程,预测程序的输出结果。

计算机学院2020年自命题科目《数据结构》考试大纲

计算机学院2020年自命题科目《数据结构》考试大纲

计算机学院2020年自命题科目《数据结构》考试大纲一、考查目标1. 掌握数据结构及算法的基本概念、原理和方法。

2. 掌握数据逻辑结构、存储结构及建立其上数据基本操作实现,对基本算法能够进行相应时间和空间复杂度分析。

3. 运用数据结构原理和方法进行基本问题的分析求解,使用C或C++进行基本算法设计与实现。

二、考查内容1.数据结构与算法1.1 数据逻辑结构与存储结构1.2 数据类型与抽象数据类型1.3 算法概念及性质和时间及空间复杂度分析2.线性表2.1线性表概念和数据操作2.2线性表顺序与链式存储3. 栈、队列和数组3.1栈(1)栈概念与性质(2)栈的存储结构(3)栈的应用3.2队列(1)队列概念与性质(2)队列存储结构,循环队列(3)队列应用3.3矩阵(二维数组)(1)二维数组概念与存储(2)特殊矩阵压缩存储4. 二叉树与树4.1 二叉树(1)二叉树递归定义,特殊二叉树,基本性质(2)二叉树顺序和链式存储结构4.2 二叉树遍历4.3 线索二叉树基本概念和构造4.4 二叉树应用:二叉排序树,平衡二叉树,哈夫曼树与编码4.5 树与森林(1)树和森林概念及存储结构(2)树和森林遍历(3)树和森林与二叉树转换5.图5.1图相关概念性质:有向与无向图,邻接与连通,握手定理5.2图存储结构:邻接矩阵法,邻接表法5.3图的遍历:深度优先遍历,广度优先遍历5.4图的应用:最小生成树,最短路径,拓扑排序,关键路径6. 查找6.1查找基本概念,查找码与查找表,查找算法分析6.2 基于线性表查找:顺序查找法,二分查找法6.3 基于树表查找:二叉查找树6.4 基于散列表查找,冲突处理6.5 基于索引查找,B+树7.排序7.1排序基本概念,内排序与外排序,稳定性与算法分析7.2插入排序:直接插入排序,二分插入排序,表插入排序,希尔排序7.3交换排序:冒泡排序,快速排序7.4选择排序:直接选择排序,堆排序7.5 归并排序:二路归并排序7.6 各种(内)排序算法的比较未列出知识:广义表、B树、串(定义-已看及KMP算法)、基数排序、外部排序新增:握手定理(已在书上补充)、表插入排序。

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

2019年北京交通大学925《数据结构》考试大纲
1、绪论。

(1)掌握相关的基本概念,如数据结构、逻辑结构、存储结构、数据类型、抽象数据类型等;
(2)掌握算法设计的原则,掌握计算语句频度和估算算法时间复杂度和空间复杂度的方法;
(3)了解使用类C语言描述算法的方法。

2、线性表。

(1)掌握线性表的逻辑结构和存储结构;
(2)掌握线性表在顺序结构和链式结构上实现基本操作的方法;
(3)理解线性表两种存储结构的不同特点及其适用场合,会针对需求选用合适的存储结构解决实际问题;
(4)了解一元多项式的表示方法和基本运算的实现方法。

3、栈和队列。

(1)了解栈和队列的特点;
(2)掌握在两种存储结构上栈的基本操作的实现;
(3)掌握栈的各种应用,理解递归算法执行过程中栈状态的变化过程;(4)掌握循环队列和链队列的基本运算;
(5)会应用队列结构解决实际问题。

4、串。

(1)掌握串的基本运算的定义,了解利用基本运算来实现串的其它运算的方法;
(2)了解在顺序存储结构和在堆存储结构以及块链存储结构上实现串的各种操作的方法;
(3)理解KMP算法,掌握NEXT函数和改进NEXT函数的定义和计算。

5、数组和广义表。

(1)掌握数组在以行为主和以列为主的存储结构中的地址计算方法;(2)掌握矩阵压缩存储时的下标变换方法,了解以三元组表示稀疏矩阵的方法;
(3)理解广义表的定义及其存储结构,理解广义表的头尾和子表两种分析方法。

6、树和二叉树。

(1)熟练掌握二叉树的结构特点和性质,掌握二叉树各种存储结构及
构建方法;
(2)掌握按先序、中序、后序和层次次序遍历二叉树的算法,理解二叉树的线索化实质和方法;
(3)利用二叉树的遍历求解实际问题;
(3)掌握树的各种存储结构及其特点,掌握树的各种运算的实现算法;(4)掌握建立最优二叉树和哈夫曼编码的方法。

7、图。

(1)熟练掌握图的基本概念,会构建各种图的存储结构;
(2)掌握深度优先搜索遍历图和广度优先搜索遍历图的算法;
(3)灵活运用图的遍历算法求解各种路径问题,包括最小生成树﹑最短路径﹑拓扑排序﹑关键路径等。

8、查找。

(1)熟练掌握各种静态查找和动态查找算法,会计算查找成功时和失败时的平均查找长度;
(2)掌握二叉排序树的建立、插入和删除过程,掌握二叉平衡树的建立和旋转平衡方法;
(3)掌握B-树的建立、插入和删除结点的过程;
(4)熟练掌握哈希表的构造方法和处理冲突的方法。

9、排序。

(1)掌握各种排序算法,包括插入类、交换类、选择类、归并类排序及基数排序;
(2)能够对各种排序方法进行比较分析,如稳定性、时间和空间性能等,了解各种排序方法的特点和不同并灵活应用;
(3)理解外部排序的主要思想和过程。

相关文档
最新文档