也许数据结构不应该过于追求通用性。
我大概是被STL影响了吧。一整套的基本数据结构,以及搭配的基本算法,还可以随便排列组合,多么美好。
可是它怎么就没有图呢。用的时候,怎么就要考虑那么多拷贝构造函数,RTTI,甚至是智能指针之类的麻烦事呢。
数据结构不应该作为一种设计模式存在。就算两个图的功能再像,只要它是两个图,背后的含义就是不一样的。
更不必说,对于不同使用场景的相同结构,从前期的坑到后期的优化点,都是完全不一样的。
通用容器只能提供最基本的抽象。就像智能指针,也只能用引用计数,而永远不可能换用效率更高的算法。限制太多了。
如果真的想更通用一点,那就只能用动态语言了。即便如此,还是没人在标准库里写图,写最小生成树,写霍夫曼树。
得不偿失的行为。