算法愛好者

RSS訂閲
微信公眾號:AlgorithmFans
功能介紹:
算法是程序員的內功!伯樂在線旗下賬號「算法愛好者」專注分享算法相關文章、工具資源和算法題,幫程序員修煉內功.
分享到:


樸素貝葉斯分類算法原理與實踐

今天介紹一下樸素貝葉斯分類算法,講一下基本原理,再以文本分類實踐。

發佈時間: 2018-12-05 20:54:13點擊量: 630

於千萬人之中遇見你所要遇見的人

於千萬人之中遇見你所要遇見的人,於千萬年之中,時間的無涯的荒野裏,沒有早一步,也沒有晚一步,剛巧趕上了,沒有別的話可説,惟有輕輕地問一聲,噢,你也在這裏?

發佈時間: 2018-12-05 20:52:41點擊量: 279

一致性哈希算法原理設計

一致性哈希(Consistent Hashing),最早由MIT的Karger於1997年提出,主要用於解決易變的分佈式Web系統中,由於宕機和擴容導致的服務震盪。現在這個算法思路被大量應用,並且在實踐中得到了很大的發展。

發佈時間: 2018-12-05 20:47:26點擊量: 715

淺談算法和數據結構(10):平衡查找樹之 B 樹

前面講解了平衡查找樹中的2-3樹以及其實現紅黑樹。2-3樹種,一個節點最多有2個key,而紅黑樹則使用染色的方式來標識這兩個key。

發佈時間: 2018-12-05 20:45:40點擊量: 904

淺談算法和數據結構(9):平衡查找樹之紅黑樹

前面一篇文章介紹了2-3查找樹,可以看到,2-3查找樹能保證在插入元素之後能保持樹的平衡狀態,最壞情況下即所有的子節點都是2-node,樹的高度為lgN,從而保證了最壞情況下的時間複雜度。

發佈時間: 2018-12-05 20:44:06點擊量: 463

淺談算法和數據結構(8):平衡查找樹之2-3樹

本文及後面文章介紹的平衡查找樹的數據結構,能夠保證在最差的情況下也能達到 lgN 的效率,要實現這一目標我們需要保證樹在插入完成之後始終保持平衡狀態,這就是平衡查找樹(Balanced Search Tree)

發佈時間: 2018-12-05 20:42:41點擊量: 77

'

淺談算法和數據結構(7):二叉查找樹

前文介紹了符號表的兩種實現,無序鏈表和有序數組,無序鏈表在插入的時候具有較高的靈活性,而有序數組在查找時具有較高的效率,本文介紹的二叉查找樹(Binary Search Tree,BST)這一數據結構綜合了以上兩種數據結構的優點。

發佈時間: 2018-12-05 20:41:26點擊量: 913

淺談算法和數據結構(6):符號表及其基本實現

在介紹查找算法,首先需要了解符號表這一抽象數據結構,本文首先介紹了什麼是符號表,以及這一抽象數據結構的的API,然後介紹了兩種簡單的符號表的實現方式。

發佈時間: 2018-12-05 20:39:58點擊量: 527

淺談算法和數據結構(5):優先級隊列與堆排序

在很多應用中,我們通常需要按照優先級情況對待處理對象進行處理,比如首先處理優先級最高的對象,然後處理次高的對象。最簡單的一個例子就是,在手機上玩遊戲的時候,如果有來電,那麼系統應該優先處理打進來的電話。

發佈時間: 2018-12-05 20:38:38點擊量: 167

淺談算法和數據結構(4):快速排序

文章介紹時間複雜度為O(nlgn)但是排序速度比合並排序更快的快速排序(Quick Sort)。快速排序是20世紀科技領域的十大算法之一 ,他由C. A. R. Hoare於1960年提出的一種劃分交換排序。

發佈時間: 2018-12-05 20:37:23點擊量: 828

淺談算法和數據結構(3):合併排序

合併排序,顧名思義,就是通過將兩個有序的序列合併為一個大的有序的序列的方式來實現排序。合併排序是一種典型的分治算法:首先將序列分為兩部分,然後對每一部分進行循環遞歸的排序,然後逐個將結果進行合併。

發佈時間: 2018-12-05 20:36:06點擊量: 255

淺談算法和數據結構(2):基本排序算法

本篇開始學習排序算法。排序與我們日常生活中息息相關,比如,我們要從電話簿中找到某個聯繫人首先會按照姓氏排序、買火車票會按照出發時間或者時長排序、買東西會按照銷量或者好評度排序、查找文件會按照修改時間排序等等

發佈時間: 2018-12-05 20:34:56點擊量: 154

淺談算法和數據結構(1):棧和隊列

最近晚上在家裏看Algorithems,4th Edition,我買的英文版,覺得這本書寫的比較淺顯易懂,而且“圖碼並茂”,趁着這次機會打算好好學習做做筆記,這樣也會印象深刻,這也是寫這一系列文章的原因。

發佈時間: 2018-12-05 20:33:53點擊量: 657

淺談算法和數據結構(11):哈希表

在前面的系列文章中,依次介紹了基於無序列表的順序查找,基於有序數組的二分查找,平衡查找樹,以及紅黑樹,下圖是它們在平均以及最差情況下的時間複雜度:

發佈時間: 2018-12-05 20:32:48點擊量: 772

名企筆試:美團點評2017秋招筆試真題(平衡二叉樹)

一顆高度為4 的平衡二叉樹,其最少節點

發佈時間: 2018-12-05 20:31:45點擊量: 751

讀完這篇,希望你能真正理解什麼是哈希表

哈希表也稱為散列表,是根據關鍵字值而直接進行訪問的數據結構。也就是説,它通過把關鍵字值映射到一個位置來訪問記錄,以加快查找的速度。這個映射函數稱為哈希函數(也稱為散列函數),映射過程稱為哈希化,存放記錄的數組叫做散列表。

發佈時間: 2018-12-05 20:31:44點擊量: 141

都 2018 年了,還有必要學 Vim 嗎?

從上世紀九十年代起到現在, Vim 一直是最流行、應用最廣泛的文本編輯器之一。程序員、作家、系統管理員、運維人員以及其他需要與文本文件打交道的人都在積極地使用它。但現在都 2018 年了,我們有各種現代文本編輯器,還有必要學習 Vim 嗎?

發佈時間: 2018-12-05 20:31:34點擊量: 153

美團面試,我竟然輸給了冒泡排序……

前一陣子有個讀者在微信裏跟我聊了一件很有趣的事情,他去美團實習,面試讓他哭笑不得,因為敗在了冒泡排序上。

發佈時間: 2018-12-05 20:31:29點擊量: 832

除了冒泡排序,你知道 Python 內建的排序算法嗎?

對於編程算法,可能很多讀者在學校第一個瞭解的就是冒泡排序,但是你真的知道 Python 內建排序算法 list.sort() 的原理嗎?

發佈時間: 2018-12-05 20:31:26點擊量: 822

面向對象:良人若彩虹,遇你方知有

1993年1月,166cm,本科,湖南-長沙。

發佈時間: 2018-12-05 20:31:20點擊量: 873