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