第三部分数据结构[专业课考试3]

考试题型:问答、分析、编程(廖老师:可用自己熟悉的程序语言、伪代码均可)

总分:60分

一、栈(Stack)、队列(Queue)和向量(Vector)

内容:

单链表,双向链表,环形链表,带哨兵节点的链表;

栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归;

队列的基本概念和性质,队列ADT及其顺序,链接实现;队列的应用;

向量基本概念和性质;向量ADT及其数组、链接实现;

二、树

内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历;

二叉树及其性质;普通树与二叉树的转换;

树的存储结构,标准形式;完全树(complete tree)的数组形式存储;

树的应用,Huffman树的定义与应用;

三、查找(search)

内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找;

Hash查找法,常见的Hash函数(直接定址法,随机数法),hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象;

BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;

平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念;

优先队列与堆,堆的定义,堆的生成,调整算法;范围查询;

四、排序

内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及基本的时间复杂度分析

五、图

内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念,Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序。

时间: 2024-11-08 23:19:35

第三部分数据结构[专业课考试3]的相关文章

数据结构技能考试系统

通过一个月的努力,终于把数据结构技能考试系统用C++的语言实现(其中有C语言的穿插),系统的最大优点是可以检测学生答题时是否插入了U盘,打开了word及记事本等辅助工具.此系统分为两部分,一部分是学生端,一部分是教师端. 学生端主要是学生输入学号及姓名(对此进行检测),根据学号的后四位对应的ASCII码模8求值,达到抽题的效果(也可适当改进改为IP读题),在题库中抽取两道题,随机答一道题即可,在完成作答后选择所作的试题,避免了选题后不会做的情况.抽题时显示倒计时,时间为60分钟,如若超时,允许的

Python学习(三)数据结构

Python 数据结构 本章介绍 Python 主要的 built-type,包括如下: Numeric types          int float Text Sequence Type       str Boolean              bool Sequence  Types        list tuple range Mapping Types          dict Set Types             set type() 函数 type(object)

算法导论学习(三)——数据结构

数据结构中字典(dictionary)的概念:支持在一个集合中插入和删除元素以及测试元素是否属于集合的操作的动态集合被称为字典. 动态集合假定对象中的一个属性被标识为关键字(key),对象可能包含卫星数据,它们与其他对象属性一起移动. 一.基本数据结构 1 栈和队列 栈(stack):后进先出(LIFO) 队列(queue):先进先出(FIFO) 栈顶指向最近被推入栈的元素的位置. 栈判空(时间复杂度O(1)): STACK-EMPTY(S) if S.top==0 return TRUE el

研究生专业课考试题目

数据结构实做题目: 第一题: 一棵度为m的树,度位1的有n1个度为2的有n2个...度为m的有Nm个 求叶子的个数并给出计算公式. 第二题: 给出一个数字序列:23 45 12 78 96  46 78 21 98 31. 建立一颗二叉平衡树,写出每次插入后的状态. 第三题: 给出一个有序序列: 2 5 7 12 23 34 45 56 79 87 96 给出查找45的步骤并求出平均查找长度 第四题: 给出一颗树的先序和中序遍历,重建一颗二叉树 (1)画出二叉树 (2)将这颗树中序线索化 (3)

第一部分软件工程基础[专业课考试]

第一部分软件工程基础 考试题型:概念问答题.实践案例题总分:50分一.软件过程软件过程的概念:经典软件过程模型的特点(瀑布模型.增量模型.演化模型.统一过程模型):过程评估与CMM/CMMI的基本概念:敏捷宣言与敏捷过程的特点. 二.软件需求软件需求的概念:需求工程的基本过程:分层数据流模型:用例和场景建模及其UML表达(用例图.活动图.泳道图.顺序图):数据模型建模及其UML表达(类图):行为模型建模及其UML表达(状态机图). 三.软件设计与构造软件体系结构及体系结构风格的概念:设计模式的概

厦门大学数据结构期末考试单链表问题

因为过几天要去参加厦门大学的夏令营,提前刷了下厦门大学往年的期末考试试卷. 卷中有这么一道题目: 有一个单链表,其结点的元素值以递增顺序排列,给出数据结构,并编写一个算法删除该单链表中元素值相同的结点. 算法如下: 从头到尾扫描单链表,若当前结点和后继结点的值不相同,则指针后移,若相同,则删除该后继结点. 1 #include "stdio.h" 2 3 typedef struct Node{ 4 int data; 5 struct Node *next; 6 }Node, *Li

第二部分计算机系统基础[专业课考试2]

考试题型:问答.分析 总分:40分 一.处理器体系结构 内容:CPU中的时序电路.单周期处理器的设计.流水线处理器的基本原理.Data Hazard的处理.流水线设计中的其他问题 二.优化程序性能 内容:优化程序性能.优化编译器的能力和局限性以及表示程序性能.特定体系结构或应用特性的性能优化.限制因素.确认和消除性能瓶颈 三.存储器结构及虚拟存储器 内容:局部性.存储器层级结构.计算机高速缓存器原理.高速缓存对性能的影响.地址空间.虚拟存储器.虚拟内存的管理.翻译和映射.TLB.动态存储器分配和

python学习笔记系列----(三)数据结构

这一章主要是介绍了python一些常用的数据结构,比如list,tuple,dictionary,set,以及一些实用遍历技巧,主要讲的还是list. 3.1 list 主要介绍了list的一些常用的使用函数.这里就不多说和举例了. 增加:append(),insert() 删除:pop(),remove(),del() 查找:index() 其他:计算item出现次数:count():item排序:sort():item逆序:reverse() 其中del()较为特殊,可以根据index删除特

三.基本数据结构-栈

一.线性数据结构 - 我们从四个简单但重要的概念开始研究数据结构.栈,队列,deques(双向队列), 列表是一类数据的容器,它们数据元素之间的顺序由添加或删除的顺序决定.一旦一个数据元素被添加,它相对于前后元素一直保持该位置不变.诸如此类的数据结构被称为线性数据结构. - 线性数据结构有两端,有时被称为左右,某些情况被称为前后.你也可以称为顶部和底部,名字都不重要.将两个线性数据结构区分开的方法是添加和移除元素的方式,特别是添加和移除元素的位置.例如一些结构允许从一端添加元素,另一些允许从另一