数据结构课程设计,算法设计题目,主要完成了拓扑排序和关键路径的图形化显示。
在完成这个项目的时候,恰好在学习前端相关的内容(大约),同时也考虑到对于这种只看重外表的项目来说,当然用前端可以做出更加炫酷的效果,再加之当时又常用electron来做东西等等。总之最后就是用前端技术糊了这个项目出来
-
Electron
GitHub 发布的跨平台桌面应用开发工具,支持 Web 技术开发桌面应用,其本身是基于 C++ 开发的,GUI 核心来自于 Chrome,而 JavaScript 引擎使用 v8。
-
ECharts
一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
给定一个有向图,完成:
- 建立并显示出它的邻接链表;
- 对该图进行拓扑排序,显示拓扑排序的结果,并随时显示入度域 的变化情况;
- 给出它的关键路径(要求:显示出Ve,Vl,E,L,L-E的结果)。
记得自己在一开始拿到这个选题的时候可能不太知道应该去做什么,应该做成什么样子的,因此也是把这个项目拿出来给大家分享一下,希望能给大家一些灵感,以及或许能让大家明白要做的东西是什么。一些具体的细节可以参见报告。
-
运行该项目需要安装electron,在code文件夹下运行
electron .
即可
-
如果需要打包成exe,可以另外搜索electron打包教程
该项目的运行结果在docs文件夹下的报告中有所叙述
.
├─docs
│ 报告.pdf #对整个项目做说明的课程报告
└─src
│ index.html #入口网页
│ main.js #入口js文件
│ package.json
│
├─css
│ click.css
│ input.css
│
└─js
adjacencyList.js #用于实现邻接表显示的部分
criticalPath.js #用于实现关键路径显示的部分
echarts.js #echarts第三方库文件
init.js #用于初始化的js文件
topologicalSort.js #用于实现拓扑排序的部分