我喜欢将SNMP OID存储在允许我在其中搜索的数据结构中。二叉树或链表是不正确的?
数据结构必须支持一个具有许多子节点的父节点。
答案 0 :(得分:0)
SNMP OID以分层的n-ary树结构组织。因此,使用链接列表不会让您非常快速地搜索特定的OID(您必须逐个从列表的开头循环到匹配的OID)。二进制结构可以工作,但是将n-ary树映射到二叉树需要一些代码行。
我建议您使用数据结构库,而不是自己完成工作。根据您编程的语言,您可能会发现相同的键/值存储和搜索API的不同实现。例如,使用Java,您会发现许多相同Map接口的实现:一些基于哈希表,一些基于树,一些基于链表等。为了您的性能需求,并且由于OID树结构,你应该避免使用链表。其他人有利有弊。