我正在寫一些我自己的數據結構,比如二叉樹和四叉樹以及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)";
但這種複製粘貼一噸的代碼,這應該能夠以某種方式重用。