日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【期外】 (一)关于LSH :局部敏感哈希算法

發(fā)布時間:2023/12/10 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【期外】 (一)关于LSH :局部敏感哈希算法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  LSH是我同學的名字,平時我會親切的稱呼他為離騷,老師好,左移(leftshift),小騷騷之類的,最近他又多了一個新的外號:局部敏感哈希(Locally?sensitive?hashing)。

  好了,廢話不多說直接轉(zhuǎn)入正題:

『寫在前面』局部敏感哈希是一種NOIP禁用的算法(因為使用了隨機數(shù)),若不感興趣就無需往下看了。


『什么是LSH?』

?

  LSH就是局部敏感哈希,聽著名字就知道和普通的哈希不一樣,具體哪里不一樣,就先吊吊你的胃口,稍后再說。先來了解LSH的各方面性能:

  首先先來思考一個問題:

如果給你一堆數(shù)字,然后查找一個數(shù)是否在這堆數(shù)中存在或者找到一個最相似的數(shù)字,你會怎么辦?

  Answer:

1)首先,我們一定會想到線性查找,直白的來說,這簡直就是最慢的一種方法,直接用數(shù)組存好后,一個一個來判斷,當數(shù)據(jù)規(guī)模小的時候還好,但是,到了規(guī)模很大的時候,比如說有1億個數(shù)據(jù)時,還能在規(guī)定的時間內(nèi)找到嗎?

2)其次,我們會想到二分查找,這種算法運用了分治的思想,將O(n)的時間復雜度降低到了O(log n)的時間復雜度,不過還需要排一次序,但是也費不了多少時間,這種方法相對來說是很可觀的,但是有時還滿足不了我們的需求。

3)這種想法也和 2)差不了多少,但是功能更強大,能夠?qū)崿F(xiàn)維護,插入,刪除等一系列操作,沒錯,它就是二叉查找樹,一種用樹結(jié)構(gòu)存儲的方法,但是有時卻很慢,放張圖,細細體會吧~

?比如說要查找4,那么就一定會全部遍歷一遍,顯然還是二分查找更快。

4)紅黑樹&其他平衡樹:平衡樹的種類很多,這些樹能有效避免上圖的情況,小編曾寫過一篇紅黑樹博客,想看戳這里,里面也有詳細的二叉查找樹講解。

5)好用的當然在后面——哈希算法,這種算法只要操作一遍數(shù)后,就可以做到O(1)的速度查找,但是問題卻在于如何處理哈希沖突(有關(guān)哈希的講解戳這里),適當?shù)膍od正是關(guān)鍵,但是往往我們處理不好這個問題,引起很多問題,比如2000和1000同時對10取模后將都是0,原本差別很大,但是現(xiàn)在沒有了差別;再比如1008和1000對10取模后分別是8和0,原本差別不大,但是現(xiàn)在差別相對變大了很多,因此便請出了局部敏感哈希

?  局部敏感哈希最大的特點在于保留原來的特性,雖然不一定能完全避免哈希沖突,但是能比一般哈希保留的更好,保持最大可能的相似度。

『哈希思想及實現(xiàn)』小編表示這是一個高冷的話題,離我太遙遠,等我學的更好時會自己寫的;現(xiàn)在就先放上大牛的博客吧:局部敏感哈希。

轉(zhuǎn)載于:https://www.cnblogs.com/TFLS-gzr/p/11120479.html

總結(jié)

以上是生活随笔為你收集整理的【期外】 (一)关于LSH :局部敏感哈希算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。