zoukankan      html  css  js  c++  java
  • 20182312 2019-2020-1 《数据结构与面向对象程序设计》实验9报告

    20182312 2019-2020-1 《数据结构与面向对象程序设计》实验9报告

    课程:《程序设计与数据结构》
    班级: 1823
    姓名: 吴东泽
    学号:20182312
    实验教师:王志强
    实验日期:2019年12月7日
    必修/选修: 必修

    1.实验内容

    (1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数、边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分)
    (2) 图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)(4分)
    (3) 完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环(3分)
    (4) 完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出(3分)
    (5) 完成有向图的单源最短路径求解(迪杰斯特拉算法)(3分)

    2. 实验过程及结果

    此处填写实验的过程及结果
    (1) 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表)

    (2) 图的遍历:完成有向图和无向图的遍历(深度和广度优先遍历)(4分)
    1.深度遍历

    2.广度遍历

    (3) 完成有向图的拓扑排序,并输出拓扑排序序列或者输出该图存在环(3分)

    (4) 完成无向图的最小生成树(Prim算法或Kruscal算法均可),并输出(3分)

    (5) 完成有向图的单源最短路径求解(迪杰斯特拉算法)(3分)

    3. 实验过程中遇到的问题和解决过程

    • 问题1:

      莫名其妙有关队列的报错。
    • 解决:老问题了,我以前有一个Queue的接口,每次有Queue都是这样,换台电脑就好了。
    • 问题2:实现深度遍历时,输出的序列与我所构想的序列是相反的
    • 解决:深度遍历是通过堆栈实现了,由于先进后出,所以序列会反,后面设置一个数组进行反序再输出就可以了。

    其他(感悟、思考等)

    感悟:本次实验是这个学期的最后一次实验,相对于有的实验我不懂其原理,只能上网查,这次的实验我至少是知道其原理了,但纵使如此实现起来还是有诸多问题出现,并不像我想象的那么容易。

    思考:Java的重中之重应该是整体的思维,只有想到了后面要用什么,前面写的代码才是有意义的。

    参考资料

  • 相关阅读:
    出现socket:(10107)系统调用失败
    JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
    获取滚动条距离底部的距离
    linux常用命令使用方法
    Python:一
    【C++ Primer 第15章】定义派生类拷贝构造函数、赋值运算符
    【【C++ Primer 第15章】 虚析构函数
    ubuntu基本用法
    深度优先搜索(DFS)和广度优先搜索(BFS)
    【C++ Primer 第7章】定义抽象数据类型
  • 原文地址:https://www.cnblogs.com/shouko/p/12008386.html
Copyright © 2011-2022 走看看