问题描述
目前碰到一个数据结构方面的题,考虑了很久,也没有什么好的方案。望高人指点一下。问题如下:有一组顺序的数字,要保存每个数字与别的每个数字之间的几个属性。比如说有一组:0~10。0组:0_1,0_2,0_3,0_4,0_5,0_6,0_7,0_8,0_9,0_101组:1_2,1_3,1_4,1_5,1_6,1_7,1_8,1_9,1_102组:2_3,2_4,2_5,2_6,2_7,2_8,2_9,2_103组:3_4,3_5,3_6,3_7,3_8,3_9,3_104组:4_5,4_6,4_7,4_8,4_9,4_105组:5_6,5_7,5_8,5_9,5_106组:6_7,6_8,6_9,6_107组:7_8,7_9,7_108组:8_9,8_109组:9_10其中的每个x_y都是一个object,会保存几个属性。要求:1.根据某组的数字,方便查询出对应的所有关系数字的属性。比如要查5组,能最快的查到所有0-5,1-5,2-5,3-5,4-5,5-6,5-7,5-8,5-9,5-102.方便增加某数字组,方便更新对应的关系。比如说新增一个11的组,那么之前的10组都要增加与11的关系。3.顺序数字最大可能为9000,要求高的执行效率,内存占用尽量小。我本来考虑用一个类似10x10这样的二位数组的来保存,但是有一半的数据冗余。。。而且不方便增加新的数字组。实在没什么好的方案。上来跟高人讨论一下。
解决方案
解决方案二:
List<T>
解决方案三:
引用楼主hoho5999的帖子:
我本来考虑用一个类似10x10这样的二位数组的来保存,但是有一半的数据冗余。。。而且不方便增加新的数字组。实在没什么好的方案。上来跟高人讨论一下。
关于冗余····貌似C#里面可以声明一种不规则的多维数组吧,记不大清了,太偏了,平时根本没用,不过记忆当中应该有,这样数据就不会有冗余了,其他的问题我再想下~呵呵~~~~
时间: 2024-09-14 18:00:25