[問題] 請教一下有關刪除deque的問題

看板C_and_CPP作者 (ㄚ魚!!)時間11年前 (2013/08/01 11:23), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 目前的程式實作上有大量的三角網格,會即時增加/刪除 三角網格個人是用deque去存的 增加是用.push_back() 還OK 刪除若用.erase() 會很慢.....超級慢 所以目前用的是一個變通的方法,還算堪用..... 每個三角網格多用一個flag 紀錄該網格有沒有被刪掉 一定時間後,再跑迴圈COPY還在的三角網格至另一串deque,把被刪掉的網格給濾掉 但是覺得這辦法很....蠢......><||| 對資料結構運算速度這塊沒這麼熟,想請教是否有能更迅速 方便的方法 請不吝賜教 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.112.106

08/01 11:40, , 1F
我覺得你的方法不錯阿XD 其他相關用途呢?
08/01 11:40, 1F

08/01 11:41, , 2F
例如需不需要 random access?
08/01 11:41, 2F

08/01 11:41, , 3F
三角網格儲存需要有順序性嗎?
08/01 11:41, 3F

08/01 11:42, , 4F
資料結構很多是在做trade-off
08/01 11:42, 4F

08/01 11:42, , 5F
例如改用平衡樹(e.g. set)之類可以達到O(log n)存取/增刪
08/01 11:42, 5F

08/01 11:51, , 6F
邊跑迴圈邊刪還有list 是O(1)但是迴圈會跑比較慢
08/01 11:51, 6F
文章代碼(AID): #1H-TIbMo (C_and_CPP)
文章代碼(AID): #1H-TIbMo (C_and_CPP)