Re: [新聞] 資訊龐大 簡訊實聯制疫調無用

作者: manlike ( )   2021-06-29 12:34:58
※ 引述《ipojay (ipojay)》之銘言:
: 唐鳳會不會太忙了
: 又要做簡訊實名,又要做疫苗預約,還很多舊系械要maintain
: 要有一個team在做吧?
: 簡訊實名趕鴨子上架,可能只負責塞資料進去
: 怎麼好好撈資料出來應該還沒做
: 假設簡訊實名一筆資料 有這些資料 - 電話,店名,時間
: 比較簡單的做法
: select 店名,時間 from 資料庫 where 電話=確診者電話 and 時間>確診時間5天前
: 這樣確診5天前之後所有去過的店就知道了
: 然後找出足跡重疊的人
: select 電話 from 資料庫 where 店名=row['店名'] and 時間>=row['時間']
: and 時間<=(row['時間']+1天)
: 這樣這家店在確診者進入後一天內有來過的人的電話就知道了
: 理論不難,弄個介面會比較好撈資料
在下新竹尖石鄉演算法大神啦~
這個問題暴力解就是全部資料逐筆比對時間地點,即linear search 就行了 => O(N)
要比較厲害點,就是按時間地點(代碼)排序一下 => O(N logN)
其實有點腦都知道,資料儲存進去時就要按時間排序了,所以是 O(1)。
然後比對時間範圍及地點,用 binary search => O(logN)
全部複雜度就是 O(logN),
log 幾億筆資料,查一個確診者時間地點大概沒十秒,
給你算一百個確診者時間地點,就幾分鐘吧。
大概是這樣~
樓下請給分。

Links booklink

Contact Us: admin [ a t ] ucptt.com