Skip to content

GraphViz v1.0.4

Choose a tag to compare

@SiriLee SiriLee released this 09 Jun 11:24

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