首页
/
每日頭條
/
科技
/
學生手機号碼尾号什麼最好
學生手機号碼尾号什麼最好
更新时间:2025-12-06 15:41:33

之前寫了一個100W條記錄中查找特定數據的性能測試,和遍曆算法做了比較,二分法性能強很多.

今天我用二分法和bitmap數據結構存儲來比較下:

場景一:

200W條手機号碼記錄中查找特定手機号碼的記錄需要花費的時間:

學生手機号碼尾号什麼最好(200W手機号碼中查找特定号碼)1

可以看到查找手機号碼: 19998600000,兩種算法所用的時間差距還是比較明顯的,

bitmap強于二分法,效率大概是7倍,效果也比較明顯,bitmap屬于使用空間換時間,因此bitmap所要占用的内存空間會更大,需要事先根據數據量和存儲的數據大小來申請存儲空間,對于兩種算法的取舍還是要基于當前的業務場景

大家如果有更好的想法,歡迎交流學習!!!!!

下面就是go實現的bitmap算法的主要代碼:

type BitMap []byte

func NewBitMap(max int) BitMap {

return make([]byte, (max>>3) 1)

}

func (b BitMap) Set(n uint) {

if (n >> 3) > uint(len(b)) {

fmt.Println("數字太大超過最大存放範圍")

return

}

index := n >> 3

pos := n & 0x07

b[index] = b[index] | 1<<pos

}

func (b BitMap) Get(n uint) bool {

if (n >> 3) > uint(len(b)) {

fmt.Println("數字太大超過最大存放範圍")

return false

}

index := n >> 3

pos := n & 0x07

return b[index]&(1<<pos) != 0

}

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
王者榮耀賽季末1800分亂殺
王者榮耀賽季末1800分亂殺
熟悉王者榮耀的朋友都知道,雖然這是一款團隊遊戲,但個人操作能力還是十分重要的,因為匹配系統是随機的緣故,所以不能保證隊友每一把都是大神。想要取得勝利,團隊合作固然重要,但很多時候還是要咱們自己也能C才行。評價一位玩家技術的好壞,并不隻看殺多...
2025-12-06
網易雲音樂私人FM是什麼意思
網易雲音樂私人FM是什麼意思
網易雲音樂私人FM是什麼意思?私人FM其實就是私人電台,這個私人FM隻要調教的好了就會推送用戶喜歡的音樂網易雲音樂私人FM是根據用戶聽歌習慣,進行智能推薦歌曲的一個功能該功能依賴于平台的智能推薦算法,算法越強大,推薦的歌曲也就越符合用戶喜好...
2025-12-06
b站新人up主為什麼漲粉
b站新人up主為什麼漲粉
之前因為lex的事情,有朋友對于B站粉絲數産生了一些疑問,說其中有一些假粉僵屍粉啥的,甚至還有一個段子,說一邊掉粉一邊有人在朝裡邊塞僵屍粉啥的,對于這個事情,老實說我不太了解,所以也沒有發言權,我個人是持懷疑的态度的。我個人本身既有微博賬号...
2025-12-06
boss直聘市場情況
boss直聘市場情況
boss直聘市場情況?8月30日,資本邦了解到,8月27日,美股上市公司BOSS直聘(BZ.US)發布未經審計的2021年二季度财報,這是其上市後發布的首份财報,我來為大家科普一下關于boss直聘市場情況?下面希望有你要的答案,我們一起來看...
2025-12-06
華碩電腦按哪個鍵進入u盤系統
華碩電腦按哪個鍵進入u盤系統
華碩電腦按哪個鍵進入u盤系統?開機時按esc鍵,可以選擇啟動項,然後選擇u盤啟動即可,現在小編就來說說關于華碩電腦按哪個鍵進入u盤系統?下面内容希望能幫助到你,我們來一起看看吧!華碩電腦按哪個鍵進入u盤系統開機時按esc鍵,可以選擇啟動項,...
2025-12-06
Copyright 2023-2025 - www.tftnews.com All Rights Reserved