我正在写一些我自己的数据结构,比如二叉树和四叉树以及kD树。是否有可能以允许任何维度的方式编写它们?是否可以实现通用维数据结构?
喜欢的东西:
KDTree<2, string> twoDTree = new KDTree<2, string>();
twoDTree[3,4] = "X,Y = (3,4)";
KDTree<4, string> fourDTree = new KDTree<4, string>();
fourDTree[0,1,2,3] = "x1,x2,x3,x4 = (0,1,2,3)";
我现在已经是明确创建每个维度,因为它是自己的类唯一的解决办法:
TwoDTree<string> twoDTree = new TwoDTree<string>();
twoDTree[3,4] = "X,Y = (3,4)";
FourDTree<string> fourDTree = new FourDTree<string>();
fourDTree[0,1,2,3] = "x1,x2,x3,x4 = (0,1,2,3)";
但这种复制粘贴一吨的代码,这应该能够以某种方式重用。