javascript - 顶点标签在图中应该是唯一的吗?
问题描述
我正在开发一个基于浏览器的应用程序,它允许用户创建图形、操作它们并在它们上运行算法。现在一个顶点由一个唯一的正整数标识,但我想允许标记顶点,其中标签可以是任何字符串。由于标签是用户实际看到的顶点的“名称”,我在是否应该允许重复标签以及如何存储它们方面处于两难境地。有几个选择:
- 保持整数顶点 id 并使标签也是唯一的。这引入了(程序员)在标签和顶点 ID 之间混淆的风险,尤其是在 JS 自动将数字转换为字符串的情况下。
- 保留整数顶点 ID 并允许重复标签。更灵活,但更多的用户混淆空间。
- 完全消除数字顶点 ID,并通过其(唯一)标签识别顶点。不知何故,将感觉像是属性的东西提升为标识符是不合适的。
- 其他一些方法?
我查看了一些图形库,每个图形库似乎都有自己的处理方式。我知道我的问题可能没有一个明确、明确的答案,因此感谢您的意见和见解!先感谢您。
解决方案
完全消除数字顶点 ID,并通过其(唯一)标签识别顶点。
不。在您的算法实现中,您将希望按数字查找顶点 - 而不是字符串
更详细的讨论:https ://github.com/JamesBremner/PathFinder2/wiki/cGraph-Class-Design
推荐阅读
- java - /AndroidRuntime: 关闭虚拟机
- asp.net-core - 如何自动将自定义 DelegatingHandler 设置为所有 HttpClients?
- eclipse - 如何让 Eclipse 使用文件已经使用的缩进样式?
- reactivemongo - 警告超时连接后,带有 Cluster DocumentDB 的 ReactiveMongo 引发内部服务器错误
- r - R中for循环后数据帧没有区别
- c# - 检查目标上是否存在所有必需的 DLL 及其依赖项
- javascript - 在 mongoDB 中,如何获取使用 insertOne() 使用 async / await 创建的对象的 id?
- python - 将 RS232 连接到串行并从 python 脚本建立到 Nextion 显示器的连接
- django - 如何制作一个简单的rest-framework示例?
- ios - 如何在颤动中弹出到特定屏幕