第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這個查找應該用什么算法?

這個查找應該用什么算法?

慕哥9229398 2019-01-02 22:27:57
data = [     {type: 'point', ...},       {type: 'point', ...},     {type: 'point', ...},     {type: 'point', ...},     {type: 'point', ...},     {type: 'point', ...},     {type: 'line', ...},     {type: 'line', ...},     {type: 'line', ...},     {type: 'line', ...},     {type: 'area', ...},     {type: 'area', ...},     {type: 'area', ...},     {type: 'area', ...},     {type: 'area', ...} ]這個數(shù)據(jù)集合的特征是,各個數(shù)據(jù)按照各自的type聚集在一起。并且,type為point的集合一定會在line前面,同理,line的集合一定會在area前面?,F(xiàn)在要插入一條新的數(shù)據(jù),type為'area',插入到area集合的第一項里,除了順序查找,有沒有別的查找算法能快一點?謝謝
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

如果能提前確定type的順序,用二分法查找應該是最快的
思路就是先取要查找的type在這個序列中的index

然后拿到目標數(shù)組最中間的那個對象,取中間那個對象type的index與查找index對比
大于就用數(shù)組后半部【小于用前半部】繼續(xù)進行這個取中間對象匹配
一直二分匹配到找到與查找type一樣index的中間對象,用這個對象index向前遍歷找到初始位置返回。

數(shù)據(jù)量很大的情況下應該能增加不少效率,不多的話還是直接findIndex來得直接


查看完整回答
反對 回復 2019-01-02
  • 1 回答
  • 0 關(guān)注
  • 439 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號