2017-07-28 21 views
0

我喜歡將SNMP OID存儲在允許我在其中搜索的數據結構中。二叉樹或鏈表不正確?哪個數據結構可以存儲OID

數據結構必須支持具有許多子節點的一個父節點。

回答

0

SNMP OID按照分層的n元樹結構進行組織。因此,使用鏈表不會讓您搜索特定的OID非常快(您必須從列表的開頭逐個循環到匹配的OID)。二進制結構可以工作,但將n元樹映射到二叉樹需要一些代碼行。

我建議你使用數據結構庫,而不是自己做這個工作。根據您所編程的語言,您可能會發現同一個鍵/值存儲和搜索API的不同實現。例如,使用Java,您會發現許多相同Map接口的實現:一些基於哈希表,一些基於樹,一些基於鏈接列表等。爲了滿足您的性能需求,並且由於OID樹結構,你應該避免鏈接列表。其他人有利弊。