请教关于一个数据结构的面试题

问题描述

目前碰到一个数据结构方面的题,考虑了很久,也没有什么好的方案。望高人指点一下。问题如下:有一组顺序的数字,要保存每个数字与别的每个数字之间的几个属性。比如说有一组: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

请教关于一个数据结构的面试题的相关文章

c++-请教:一个完整的C++程序如何提供一个接口给其他软件使用

问题描述 请教:一个完整的C++程序如何提供一个接口给其他软件使用 如题.我用C++做了一个软件,现在想提供一个dll给另一个软件使用.要如何做?是直接在这个C++程序上做接口,还是另外建一个工程来生成dll? 请教大神们啦~谢谢 解决方案 要看另一个软件是需要如何和你的程序交互. 用到你程序的一部分,那么开放dll 只是传递数据的话,提供数据传递的标准,让它自己实现 希望整体嵌入你的程序,那么你实现一个OLE Server,让它用OLE Container嵌入你的程序. 如果那个程序不在本地,

一个数据结构B_树问题

问题描述 一个数据结构B_树问题 一棵5阶B_树,高度是5,(叶子层不算)至少有多少个结点?------ 解决方案 高度为h的m阶B树至少有 1 + 2 * (1 - (m / 2) ^ (h - 1)) / (1 - ( m / 2)) 个结点 代入h=5 m=5,得到52. 解决方案二: B+树数据结构数据结构B-树数据结构B树

c++ delphi 回调函数-一个数据结构的题目,涉及Hash、双链表、回调函数等,求大神指教?

问题描述 一个数据结构的题目,涉及Hash.双链表.回调函数等,求大神指教? 数据结构相关的题目描述 typedef?struct?_FILE_NODE?{ _FILE_NODE?*Prev; _FILE_NODE?*Next; WCHAR?wzFileName[MAX_PATH]; DWORD?dwLowDateTimeLastWrite; }?FILE_NODE,?*LPFILENODE; 实现两个项目: 一.DLL 1.实现文件遍历的功能 2.导出接口中,可由用户指定遍历哪个文件夹 3.提

请教大家一个在虚析构函数存在时,C++虚函数表的问题

问题描述 请教大家一个在虚析构函数存在时,C++虚函数表的问题 下面是在下的代码: #include <iostream> using namespace std; class Point { private: int X; int Y; public: Point() {} Point(int x, int y) : X(x), Y(y) {} const int getX() { return X; } const int getY() { return Y; } virtual ~Poi

请教大家一个问题 ,一个可用的azure账号,用vs的服务资源管理器登陆

问题描述 请教大家一个问题 ,一个可用的azure账号,用vs的服务资源管理器登陆 请教大家一个问题 ,一个可用的azure账号,用vs的服务资源管理器登陆,提示 找不到具有该点子邮件地址的账户 解决方案 你是没有subscription吧,中文叫订阅貌似. 解决方案二: Hi, 因为中国版Azure不是使用Microsoft Account(Live ID)来验证访问权限,如果是想通过VS去管理中国版的Azure的话,我建议你尝试这篇文章中的操作:http://www.cnblogs.com/

请教大家一个问题 如何查看azure vm是否已绑定DIP 谁知道啊,急急急

问题描述 请教大家一个问题 如何查看azure vm是否已绑定DIP 谁知道啊,急急急 请教大家一个问题 如何查看azure vm是否已绑定DIP 谁知道啊,急急急 解决方案 参考这篇文章 为 Azure虚拟机配置静态内部 IP 地址 (DIP) http://www.mamicode.com/info-detail-410735.html 解决方案二: Hi, 如果你是困惑是否已经为虚拟机执行了绑定DIP操作,你可以参考"PB人生"的回复去azure门户网站记录下虚拟机的内部IP,然

求解一个数据结构问题,希望用c++实现

问题描述 求解一个数据结构问题,希望用c++实现 题目是这样的: 设计一个算法,改造一个带头节点的双向链表,所有节点的原有次序保持在各个节点的rLink域中,并利用lLink域把所有节点按照从小到大的顺序链接起来. 解决方案 http://blog.chinaunix.net/uid-22556372-id-1773401.html 解决方案二: c++实现数据结构的细节问题

mfc求助-请教大家一个《深入浅出mfc》里关于CRuntimeClass的问题

问题描述 请教大家一个<深入浅出mfc>里关于CRuntimeClass的问题 enter code here #0001 #include ""my.h"" #0002#0003 extern CMyWinApp theApp;#0004#0005 static char szCObject[] = ""CObject"";#0006 struct CRuntimeClass CObject::classCObj

求一个数据结构代码 要有注释 关于图的深度遍历的 要求必修用C语言做出

问题描述 求一个数据结构代码 要有注释 关于图的深度遍历的 要求必修用C语言做出 要求用数据结构 代码后面要有注释 底下的要求一个也不能漏 图的DFS遍历 要求: 1) 先任意创建一个图: 2) 图的DFS的递归和非递归算法的实现 3) 要求用邻接矩阵.邻接表两种结构存储实现 解决方案 http://zhidao.baidu.com/link?url=54LjtF_eA5Ppp2_FHcYL6q32Zhv1-gTcjAcHmXrHyddryApBeq-meV8z40RuGPEfqMxSGGKE6