GraphViz v1.0.4
GraphViz v1.0.4 发行说明
发布日期: 2026-06-09
版本: v1.0.4
仓库: https://github.com/SiriLee/GraphViz
下载: https://github.com/SiriLee/GraphViz/releases/tag/v1.0.4
v1.0.4 变更日志
新增
- 负权重支持:
a-"-2"->b引号包裹负权;序列化自动加引号 - 平行边(重边):Edge 添加唯一
id,同端点同方向多条边并存;渲染自动垂直偏移 - 权重显示策略:任意边显式提供权重 → 全局显示所有权重;否则全部隐藏
<---格式:左向箭头,有向 B→A(<在开头 = 反向)- 操作符结构校验:
<仅可在开头,>仅可在末尾;a>-<b等明确报错 - 力导向大幅优化:乘法降温 150 次、排斥力 1.5×、软边界、小图间距放大、平行边吸引力去重
- 完善 README:项目架构、组件职责表、输入格式全览、算法详解、解析器设计
- 6 张截图 + 5 个专用测试图:欧拉回路、分量、平行边、自环、最短路径
修复
- 平行边渲染:paintEvent 改用
getAllEdges()按 id 去重 - 权重标签重叠:沿统一方向分散(25%/50%/75%)
- 标签贴边:垂直距离从 12px 缩至 3px
- 反向边 perp 相消:同组边使用统一垂直基准方向
- 序列化:自环不再用怪异格式,统一输出标准紧凑格式
- 清除确认:移除无法生效的 Ctrl+Z 提示
自 v1.0.1 以来累积
- 自环支持(弧线 + 度数修正)
- 灵活解析器(空格、引号名、
<-->、a-2-b) - Shift+Tab 前向缩进(GraphTextEdit 子类)
- 无控制台窗口(WIN32 子系统)
- 环形初始布局 + 乘法降温
系统要求
- Windows 10/11 (64-bit)
- 无需安装 Qt — Portable 版解压即用
支持的图论算法 (9 种)
| # | 算法 | 方法 |
|---|---|---|
| 1 | 最短路径 | Dijkstra |
| 2 | 最小生成树 | Kruskal |
| 3 | 关节点 & 桥 | Tarjan DFS |
| 4 | 欧拉回路 | Hierholzer |
| 5 | 欧拉通路 | Hierholzer |
| 6 | 哈密顿回路 | 回溯 + 剪枝 |
| 7 | 哈密顿通路 | 回溯 + 剪枝 |
| 8 | 连通分量 | BFS |
| 9 | 强连通分量 | Kosaraju |
技术栈
C++17 · Qt 6.11.1 · CMake · MinGW-w64 GCC 13.1.0 · Fruchterman-Reingold Layout