Time of Update: 2018-12-03
深入解析二叉尋找樹本文 所謂二叉尋找樹,實質上是按二叉樹的結構來組織的,這樣的樹可以用鏈表結構來表示,其中每一個節點都是一個對象。 二叉尋找樹中元素(也可稱為關鍵字)的儲存方式總是滿足以下幾個性質: 1.若二叉樹的左子樹不為空白,則左子樹上所有節點的值均不大於其根節點的值; 2.若二叉樹的右子樹不為空白,則右子樹上所有節點的值均不小於其根節點的值; 3.該二叉樹的左子樹和右子樹也是二叉尋找樹。
Time of Update: 2018-12-03
零零散散學演算法之再敘字串匹配 本文 字串匹配問題這是個老話題了,而我們也熱衷於學習和探討這個問題,並且我們也經常會用到它。比如說,我們用vim開啟一個文字檔,要在這個檔案中尋找某一個字串時,我們只需在底行模式下輸入/String即可;再比如,在linux終端中,我們要把目前的目錄下所有的c檔案列印出來,那麼這時候我們就會利用Regex來進行匹配操作(所有的c檔案可表示為*.c),而不是挨個去找。 好了,書接本文。寫本篇文章的目的有二:
Time of Update: 2018-12-03
FC:Fiber Channel FC:全稱Fiber Channel,是一種高速網路技術,現在主要用於儲存網路。 根據OSI模型的分層,類似的我們可將FC分為五層,如下: FC0– 物理層:包括電纜、編碼和解碼的標準等。 FC1– 資料連結層:訊號的編碼、解碼。 FC2– 網路層:定義的FC-PI-2標準,包括光纖通道的核心,並定義主協議。
Time of Update: 2018-12-03
深入解析最小產生樹本文 所謂最小產生樹,就是在一個具有N個頂點的帶權連通圖G中,如果存在某個子圖G',其包含了圖G中的所有頂點和一部分邊,且不形成迴路,並且子圖G'的各邊權值之和最小,則稱G'為圖G的最小產生樹。 由定義我們可得知最小產生樹的三個性質: •最小產生樹不能有迴路。 •最小產生樹可能是一個,也可能是多個。 •最小產生樹邊的個數等於頂點的個數減一。
Time of Update: 2018-12-03
深入解析資料壓縮演算法 前序 開始本文之前,先回顧一下上篇。上篇講解了幾種資料壓縮演算法中的兩種:Huffman壓縮演算法和RLE壓縮演算法。 詳解資料壓縮演算法(上):http://blog.csdn.net/fengchaokobe/article/details/7934865 本文 本文將詳解資料壓縮演算法的後兩種演算法:Rice壓縮演算法、LZW壓縮演算法。 第一節 LZW壓縮演算法
Time of Update: 2018-12-03
深入解析資料壓縮演算法本文 所謂資料壓縮,是指在不丟失資訊的前提下,縮減資料量以減少儲存空間,提高傳輸、儲存和處理效率的一種技術方法。或者是按照一定的演算法對資料進行重新組織,減少資料的冗餘和儲存的空間。 能實現資料壓縮的本質原因就是資料的冗餘性。 本系列將分為上下兩個部分,介紹四種資料壓縮演算法,分別為Huffman壓縮演算法、RLE壓縮演算法、LZW壓縮演算法、Rice壓縮演算法。 其中本文將詳解Huffman壓縮演算法和RLE壓縮演算法。
Time of Update: 2018-12-03
先看看赫夫曼樹假設有n個權值{w1,w2,…,wn},構造一個有n個葉子結點的二叉樹,每個葉子結點權值為wi,則其中帶權路徑長度WPL最小的二叉樹稱作赫夫曼樹或最優二叉樹。 赫夫曼樹的構造,赫夫曼最早給出了帶有一般規律的演算法,俗稱赫夫曼演算法。如下:(1)根據給定的n個權值{w1,w2,…,wn}構造n棵二叉樹的集合F={T1,T2,…,Tn},其中Ti中只有一個權值為wi的根結點,左右子樹為空白。(2)在F中選取兩棵根結點的權值為最小的數作為左、右子樹以構造一棵新的二叉樹,且置新的二叉樹的
Time of Update: 2018-12-03
深入理解RMQ & LCA 本文 第一節 RMQ、LCA概述 LCA:Lowest Common Ancestor,譯為最近公用祖先。其解釋就是說:在有根樹中,找出樹中任意兩個節點最近的公用祖先,或者說找到任意兩個節點離樹根最遠的公用祖先。 RMQ:Range Minimum Query,譯為區間最小值查詢。其解釋就是說:對於含有N個元素的數列A,在數列中找到兩個指定索引之間的最小值及最小值的位置。 第二節 RMQ Algorithm
Time of Update: 2018-12-03
虛擬化是一個非常寬泛的概念。隨著電腦技術的發展,這個概念所涵蓋的範圍也在隨之改變。因此想要對“虛擬化”給出一個準確而又清晰地定義絕非易事。目前業界對虛擬化已有多重定義: “虛擬化是表示電腦資源的抽象方法,通過虛擬接可以用與訪問抽象前資源一致的方法訪問抽象後的資 源,這種資源的抽象方法並不受現有資源的架設方式、地理位置或底層資源的物理配置的限制。” ——Wikipedia
Time of Update: 2018-12-03
開頭語
Time of Update: 2018-12-03
Time of Update: 2018-12-03
兩個東西有什麼關係 ? 哥們關係兩個有什麼共同的地方
Time of Update: 2018-12-03
多字串匹配第一節 提出問題 所謂多串匹配,就是給定一些模式串(子串),在一段本文(主串)中找到第一個出現的任意一個模式串的位置。具體來說就是:給定m個長度分別為L1、L2......Lm的模式串數組A[1..L1]、A[1..L2]......A[1..Ln],假設主串為一個長為n的數組T[1..n],那麼在主串中的某一位置X,對於滿足匹配的任意串Y,會滿足A[1..LY]∈T[X...X+Y]。
Time of Update: 2018-12-03
在用法上,in和exists的作用都一樣,甚至in可以用exists來寫,exists也可以換成in來寫,但在資料量較大的時候效率不盡相同。in 和 exists的區別:如果子查詢得出的結果集記錄較少,主查詢中的表較大且又有索引時應該用in,
Time of Update: 2018-12-03
RPC(Remote Procedure
Time of Update: 2018-12-03
零零散散學演算法系列最大流問題之序 最大流問題之增光路徑演算法的比較:http://blog.csdn.net/fengchaokobe/article/details/7584781參考文獻:[1] Ravindra K. Ahuja, Thomas L. Magnanti, and James B. Orlin. Network Flows: Theory, Algorithms, and Applications.[2] Thomas H. Cormen, Charles E.
Time of Update: 2018-12-03
1973年,Blum、Floyd等幾位大仙合并一體,寫了一篇題為 “Time bounds for selection” 的章,給出了一種在數組中選出第k小元素的演算法,俗稱"中位元之中位元演算法"。該演算法從理論上保證了最壞情形下的線性時間複雜度(O(n))。而一個簡單的排序演算法像快速排序的時間複雜度是O(nlogn),利用類似於快速排序的做法是:首先對該無序數組進行排序(O(nlogn)),然後進行一次遍曆(O(k))就可以找到第k小元素。下面我們來重點看看中位元排序法。
Time of Update: 2018-12-03
XAML的編譯過程主要包括三個過程: 1)將一個XAML檔案轉換成特殊的二進位格式; 2)將轉換好的內容作為二進位資源嵌入到當前正在被建立的程式集中; 3)執行連結操作,將XAML與過程式代碼自動連接起來。 編譯過程中產生一些檔案,如.baml檔案和.g.cs檔案。前者便是二進位檔案,作為二進位資源嵌入到程式集中;後者是C#源檔案,被編入到程式集中,g就是generated的意思,即產生的源檔案。 綜上,就是XAML和過程式代碼混合編譯的過程。
Time of Update: 2018-12-03
在vs中程式有一種CLR表單應用程式,該程式和一般的vs中程式有所不同,比如我建了一個工程名為3_28,那它的預設路徑如所示:如果你把要讀取的檔案放在該目錄的上一級目錄如果你用相對路徑,代碼如下 this->BackgroundImage=System::Drawing::Bitmap::FromFile("1.jpg");那麼將提示找不到檔案路徑,但我們同樣可以有解決的辦法,方法是改變代碼形式,如下: this->BackgroundImage=System::Drawing::
Time of Update: 2018-12-03
初識磁碟陣列第一節 什麼是RAID? RAID是Redundant Array of Independent Disks的縮寫,翻譯過來意思是:獨立磁碟容錯陣列,簡稱磁碟陣列。其基本思想就是把多個相對便宜、容量較小、穩定性較高的硬碟組合起來,成為一個硬碟陣列組,使效能達到甚至超過一個價格昂貴、容量巨大的硬碟。第二節 磁碟陣列的功能 一般來說,磁碟陣列有三個功能。 1.整合閑置的磁碟空間