我想實現一個生成圖形的工具,這些圖形的內存將在數據結構(所謂的「磁帶」)上分配。您可以將磁帶想象爲一組元素,每個元素都包含「節點ID」,鏈接到其「父節點」以及其「子節點」。使用數組實現圖形
我在尋找的是一種識別陣列中的可用插槽便宜的方法,以便在添加新節點時可以快速識別空插槽。
如果我使用動態數組實現磁帶會怎麼樣?在數組大小需要調整大小的情況下,我是否可以避免將整個磁帶複製到新分配的數組中?
這裏有人有什麼想法嗎?
我想實現一個生成圖形的工具,這些圖形的內存將在數據結構(所謂的「磁帶」)上分配。您可以將磁帶想象爲一組元素,每個元素都包含「節點ID」,鏈接到其「父節點」以及其「子節點」。使用數組實現圖形
我在尋找的是一種識別陣列中的可用插槽便宜的方法,以便在添加新節點時可以快速識別空插槽。
如果我使用動態數組實現磁帶會怎麼樣?在數組大小需要調整大小的情況下,我是否可以避免將整個磁帶複製到新分配的數組中?
這裏有人有什麼想法嗎?
我假設你想要預先分配一個大的「磁帶」。數千個節點。
您應該結合2個概念:
每當磁帶上的條目被釋放時,將其添加到空閒列表中。
每當需要帶一個新的條目:
您也可以將其與重新分配方案結合使用,您可以在其中保留磁帶的總分配大小,並在最後使用的條目到達磁帶末尾時重新分配。
非常感謝這樣一個輝煌的想法! –
我在C裏做了10多年的開發,現在有了10年的C++經驗,我知道使用的技巧。 – Patrick
什麼是圖表?它有軸嗎? –
你是什麼意思的軸? –
你是那種帶有x軸和y軸的圖形,還是推銷員旅行的圖形? –