哈工大 国家级精品课《数据结构与算法》

合集下载

数据结构与算法

数据结构与算法

数据结构与算法数据结构与算法是北京大学于2018年02月26日首次在中国大学MOOC开设的慕课课程,是国家精品在线开放课程。

该课程授课教师为张铭、陈斌、卢宗青、刘云淮、赵海燕、宋国杰、黄骏、邹磊、王腾蛟。

据2021年2月中国大学MOOC官网显示,该课程已开课4次。

数据结构与算法课程内容包括数据结构与抽象数据类型、算法特性及分类、算法效率与度量、线性结构、顺序表、链表、栈与队列、栈与递归、递归转非递归、字符串的存储结构、字符串运算的算法实现、字符串的快速模式匹配、二叉树的抽象数据类型、二叉树的搜索、二叉树的存储结构、树与二叉树的等价转换、树的抽象数据类型及树的遍历、树的链式存储结构、树的父指针表示法、树的顺序存储和K叉树、图的概念和抽象数据类型、图的存储结构、图的遍历、内排序、检索等内容。

课程性质:课程背景计算机是现代社会中用于解决问题的重要工具,支撑这个工具高效运转的就是其后的各种系统程序、应用程序。

数据结构,是抽象的表示数据的方式;算法,则是计算的一系列有效、通用的步骤。

算法与数据结构是程序设计中相辅相成的两个方面,是计算机学科的重要基石。

课程定位数据结构与算法是介绍基本数据结构以及相关的经典算法,强调问题-数据-算法的抽象过程,关注数据结构与算法的时间空间效率,培养学生编写出高效程序从而解决实际问题的综合能力的一门课程。

适应对象数据结构与算法适合计算机以及相关理工专业的本科生学习。

对于具有C语言结构化程序设计基础的学生,该课程第0章补充了一些面向对象的基本内容。

课程简介:数据结构与算法围绕着“算法+数据结构=程序”的思路,以问题求解为导向进行学习,运用问题抽象、数据抽象、算法抽象来分析问题,应用适当的数据结构和算法来设计和实现相应的程序。

在求解实际问题方面,该课程会学习到通过权衡时空和其他资源开销,利用数据结构来组织数据、设计高效的算法、完成高质量的程序以满足错综复杂的实际应用需要。

课程所学到的内容会被利用到计算机科学后续的各个课程中,如操作系统、软件工程、数据库概论、编译技术、计算机图形学、人机交互等。

哈工大2009年春季试卷-数据结构与算法-带答案

哈工大2009年春季试卷-数据结构与算法-带答案

哈工大2009年春季学期数据结构与算法 试卷一、填空题(每空2分,共20分)1. 在 情况下,等长编码是最优前缀码。

2.设有两个算法在同一机器上运行,其执行时间分别为100n 2和2n ,要使前者快于后者,n 至少为 。

3.采用堆排序、快速排序、冒泡排序,对初态有序的表,最省时间的是_ 。

4. 设二叉树结点的先根序列为ABDECFGH ,中根序列为DEBAFCHG,则二叉树中叶结点是_________.5. 用下标从0开始的N 个元素的数组实现循环队列时,为实现下标变量m 加1后在数组有效下标范围内循环,可采用的表达式是m= 。

6. 由带权为3,9,4,2,5的5个叶子结点构成一棵哈夫曼树,则带权路径长度为 。

7. 对n 个记录的表进行选择排序,在最坏情况下所需要进行的关键字的比较次数为 。

8. 任意一个有n 个结点的二叉树,已知它有m 个叶结点,则度数为2的结点有 。

9. n 个顶点的连通图用邻接矩阵表示时,该矩阵至少有 个非零元素10. 举出两种磁带文件的分类方法: 。

二、选择题(每题1分,共10分)注意行为规范遵守考场纪律1.设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是( )。

(A) 40,42,45,55,80,83(B) 42,40,45,80,85,88(C) 42,40,55,80,45,85(D) 42,40,45,85,55,802.数据的最小单位是( )。

(A) 数据项(B) 数据类型(C) 数据元素 (D) 数据变量3.关键路径是AOE网中( ) 。

A.从始点到终点的最短路径B.从始点到终点的最长路径C.从始点到终点的边数最多的路径D.从始点到终点的边数最少的路径4.下列说法正确的是()。

A.最小生成树也是哈夫曼树B.最小生成树是唯一的C.对于n 个顶点的连通无向图,Prim算法的时间复杂性为O(n2)D.Kruskal 算法比Prim算法更适合边稠密的图5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是( )。

介绍哈工大最好的书

介绍哈工大最好的书

介绍哈工大最好的书
哈尔滨工业大学作为国内知名高校,有很多优秀的教材和参考书,对于不同专业和课程都有相应的优秀教材。

例如,对于计算机专业考研,可以参考《数据结构与算法(第4版)》廖明宏等编著,这本书是高等教育出版社2007年11月出版的,被认为是计算机学科考研的经典教材之一。

另外,哈尔滨工业大学的思政方向的考研,可以参考《马克思主义基本原理》、《思想道德与法治》、《中国近现代史纲要》和《毛泽东思想和中国特色社会主义理论体系概论》等书,这些都是马克思主义理论研究和建设工程重点教材,由高等教育出版社2021年出版。

以上信息仅供参考,建议根据自身需求和实际情况选择适合自己的教材和参考书。

哈工大计算机专业考研科目

哈工大计算机专业考研科目

哈工大计算机专业考研科目哈尔滨工业大学(以下简称哈工大)计算机专业是国内一流的计算机科学与技术学科之一。

考研是很多计算机专业毕业生继续深造的重要途径。

因此,了解哈工大计算机专业考研科目是考研准备的必备知识。

在哈工大计算机专业考研科目中,主要包括以下内容:一、数据结构与算法分析数据结构与算法分析是计算机专业中最基础、最重要的科目之一。

在考研中,数据结构与算法分析的知识点包括线性表、树结构、图结构等基本数据结构的实现及其算法分析,以及常见排序算法、查找算法等。

掌握数据结构与算法分析的知识对于计算机专业的学生来说是非常重要的。

二、操作系统与网络操作系统与网络是计算机系统的核心技术之一。

在哈工大计算机专业考研科目中,操作系统与网络是一个重要的考点。

考生需要了解操作系统的基本原理、进程管理、存储管理、文件系统等内容,以及网络的基本原理、协议、网络安全等知识。

掌握操作系统与网络的知识,可以帮助考生更好地理解计算机系统的运行机制。

三、数据库与数据挖掘数据库与数据挖掘是计算机专业中的重要应用方向之一。

在哈工大计算机专业考研科目中,数据库与数据挖掘是一个重要的考点。

考生需要了解数据库的基本概念、关系模型、SQL语言等内容,以及数据挖掘的基本原理、数据预处理、分类与聚类等知识。

掌握数据库与数据挖掘的知识,可以帮助考生在实际工作中更好地应用数据库与数据挖掘技术。

四、软件工程与项目管理软件工程与项目管理是计算机专业中重要的实践能力培养科目之一。

在哈工大计算机专业考研科目中,软件工程与项目管理是一个重要的考点。

考生需要了解软件工程的基本原理、软件生命周期、需求分析与规格说明等内容,以及项目管理的基本概念、项目组织与管理、项目风险管理等知识。

掌握软件工程与项目管理的知识,可以帮助考生在实践中更好地开展软件项目的设计与管理工作。

总结起来,哈工大计算机专业考研科目涵盖了数据结构与算法分析、操作系统与网络、数据库与数据挖掘以及软件工程与项目管理等重要内容。

哈工大 数据结构 实验一 线性表的实验

哈工大 数据结构 实验一 线性表的实验
n.push(w*y);
}
else if(input[i]=='/'){
y=n.pop();w=n.pop();
n.push(w/y);
}
}
cout<<n.pop()<<endl;
}
int main(){
int i,j;
double a[64];
char input[512],o;
stack<char> s;
printf("do you want to try again?(Y/N) ");
o=getchar();
if(o=='n'||o=='N') break;
getchar();printf("\n");
}
printf("thanks for using it...\n");
}
stack<double> n;
while(true){
i=0;j=0;s.null();n.null();
printf("please input the expression: ");
change(i,j,a,input,s);
printf("the answer is: ");
compute(i,j,a,input,n);
哈尔滨工业大学计算机科学与技术学院
实验报告
课程名称:数据结构与算法
课程类型:必修
实验项目名称:线性表实验
实验题目:算术表达式求值
班级:0903201
学号:1090320110
姓名:王岳

第4章-哈工大-数据结构-图结构及其应用算法

第4章-哈工大-数据结构-图结构及其应用算法

第4章图结构及其应用算法数据结构与算法Data Structures andgAlgorithms张岩海量数据计算研究中心哈工大计算机科学与技术学院第4章图结构及其应用算法2016/11/20Slide 4-2——图论欧拉欧拉1707年出生在瑞士的巴塞尔城,19岁开始发表论文,直到76岁。

几乎每一个数学领域都可以表论文直到76岁几乎每个数学领域都可以看到欧拉的名字,从初等几何的欧拉线,多面体的欧拉定理,立体解析几何的欧拉变换公式,四次方程的欧拉解法到数论中的欧拉函数,微分方程的欧拉方程,级数论的欧拉常数,变分学的欧拉方程,复变函数的欧拉公式等等。

据统计他那不倦的一生,共写下了886本书籍和论文,其中分析、代数、数论占40%,几何占18%,物理和力学占28%,天文学占11%,弹道学、航海学、力学占28%天文学占11%弹道学航海学建筑学等占3%。

1733年,年仅26岁的欧拉担任了彼得堡科学院学教授年到林担任科了彼得堡科学院数学教授。

1741年到柏林担任科学院物理数学所所长,直到1766年,重回彼得堡,没有多久,完全失明。

欧拉在数学上的建树很多,对著名的哥尼斯堡七桥问题的解答开创了图论的研究。

哥尼斯堡七桥问题能否从某个地方出发,穿过所有的桥仅一次后再回到出发点?学习目标图结构是一种非线性结构,反映了数据对象之间的任意关系,在计算机科学、数学和工程中有着非常广泛的应用。

了解图的定义及相关的术语,掌握图的逻辑结构及其特点;了解图的存储方法,重点掌握图的邻接矩阵和邻接表存储结构;掌握图的遍历方法,重点掌握图的遍历算法的实现;了解图的应用,重点掌握最小生成树、双连通性、强连通性、最短路径、拓扑排序和关键路径算法的基本思想、算法原理和实现过程。

本章主要内容4.1 图的基本概念4.2 图的存储结构4.3 图的遍历(搜索)4.4 最小生成树算法4.5 双连通性算法4.5双连通性算法4.6 强连通性算法4.7最短路径算法4.7 最短路径算法4.8 拓扑排序算法4.9 关键路径算法本章小结本章的知识点结构基本的数据结构(ADT)图无向图有向图加权图网络图(无向图、有向图;加权图----网络)知识点结构定义及相关术语逻辑结构及其特征ADT定义A逻辑结构静态的结构基本操作(算法)存储结构(描述)ADT基本动态的操作存储结构特点存储结构的定义ADT实现数据结构存储结构静态的结构操作(算法)实现算法的性能应用:最小生成树最短路径拓扑排序和关键路径动态的操作,,图的搜索(遍历)算法是有关图问题的重要核心算法!4.1基本定义4.1定义1 图(Graph)图是由顶点(vertex)的有穷非空集合和顶点之间边(edge)的集合组成的一种数据结构,通常表示为:G = (V,E)其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。

《数据结构与算法分析》课程教学大纲

《数据结构与算法分析》课程教学大纲

本科生课程大纲课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修一、课程介绍1.课程描述:数据结构与算法分析是学习利用计算机语言编写质量更好的程序以及软件的一门课程,是提高计算机编程水平的必由之路,为日后学习相关课程打下一个坚实的基础。

本课程针对低年级地球信息科学与技术专业和勘查技术与工程专业本科生学生开设,课程主要内容包括:数据结构及其算法,文件读写,查找和排序算法等。

通过课程学习,要求学生能够掌握计算机存储(包括内存和外存)数据的基本方法和常用模式以及其算法,提高编写程序、调试程序的能力,课程结束后能够完成较复杂程序的设计和编制。

2.设计思路:本课程引导低年级地球信息科学与技术专业和勘查技术与工程专业学生掌握利用计算机语言编写实用可靠的程序的基础理论和实际操作方法,提升自身的科研和工作技能。

课程内容的选取基于学生掌握了一定的计算机语言知识。

课程内容分为四个模块:数据结构介绍;常用的数据结构及其算法;文件读写;查找和排序算法。

这三个方面相互关联,互为补充,覆盖了计算机数据存储、管理和处理等的主要模式和方法。

3. 课程与其他课程的关系:- 1 -本课程需要本科生在完成低年级阶段的计算机语言的基础上开设。

先修课程:《C 程序设计》。

二、课程目标本课程目标是为低年级地球信息科学与技术专业和勘查技术与工程专业学生提供一个深入学习计算机编程的平台,引导并培养学生使用计算机语言来描述、管理和处理数据的能力,提高计算机编程水平。

到课程结束时,学生应能:(1)熟练掌握常用的计算机数据在内存中存储的方法及其常用算法;(2)掌握文件的读写操作,合理的利用文件存储数据;(3)掌握查找和排序常用的算法;(4)掌握如何编制可靠的程序以及程序调试的技巧。

三、学习要求要完成所有的课程任务,学生必须:(1)按时上课,上课认真听讲,积极参与课堂讨论。

(2)按时完成上机练习,对地质数据进行分析和处理,提交正式的上机报告。

哈工大函授课程所用教材

哈工大函授课程所用教材
《高等学校文科教材-英语(非英语专业用)》一、二册
复旦大学外文系文科英语教材编写组编
G2150011H、G2150012H G3150012H、G3150013H、G3150014H G1420010H G0230010H G0160010H G0240010H Z1130020H、Z2130020H、Z3130020H J1130010H、J3130010H Z1130130H、Z3130130H Z1130030H、Z2130030H、Z3130030H Z1130040H、Z2130040H、Z3130040H J1130120H、J3130120H、J2130120H Z1130050H、Z2130050H、Z3130050H Z1130060H 、Z3130060H Z1130140H、Z3130140H Z2130070H、Z3130070H Z2130260H、Z3130260H Z3200050H J1200010H、J2200010H、J3200010H Z3200170H J3200160H Z3200180H
《全新版大学英语综合教程》一至四册 《大学语文》 《政治经济学教程(第七版)》
上海外语教育出版社 北京师范大学出版社 中国人民大学出版社
2004 2002
2005
2009年修订版
高等教育出版社 高等教育出版社 机械工业出版社 科学出版社 机械工业出版社
2008 2008 2012 2013年3月 武汉理工大学出版社 2012 机械工业出版社 2007 北京大学出版社 2006 建筑工业版社 2000 机械工业出版社 2007年5月 徐友全,许程洁 2007 建筑工业版社 2004 机械工业出版社 2008
清华大学出版社 电子工业出版社 马凤才 机械工业出版社 徐井岗 科学出版社 菲利普· 科特勒 华夏出版社 关老健 中山大学出版社 地震出版社 刘广第 清华大学出版社 周曙东主编 东南大学出版社 黄梯云、李一军主编 高等教育出版社 朱洪文 高等教育出版社 机械工业出版社,科学出版社 韩东平 东北财经大学出版社 万寿义主编 上海财经大学出版社 赵建勇主编 武汉理工大学出版社 高艳茹 王福胜 机械工业出版社 艾文国,孙洁编著 高等教育出版社 机械工业出版社,科学出版社 王福胜 机械工业出版社,科学出版社 王福胜 许家林等著 立信会计出版社 立信会计出版社出版 刘学华主编 财政部注册会计师考试委员会办公室编 财政经济出版社 机械工业出版社出版 王培欣主编 全国注册资产评估师辅导教材 财政经济出版社 魏华林,林宝清主编 高等教育出版社 陈工 武汉大学出版社 姜波克 复旦大学出版社 黄亚钧 高等教育出版社 《货币银行学》(高等财经院校成人教育系列教材) 张忠宝,李冰 经济科学出版社
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章 树与二元树
填空题
1.假定一棵树的广义表表示为A(B(E),C(F(H,I,J),G),D),则该树的度为 ① ,树
高度为 ② ,终端结点的个数为 ③ ,单分支节点的个数为 ④ ,双分支结点的个数为 ⑤ ,三分支结点的个数为 ⑥ ,C结点的双亲结点为 ⑦ ,其孩子结点
⑧ 和 ⑨ 结。

该树先根、中根和后根遍历序列分别为 ⑽ 、⑾ 和⑿。

该树对应的
二元树为 ⒀ ,此二元树的先根、中根和后根遍历顺序序列分别为⒁、⒂和⒃。

2.由带权为3,9,6,2,5的5个叶子结点构成一棵哈夫曼树,则带权路径长度为 ① ,
该最优二元树共有 ② 个结点,度数为0、1、2的结点的个数分别为③ ,④ 和 ⑤ 个。

3.已知字符集{A、B、C、D、E} 的字符出现的概率分别为{ 3/25 ,9/25,6/25,2/25,
5/25}。

画出该字符集的Huffman编码树② , 字符A、B、C、D、E的编码分别为 ③,
④ ,⑤ ,⑥ ,⑦ ,该字符集的Huffman编码的平均编码长度为⑧ 。

若采用二进制
等长编码方案,该字符集的编码长度为 ⑨ 。

读该字符集而言,Huffman编码比等长编码平均压缩了 ⑽ %。

4.对于一棵具有n个结点的二元树,当进行链接存储时,其左右链存储结构中的指针域的
总数为 ①个,其中,② 个用于链接孩子结点, ③个空闲着。

5.在一棵二叉树中,度为0的结点个数为n0,度为1的结点个数为n1,度为2的结点个
数为n2,则有n0= ① 。

6.由a,b,c 三个结点构成的二叉树,共有 ① 种不同结构。

7.一棵高度为K的完全二叉树的结点总数最少为 ① 个,最多为 ② 个;第K层最多有 ③
个结点,最少有 ④ 个结点。

选择题
8.假定在一棵二元树中,双分支结点数为15,单分支结点数为30,则叶子结点数为( )
个。

A.15 B.16 C.17 D.47
9.在一棵二叉树上第5层的结点数最多为( ) 。

A.8 B.16 C.15 D.32
10.用顺序存储的方式将完全二叉树中的所有结点逐层存放在数组R[ 1…n]中,结点R[i]
若有子树,则左子树是结点( )。

A.R[2i+1] B.R[2i] C.R[i/2] D.R[2i-l]
11.用顺序存储的方式将完全二叉树中的所有结点逐层存放在数组R[ 1…n]中,结点R[i]
若有右子树,则 i 应满足的条件是( )。

A.2i+1 <= n B.2i <= n C.n/2<= i D.2i-l <= n
12.在一棵高度为k的二叉树中,最少含有( )个结点。

A.2k-1 B.2k-l C.2k-1 D.k
13.在一棵高度为k的二叉树中,最多含有( )个结点。

A.2k-1 B.2k-l C.2k-1 D.k
14.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序( )。

A.发生改变 B.不发生改变 C.不能确定 D.以上都不对
15.用线索二叉树是一种( )结构。

A.逻辑 B.逻辑和存储 C.物理 D.线性
16.下述编码哪一组是前缀码?
A.{00,01,10,11}
B.{0,1,00,1l}
C.{0,10, 110,1l}
判断题
17.树的父链表示就是用数组表示树的村存储结构.
18.对给定的字符集以及各字符出现的概率,该字符集的哈夫曼编码是唯一的.
19.完全二元树中,若某个结点没有左儿子,则该结点一定是叶结点.
20.二元树按某种遍历顺序线索化后,任何一个结点均有指向其在该种遍历顺序下的前驱和
后继的线索.
21.一棵树转换为二元树,该二元树的根结点一定没有右子树.
22.二元树就是任何结点的杜都不大于2的树.
23.任何二元树都唯一对应一个森林,反之亦然.
简要回答下列问题
24.一个高度为h的完全二元树,如果按层次顺序(同层自左至右)从1开始对全部结点编号,
问:
(1)各层的结点数目是多少?
(2)编号为i的结点的双亲结点(若存在)的编号是多少?
(3)编号为i的结点的左孩子结点(若存在)的编号是多少?
(4)编号为i的结点的左孩子结点(若存在)的编号是多少?
(5)编号为i的结点有右兄弟的条件是什么,其右兄弟的编号是多少?
(6)编号为i的结点有右兄弟的条件是什么,其右兄弟的编号是多少?
25.设二叉树包含的结点数为1,3,7,2,12。

(1)画出两棵高度最大的二叉树。

(2)画出两棵完全二叉树,要求每个双亲结点的值大于其孩子结点的值。

26.试找出分别满足下面条件的所有二叉树:
(1)前序序列和中序序列相同; (2)中序序列和后序序列相同;
(3)前序序列和后序序列相同; (4)前序、中序和后序序列相同。

27.若二叉树中各结点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列
和中序序列均能惟一地确定一棵二叉树,但由前序序列和后序序列却不一定能惟一地确定一棵二叉树。

(1)己知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF,请画出此二叉树。

(2)已知一棵二叉树的中序序列和后序序列分别为BDCEAFHG和DECBHGFA。

请画出该二叉树。

(3)已知两棵二叉树的前序序列和后序序列均为AB和BA,请画出这两棵不同的二叉树。

28.对下图所示二元树:
(1)写出该二叉树的前序、中序和后序序列;
(2)画出中该二叉树的顺序存储结构、左右链存储结构和带头结点的中序线索存储结构。

29.假设用于通信的电文由字符集{a,b,c,d,e,f,g,h}中的字母构成,这8个字母在
电文中出现的概率分别为{0.07 , 0.19 , 0.02 , 0.06 , 0.32,0.03,0.21 , 0.10}。

(1)为这8个字母设计哈夫曼编码。

(2)若用三位二进制数(0-7)对这个8个字母进行等长编码,则哈夫曼编码的平均码长是等长编码的百分之几?它使电文总长平均压缩多少?
算法设计 注意:要求写出算法的基本思想、存储结构的定义和算法
30.求中序线索二元树中结点p 的中序顺序前驱结点$p的算法。

31.求中序线索二元树中结点p 的先序顺序后继结点p*的算法。

32.分别写出交换二元树各个结点左右儿子的递归算法和非递归算法。

33.以左右链表示法为存储结构,分别写出求二元树结点总数及叶子总数的算法。

34.以左右链表示法为存储结构,写出对二元树进行先根遍历的非递归算法。

35.以左右链表示法为存储结构,写出对二元树进行中根遍历的非递归算法。

36.以左右链表示法为存储结构,写出对二元树进行后根遍历的非递归算法。

37.写出在二元树中插入一个结点成为指定结点左儿子的算法。

相关文档
最新文档