创建自定义图形数据结构是否违反任何原则?

iks*_*nov 0 c++ theory data-structures

我正在研究一个与连续方法的电路测试相关的小型科学课程.该程序将解析电路定义文件,然后构建一个表示电路的易于修改的图形结构.然后对该图进行某些修改,并对其进行拓扑排序.排序后,图形将转换为由数组列表组成的静态结构,其中每个数组对应于某个拓扑排序程度.之后,可以轻松模拟电路,因为您可以依赖排序顺序并按顺序处理模型.

现在这一切都很好且合乎逻辑,但我提到的两个图是自定义数据结构,它们:

1)不是完全符合STL规范(无论如何对我来说都很长很困难 - 图形比矢量和列表更复杂)

2)对于第二个图,我假设它不可修改并使用矢量矢量或矢量列表来提高速度.

3)我的图表可用的操作集是有限的,反映了我的项目的需求.

4)代码很简单.

现在我只是一名三年级的IT学生,在完成了软件设计课程并阅读了一些现实代码后,我想知道:

1)代码可以(甚至可以)简单吗?

2)在对数据结构做出假设时,我是否违反了数以千计的软件设计原则?

3)我是否真的总是符合我在此项目和未来项目中创建的所有数据结构的STL规范?

该项目使用C++.

感谢您的关注!我很欣赏这些问题的基本和理论答案,以及解决这个问题的实际方法的一个例子.

小智 5

1)代码可以(甚至可以)简单吗?

它不仅应该是,它应该是.代码不需要复杂化.

2)在对数据结构做出假设时,我是否违反了数以千计的软件设计原则?

嗯,你怎么能这样做.这个问题对我没有意义.

3)我是否真的总是符合我在此项目和未来项目中创建的所有数据结构的STL规范?

不.例如,如果您不需要迭代结构,请不要提供迭代器.只实现你真正需要的东西.