20182324 2019-2020-1 《数据结构与面向对象程序设计》实验9报告
20182324 2019-2020-1 《数据结构与面向对象程序设计》实验9报告
课程:《程序设计与数据结构》
班级: 1823
姓名: yyh
学号: 20182324
实验教师:王志强
实验日期:2019年12月2日
必修/选修: 必修
1.实验内容
-
1.初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)
-
2.图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)
-
3.完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环
-
4.完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出
-
5.完成有向图的单源最短路径求解(迪杰斯特拉算法)
2. 实验过程及结果
-
(1)根据屏幕提示初始化无向图和有向图
-
(2)完成有向图和无向图的遍历
-
(3)图的拓扑排序
-
(4)无向图的最小生成树
-
(5)图的单源最短路径求解
3. 实验过程中遇到的问题和解决过程
- 问题:什么是 HashMap
- 问题解决方案:
java.util.HashMap
在 JDK 帮助文档中这样阐述:基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实例的“容量”(桶的数量)及其大小(键-值映射关系数)成比例。
HashMap 的实例有两个参数影响其性能:初始容量 和加载因子。容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。
其他(感悟、思考等)
实验终于结束了!!!接下来专心搞App!!!