我正在研究一個問題並在C++中實現一個算法。該算法需要一個數據結構,其中它類似於二維數組(例如20x20數組)。主要的不同之處在於每個細胞必須連接八個細胞周圍(即上,下,左,右和四角)。C++中的數據結構
每個成員的狀態將根據鄰居的數據更改而改變。所以,每個細胞都在動態增長。每個小區都需要不斷檢查其所有鄰居的數據。
基於這個要求,我想象這個數據結構是圓形的,就像一個沒有邊的圓環或百吉餅,這樣每個單元就相互連接了。
關於這個數據結構表示的任何想法?我正在考慮使用鄰接鏈表的列表,其中每個成員都包含周圍八個鄰居的鏈表。你怎麼看?我在正確的軌道上嗎?
選擇數據結構的標準之一是如何使用它。 –
「我在正確的軌道上嗎?」是。 – axiom
我不確定是否有足夠的信息可以幫助。在二維數組中尋找相鄰的鄰居看起來微不足道,即使你想包裝邊緣。 –