原创 字符串:Knuth-Morris-Pratt子字符串查找算法

 之所以叫做KMP,是因爲這個算法是由Knuth、Morris、Pratt三個提出來的 排序原理: 1、我們將字符串A和B比較,在A中查找B字符串,來證明B字符串是否是A的子串。 2、上面我們寫出了普通的求B是A的字串的算法,你會

原创 一、TCP/IP 簡介

TCP/IP 是用於因特網 (Internet) 的通信協議。 計算機通信協議 計算機通信協議是對那些計算機必須遵守以便彼此通信的規則的描述。 什麼是 TCP/IP? TCP/IP 是供已連接因特網的計算機進行通信的通

原创 字符串:單詞查找樹

一、單詞查找樹 二、三項單詞查找樹

原创 字符串:Boyer-Moore字符串查找算法

1. 簡單介紹 在用於查找子字符串的算法當中,BM(Boyer-Moore)算法是目前被認爲最高效的字符串搜索算法,它由Bob Boyer和J Strother Moore設計於1977年。 一般情況下,比KMP算法快3-5倍。該算

原创 淺析數據結構與算法12--無向圖相關算法基礎

從這篇文章開始介紹圖相關的算法,這也是Algorithms在線課程第二部分的第一次課程筆記。 圖的應用很廣泛,也有很多非常有用的算法,當然也有很多待解決的問題,根據性質,圖可以分爲無向圖和有向圖。本文先介紹無向圖,後文再介紹有向圖。

原创 淺析數據結構與算法5--優先隊列與堆排序

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

原创 淺析數據結構與算法2--基本排序算法

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

原创 Eclipse 快捷鍵 大全

@author Donald-Hu @theme Eclipse 快捷鍵 大全 @time 2016/8/8 ----------------------------------------------------------------

原创 淺析數據結構與算法11--哈希表

在前面的系列文章中,依次介紹了基於無序列表的順序查找,基於有序數組的二分查找,平衡查找樹,以及紅黑樹,下圖是他們在平均以及最差情況下的時間複雜度: 可以看到在時間複雜度上,紅黑樹在平均情況下插入,查找以及刪除上都達到了lgN的時間

原创 三、TCP/IP 協議

TCP/IP 是不同的通信協議的大集合。 協議族 TCP/IP 是基於 TCP 和 IP 這兩個最初的協議之上的不同的通信協議的大的集合。 TCP - 傳輸控制協議 TCP 用於從應用程序到網絡的數據傳輸控制。 TC

原创 字符串:暴力子字符串查找算法

暴力子字符串查找算法的名字雖然很霸氣,但是效率不是很高。是一種簡單、粗暴的查找方式。  在最壞的情況下,暴力子字符串查找算法在長度爲N的文本中查找長度爲M的模式需要~NM次字符比較。 核心思想:就是對主串中的每一個字符作爲子串的開

原创 字符串:字符串排序

一、鍵索引計數法 二、低位優先於字符串排序 三、高位優先與字符串排序 四、三向字符串快速排序 五、字符串排序算法的選擇 點贊 收藏 分享 文章舉報 Donald-Hu 發佈了9

原创 淺析數據結構與算法10--平衡查找樹之B樹

前面講解了平衡查找樹中的2-3樹以及其實現紅黑樹。2-3樹種,一個節點最多有2個key,而紅黑樹則使用染色的方式來標識這兩個key。 維基百科對B樹的定義爲“在計算機科學中,B樹(B-tree)是一種樹狀數據結構,它能夠存儲數據、對其

原创 字符串:Rabin-Karp指紋字符串查找算法

暴力字符串匹配(brute force string matching)是子串匹配算法中最基本的一種,它確實有自己的優點,比如它並不需要對文本(text)或模式串(pattern)進行預處理。然而它最大的問題就是運行速度太慢,所以在很多

原创 四、TCP/IP 郵件

電子郵件是 TCP/IP 最重要的應用之一。 你不會用到... 當你寫郵件時,你不會用到 TCP/IP。 當你寫郵件時,你用到的是電子郵件程序,例如蓮花軟件的 Notes,微軟公司出品的 Outlook,或者 Netscap