s19930811

  • 搜索引擎的技術架構

    1. 搜索引擎的分類 搜索引擎按其工作方式主要可分為三種: 分別是全文搜索引擎(Full Text Search Engine) 目錄索引類搜索引擎(Search Index/Directory) 元搜索引擎(Meta Search Engine)。 ■ 全文搜索引擎  全文搜索引擎是名副其實的搜索引擎,國外具代表性的有Google、Fast/Al…

    Linux干貨 2015-11-18
  • 位運算符及其應用

    一、C語言的六種位運算符: & 按位與 | 按位或 ^ 按位異或 ~ 取反 << 左移 >> 右移 1.   按位與運算 按位與運算符"&"是雙目運算符。     &nb…

    Linux干貨 2015-11-18
  • PHP5.4最新特性

    原文Oracle:LAMP 體系有了新的競爭,但此版本中的特性使 PHP 再次挑戰極限。 稍微做了修改。: 概述總結:1. 內存和性能改進:大型 PHP 應用程序中可節省 20-50% 的內存。通過各種優化使性能提高 10-30%2. 支持特性Trait3. 精簡數組語法,可以定義短數組4. 函數數組解除引用,支持Array dereferenci…

    Linux干貨 2015-11-18
  • 海量數據處理算法—Bit-Map

    1. Bit Map算法簡介         來自于《編程珠璣》。所謂的Bit-map就是用一個bit位來標記某個元素對應的Value, 而Key即是該元素。由于采用了Bit為單位來存儲數據,因此在存儲空間方面,可以大大節省。 2、 Bit Map的基本思想       &nbs…

    Linux干貨 2015-11-10
  • PHP字符串的編碼問題

        大家都知道,不同字符編碼,其在內存占用的字節數不一樣。如ASCII編碼字符占用1個字節,UTF-8編碼的中文字符是3字節,GBK為2個字節。     PHP 也自帶幾種字符串截取函數,其中常用到的就是 substr 和 mb_substr。     使用substr截取中…

    Linux干貨 2015-10-22
  • 海量數據處理算法—Bloom Filter

    1. Bloom-Filter算法簡介         Bloom-Filter,即布隆過濾器,1970年由Bloom中提出。它可以用于檢索一個元素是否在一個集合中。        Bloom Filter(BF)是一種空間效率很高的隨機數據結構,它利用位數組很簡潔地表…

    Linux干貨 2015-10-22
  • B-樹和B+樹的應用:數據搜索和數據庫索引

    B-樹 1 .B-樹定義 B-樹是一種平衡的多路查找樹,它在文件系統中很有用。 定義:一棵m 階的B-樹,或者為空樹,或為滿足下列特性的m 叉樹:⑴樹中每個結點至多有m 棵子樹;⑵若根結點不是葉子結點,則至少有兩棵子樹; ⑶除根結點之外的所有非終端結點至少有[m/2] 棵子樹;⑷所有的非終端結點中包含以下信息數據:    &nb…

    Linux干貨 2015-07-30
  • gzip壓縮算法

    gzip,zlib,以及圖形格式png,使用的是同一個壓縮算法deflate。我們通過對gzip源碼的分析來對deflate壓縮算法做一個詳細的說明: 第一,gzip壓縮算法基本原理的說明。 第二,gzip壓縮算法實現方法的說明。 第三,gzip實現源碼級的說明。 1. Gzip壓縮算法的原理      &n…

    Linux干貨 2015-07-30
  • gzip壓縮輸出

    一、gzip介紹          gzip是GNU zip的縮寫,它是一個GNU自由軟件的文件壓縮程序,也經常用來表示gzip這種文件格式。軟件的作者是Jean-loup Gailly和Mark Adler。1992年10月31日第一次公開發布,版本號是0.1,目前的穩定版本是…

    Linux干貨 2015-07-29
  • 設計模式 ( 十八 ) 策略模式Strategy(對象行為型)

    設計模式 ( 十八 ) 策略模式Strategy(對象行為型) 1.概述         在軟件開發中也常常遇到類似的情況,實現某一個功能有多種算法或者策略,我們可以根據環境或者條件的不同選擇不同的算法或者策略來完成該功能。如查找、排序等,一種常用的方法是硬編碼(Hard Coding)在一個類中,如需要提供多種查找算…

    Linux干貨 2015-07-28
  • 查找 -數據結構

    幾種查找算法:順序查找,折半查找,分塊查找,散列表 一、順序查找的基本思想:  從表的一端開始,向另一端逐個按給定值kx 與關鍵碼進行比較,若找到,查找成功,并給出數據元素在表中的位置;若整個表檢測完,仍未找到與kx 相同的關鍵碼,則查找失敗,給出失敗信息。 說白了就是,從頭到尾,一個一個地比,找著相同的就成功,找不到就失敗。很明顯的缺點就是查找效…

    Linux干貨 2015-07-28
  • 設計模式 ( 十七) 狀態模式State(對象行為型)

    設計模式 ( 十七) 狀態模式State(對象行為型) 1.概述 在軟件開發過程中,應用程序可能會根據不同的情況作出不同的處理。最直接的解決方案是將這些所有可能發生的情況全都考慮到。然后使用if… ellse語句來做狀態判斷來進行不同情況的處理。但是對復雜狀態的判斷就顯得“力不從心了”。隨著增加新的狀態或者修改一個狀體(if else(或swit…

    Linux干貨 2015-07-27
  • 設計模式 ( 十六 ) 觀察者模式Observer(對象行為型)

    1.概述 一些面向對象的編程方式,提供了一種構建對象間復雜網絡互連的能力。當對象們連接在一起時,它們就可以相互提供服務和信息。 通常來說,當某個對象的狀態發生改變時,你仍然需要對象之間能互相通信。但是出于各種原因,你也許并不愿意因為代碼環境的改變而對代碼做大的修改。也許,你只想根據你的具體應用環境而改進通信代碼?;蛘撸阒幌牒唵蔚闹匦聵嬙焱ㄐ糯a來避免類和類…

    Linux干貨 2015-07-24
  • 鏈接分析算法之:SALSA算法

      SALSA算法的初衷希望能夠結合PageRank和HITS算法兩者的主要特點,既可以利用HITS算法與查詢相關的特點,也可以采納PageRank的“隨機游走模型”,這是SALSA算法提出的背景。由此可見,SALSA算法融合了PageRank和HITS算法的基本思想,從實際效果來說,很多實驗數據表明,SALSA的搜索效果也都優于前兩個算…

    大數據運維 2015-07-21
  • 設計模式 ( 十五 ) 中介者模式Mediator(對象行為型)

    1.概述 在面向對象的軟件設計與開發過程中,根據“單一職責原則”,我們應該盡量將對象細化,使其只負責或呈現單一的職責,即將行為分布到各個對象中。 對于一個模塊或者系統,可能由很多對象構成,而且這些對象之間可能存在相互的引用,在最壞的情況下,每一個對象都知道其他所有的對象,這無疑復雜化了對象之間的聯系。雖然將一個系統分割成許多對象通??梢栽鰪娍蓮陀眯?,但是對象…

    Linux干貨 2015-07-20
欧美性久久久久