【发布时间】:2017-07-28 08:36:34
【问题描述】:
我喜欢将 SNMP OID 存储在允许我在其中搜索的数据结构中。二叉树或链表不正确?
数据结构必须支持一个父节点和多个子节点。
【问题讨论】:
我喜欢将 SNMP OID 存储在允许我在其中搜索的数据结构中。二叉树或链表不正确?
数据结构必须支持一个父节点和多个子节点。
【问题讨论】:
SNMP OID 以分层的 n 元树结构组织。因此,使用链表不会让您非常快速地搜索特定的 OID(您必须从列表的开头逐个循环到匹配的 OID)。二叉结构可以工作,但将 n 叉树映射到二叉树需要几行代码。
我建议您使用数据结构库,而不是自己完成这项工作。根据您使用的编程语言,您可能会发现相同键/值存储和搜索 API 的不同实现。例如,使用 Java,您会发现同一个 Map 接口的许多实现:一些基于哈希表,一些基于树,一些基于链表等。为了您的性能需求,并且由于 OID 树结构,你应该避免使用链表。其他各有优劣。
【讨论】: