[問題] 關於Python的Set
大家好, 我最近在開發一個軟體, 裡面需要記錄大量的稀疏二維整數點座標,
坐標軸長度各約1000, 且需要重覆做約2~3萬(從空的座標開始重覆做), 而這個軟
體需要支援:
1.快速找尋下一個存在的整數點座標.
2.快速增加一個指定位置的整數點座標.
2.快速刪除一個指定位置的整數點座標
3.快速增加一段已指定位置與長度的連續整數點座標.
4.快速刪除一段已指定位置與長度的連續整數點座標.
目前我用C++實做了一個sparse matrix(用2-D link list做成的),
而最近想把資料結構改成Python內建的Dictionary+Set, 即把x座標當
Dictinary的Key, Dictionary的Value則是一組Set,Set裡面是該x座標下
存在的所有y座標. 比如現在有三個點(1,2) (1,5) (1,10) 那就會組成:
{'1':{2,5,10}}.
1.Set是否是一種hash table, 故要搜尋一個點的time complexity是O(1)?
2.另外想請問大家有沒有推薦的資料結構(切合上述四點要求)?
平常都會來這個版逛逛看一些高手的文章, 但是我是第一次在這個版發文.
感謝大家給建議!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.5.201
※ 編輯: bin90909 來自: 140.113.5.201 (03/10 16:57)
推
03/10 17:00, , 1F
03/10 17:00, 1F
→
03/10 17:01, , 2F
03/10 17:01, 2F
※ 編輯: bin90909 來自: 140.113.5.201 (03/10 17:04)
→
03/10 17:05, , 3F
03/10 17:05, 3F
推
03/10 17:07, , 4F
03/10 17:07, 4F
→
03/10 17:10, , 5F
03/10 17:10, 5F
→
03/10 17:11, , 6F
03/10 17:11, 6F
推
03/11 01:00, , 7F
03/11 01:00, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章