请教关于一个数据结构的面试题
目前碰到一个数据结构方面的题,考虑了很久,也没有什么好的方案。望高人指点一下。问题如下:
有一组顺序的数字,要保存每个数字与别的每个数字之间的几个属性。比如说有一组:0~10。
0 组:0_1,0_2,0_3,0_4,0_5,0_6,0_7,0_8,0_9,0_10
1 组:1_2,1_3,1_4,1_5,1_6,1_7,1_8,1_9,1_10
2 组:2_3,2_4,2_5,2_6,2_7,2_8,2_9,2_10
3 组:3_4,3_5,3_6,3_7,3_8,3_9,3_10
4 组:4_5,4_6,4_7,4_8,4_9,4_10
5 组:5_6,5_7,5_8,5_9,5_10
6 组:6_7,6_8,6_9,6_10
7 组:7_8,7_9,7_10
8 组:8_9,8_10
9 组: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-10
2. 方便增加某数字组,方便更新对应的关系。比如说新增一个11的组,那么之前的10组都要增加与11的关系。
3. 顺序数字最大可能为9000,要求高的执行效率,内存占用尽量小。
我本来考虑用一个类似10x10这样的二位数组的来保存,但是有一半的数据冗余。。。而且不方便增加新的数字组。实在没什么好的方案。上来跟高人讨论一下。 --------------------编程问答-------------------- List<T> --------------------编程问答--------------------
关于冗余····貌似C#里面可以声明一种不规则的易做图数组吧,记不大清了,太偏了,平时根本没用,不过记忆当中应该有,这样数据就不会有冗余了,其他的问题我再想下~呵呵~~~~
补充:.NET技术 , C#