[問題] queue的空間配置問題

看板C_and_CPP作者 (讀書人)時間14年前 (2011/03/23 20:12), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
各位前輩 最近在BFS的部份遇到Queue的問題 typedef struct tagQueue { int item[MAX_ITEM]; int front; int rear; }QUEUE; QUEUE q; MAX_ITEM的大小是否會影響實驗結果呢? 假如我要使用 150 X 150 的相鄰矩陣,也就是150個節點 想請問MAX_ITEM的數值,要如何設置?? 因為我使用 100 X 100 時,設定MAX_ITEM為100,實驗結果是符合預期的 ~~~~~~~~~~~~~~~~~~~~~~~ 例如 100 X 100時 1-2 1-3 2-4 2-5 3-6 3-7 . . . 總共會有99筆資料 ~~~~~~~~~~~~~~~~~~~~~~~ 但是當 150 X 150時,設定MAX_ITEM為150,則跑出一些出現負號的數字 而且也出現不到149筆資料 想請問各位前輩,我的問題是出在哪裡?? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.170.133.108

03/24 04:29, , 1F
看你的 BFS 有沒有在推進 Queue 前做是否巡過或將要巡的檢查
03/24 04:29, 1F

03/24 04:30, , 2F
如果有做的話這會保證每個節點至多推進 Queue 中一次
03/24 04:30, 2F

03/24 04:30, , 3F
那這樣設是沒問題的
03/24 04:30, 3F

03/24 04:31, , 4F
沒有的話它可能會是平方成長...
03/24 04:31, 4F

03/24 06:00, , 5F
在配memory space時, 確定都有配到?
03/24 06:00, 5F

03/24 10:48, , 6F
請修改較符合內文的標題利於他人搜尋, 謝謝
03/24 10:48, 6F

03/26 23:53, , 7F
標題已修改為「queue的空間配置問題」
03/26 23:53, 7F
文章代碼(AID): #1DYbGXVz (C_and_CPP)