Skip to content

GraphViz v1.1.1

Choose a tag to compare

@SiriLee SiriLee released this 17 Jun 08:12
· 49 commits to main since this release

GraphViz v1.1.1 发行说明

发布日期: 2026-06-17
版本: v1.1.1
仓库: https://github.com/SiriLee/GraphViz
下载: https://github.com/SiriLee/GraphViz/releases/tag/v1.1.1


v1.1.1 变更日志

新增功能

孤立点支持

一行仅包含一个顶点名(不含边操作符)时创建孤立点(无边顶点)。支持两种格式:

  • 无引号名:不含空格和 - 的字符串,如 Av1
  • 引号名:"..." 包裹任意内容,支持 \" 转义,如 "Node A""A-B"
  • 序列化 (serialize) 同步输出孤立点,保存/加载不丢失
  • 力导向布局正确渲染孤立点(排斥力推向外围)

算法修复

平面性检测

  • 阈值判断改用非孤立顶点数 (nNonIsolated),避免孤立点膨胀顶点总数导致 K5/K3,3 暴力搜索被跳过
  • Euler 公式界同步修正

哈密顿回路/通路

  • 回溯门限 (>20 顶点跳过) 改用非孤立顶点数,避免含孤立点时误拒

工程

  • 新增 CLAUDE.md — 项目架构、构建设置与发布流程文档

测试方案

功能 操作 预期
孤立点输入 编辑器输入 A---B + C + "孤立节点" 解析 → 画布出现 4 个顶点
孤立点保存 保存 → 重新加载 孤立点不丢失
平面图 + 孤立点 K5 图加 6 个孤立点 平面性检测 → ✗ K5 subgraph found
Hamilton + 孤立点 15 顶点连通图加 6 个孤立点 正常运行(不被阈值拒绝)
Euler + 孤立点 欧拉图加孤立点 欧拉回路结果不变

修改文件

CMakeLists.txt, CLAUDE.md (新增)
src/GraphParser.cpp, src/GraphAlgorithm.cpp

系统要求

  • Windows 10/11 (64-bit)
  • 无需安装 Qt — Portable 版解压即用

技术栈

C++17 · Qt 6 · CMake · MinGW-w64 · Fruchterman-Reingold Layout