原创 海量數據處理------Bloom filter

 1. Bloom-Filter算法簡介        Bloom-Filter,即布隆過濾器,1970年由Bloom中提出。它可以用於檢索一個元素是否在一個集合中。        Bloom Filter(BF)是一種空間效率很高

原创 紅黑樹的解析與實現

紅黑樹    上一篇中講到,一棵高度爲h的二叉搜索樹,它所進行的操作都可以在O(h)時間內完成。因此搜索樹的高度較低時,可以較快的完成。但是,如果樹的高度較高時,這些集合操作可能並不比鏈表上快。如何實現一種搜索樹的結構,使得其任何一種基本

原创 C++中幾個重要的概念(一)

我們先來讀一小段代碼吧,從而引出幾個概念: template <class T> class PFArray { public: PFArray(); PFArray(int capacityValue ); PFArray(con

原创 linux線程同步之讀寫鎖

讀寫鎖與互斥量類似,不過讀寫鎖的並行性更高。 讀寫鎖可以有三種狀態:(1)讀模式加鎖;(2)寫模式加鎖;(3)不加鎖。 在寫加鎖狀態時,在解鎖之前,所有試圖對這個鎖加鎖的線程都會被阻塞。在讀加鎖狀態時,所有試圖以讀模式對它進行加鎖的線程都

原创 pthread_cancel引起的死鎖

 說明:本文由【2,3】整理而得。 這篇文章主要從一個 Linux 下一個 pthread_cancel 函數引起的多線程死鎖小例子出發來說明 Linux 系統對 POSIX 線程取消點的實現方式,以及如何避免因此產生的線程死鎖。 目

原创 Linux多線程,線程的分離與集合

(2)線程的分離與結合     在任何一個時間點上,線程是可結合的(joinable),或者是分離的(detached)。一個可結合的線程能夠被其他線程收回其資源和殺死;在被其他線程回收之前,它的存儲器資源(如棧)是不釋放的。相反,一個分

原创 linux 線程同步之條件變量

 與互斥鎖不同,條件變量是用來等待而不是用來上鎖的。條件變量用來自動阻塞一個線程,直到某特殊情況發生爲止。通常條件變量和互斥鎖同時使用。 條件變量使我們可以睡眠等待某種條件出現。條件變量是利用線程間共享的全局變量進行同步的一種機制,主

原创 海量數據處理----Bit map算法詳解

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

原创 posix_memalign詳解

 轉載:http://hi.baidu.com/freelonely/blog/item/340341077c4d287302088189.html 預對齊內存的分配 在大多數情況下,編譯器和C庫透明地幫你處理對齊問題。POSIX 標

原创 線程的終止方式:pthread_cleanup_push, pthread_cleanup_pop()

以下內容根據【1】進行整理。關於取消點,將在後面進一步討論。 1、一般來說,Posix的線程終止有兩種情況:正常終止和非正常終止。線程主動調用pth

原创 Linux多線程,基本概念

一、Linux多線程,基本概念 說明:以下內容,根據參考中【1~6】內容整理而得。 一、基本概念 1、線程是計算機中獨立運行的最小單位。進程是分配資源的單位。 2、爲什麼使用多線程? (1)啓動一個新的進程必須分配給它獨立的地址空間,建立

原创 Skiing

題目鏈接:http://acm.nyist.net/JudgeOnline/problem.php?pid=10http:// 描述: 下面是一個例子 1  2  3  4 5 16 17 18 19 6 15 24 25 20 7 1

原创 括號匹配

括號匹配問題 題目鏈接:http://acm.nyist.net/JudgeOnline/problem.php?pid=15http:// 給你一個字符串,裏面只包含"(",")","[","]"四種符號,請問你需要至少添加多少個括號才

原创 B樹的原理分析及實現

    B樹是爲磁盤或其他直接存取的輔助設備而設計的一種平衡搜索樹。許多數據庫系統使用B樹或B樹的變種來存儲信息。爲何會採用這種樹結構進行設計呢,《算法導論》18章講得很到位,值得細細品味。    下面直接開始瞭解B樹的實現細節吧!   

原创 最長公共子序列與字符串的相似度問題

字符串相似度與最長公共子序列      字符串的相似性:如果將一個串轉換成爲另一個串所需的操作數最少,那麼可以說這兩個串是相似的。另外一種權衡的方法是,尋換第三個串s3,如果s3都出現在s1和s2中,且出現的順序相同,但不要求在s1和s2