原创 System V進程通信總結思維導圖

需要源文件的朋友可以留個郵箱,共同學習

原创 牛頓法求解一元函數

牛頓法求解一元函數 對於一個簡單的一元方程我們可以通過代數運算來求解,但是對於一個非線性的複雜一元函數例如−2x5−8x2+sin(x∗x)−2x=0−2x5−8x2+sin(x∗x)−2x=0 這樣的方程,想要通過人力計算就很難辦到。

原创 求字符串中最後一個單詞的長度

例如:"hello world" 返回 5; 方法一: 基於STL int LastWordLen1(const char* s) { if (NULL == s) return 0; string

原创 字符串匹配之Rabin-Karp算法

字符串匹配之Rabin-Karp算法 上一篇講解了暴力匹配,暴力匹配最大的問題就是太慢了,而且太暴力了,不符合社會主義價值觀。 因此,這裏來講解一個相對快一點的字符串匹配算法。 Rabin−KarpRabin−Karp 算法是Rab

原创 字符串匹配之KMP算法

字符串匹配之KMP算法 對於字符串匹配算法中,前面介紹的算法在字符串匹配中都會有重複比較的情況,那麼對於已經比較過的子串,我們是否可以用某種方法把它保存起來,等到下次要比較的時候直接跳過已經比較過的字符串呢? 下面介紹一種由Knuth

原创 字符串匹配之有限自動機

字符串匹配之有限自動機 先來看什麼是有限自動機? 首先,有限狀態機是一個判定的機器,所謂判定的機器就是你給它輸入一個模式,會的到一個YES或者NOYES或者NO 的結果,比如要判斷1+11+1 的結果: 有限狀態機就是構建出一個滿

原创 多線程總結思維導圖

多線程總結

原创 STL六大組件總結思維圖

stl六大組件

原创 計算機網絡編程基礎知識總結思維導圖

重點總結了在傳輸層和應用層

原创 進程通信之信號量

信號量 信號量是一個計數器,用來表示系統資源的數量,信號量用於多進程對共享數據對象的訪問,來實現程序的同步互斥。爲了正確實現信號量,信號量的加減操作必須是原子操作,因此,信號量也是在內核中實現的。 先看一下同步互斥和原子操作: 同步互斥

原创 進程通信之管道

管道 管道是UNIX系統IPC的最古老形式,並且所有UNIX系統都提供此種通信機制,我們把一個進程連接到另一個進程的數據流稱爲管道,在管道中一個進程寫,一個進程讀。 管道的本質也就是操作系統內核提供的一段內存。 管道在創建時獲得固定

原创 字符串匹配之暴力匹配

字符串匹配之暴力匹配 字符串匹配就是在一個字符串集裏面找到某個模式串出現的所有位置。 例如,找出模式P=abaaP=abaa 在文本T=abcabaabcabacT=abcabaabcabac 中的位置,用mm 和nn 分別表示PP 和

原创 進程知識總結思維導圖

全面的進程知識體系,需要源文件的朋友可以留郵箱,共同學習

原创 紅黑樹詳解

紅黑樹 紅黑樹是一棵二叉搜索樹,它在每一個節點上增加了一個表示顏色的指針,紅色或者黑色。 一棵紅黑樹是滿足下面性質的二叉搜索樹: 每個節點非紅即黑 根結點是黑色的 每個葉節點(這裏的葉節點是指NULL節點)是黑色的 如果一個節點是紅

原创 進程通信之消息隊列

消息隊列 消息隊列就是存放消息(數據)的鏈表,這個鏈表由內核維護,並且由一個消息隊列的標識符標識。 消息發送者可以指定消息發送的類型,接受這也可以依據類型來接受。接受者按照特定類型遵循先進先出的原則。 當進程試圖給一個滿的隊列發送消