原创 DESIGN PATTERNS - ABSTRACT FACTORY PATTERN

Abstract Factory Pattern Abstract Factory - Provide an interface for creating families of related or dependent obje

原创 海量數據處理——分治和hash映射

什麼是Hash     Hash,一般翻譯做“散列”,也有直接音譯爲“哈希”的,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空

原创 HTTP協議詳解(真的很經典)

內容來自http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html Author :Jeffrey 引言 HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的

原创 海量數據處理——位圖法bitmap

一、定義        位圖法就是bitmap的縮寫。所謂bitmap,就是用每一位來存放某種狀態,適用於大規模數據,但數據狀態又不是很多的情況。通常是用來判斷某個數據存不存在的。在STL中有一個bitset容器,其實就是位圖法,引用

原创 原地歸併排序

一般在提到Merge Sort時,大家都很自然地想到Divide-and-Conqure, O(n lgn)的時間複雜度以及額外的O(n)空間。O(n)的extra space似乎成了Merge Sort最明顯的缺點,但實際上這一點是

原创 連續子數組的最大和

題目描述 HZ偶爾會拿些專業問題來忽悠那些非計算機專業的同學。今天測試組開完會後,他又發話了:在古老的一維模式識別中,常常需要計算連續子向量的最大和,當向量全爲正數的時候,問題很好解決。但是,如果向量中包含負數,是否應該包含某個負數,

原创 VC調試

VC提供一種被稱爲Watch的機制來觀看變量和表達式的值,由於指針指向的數組,Watch只能顯示第一個元素的值,爲了顯示數組的後續內容,或者要顯示一片內存的內容,可以使用()功能 Memory Regsters Condit

原创 尋找第K大

有一個整數數組,請你根據快速排序的思路,找出數組中第K大的數。 給定一個整數數組a,同時給定它的大小n和要找的K(K在1到n之間),請返回第K大的數,保證答案存在。 測試樣例: [1,3,5,2,2],5,3 返回:2 clas

原创 醜數

題目描述 把只包含因子2、3和5的數稱作醜數(Ugly Number)。例如6、8都是醜數,但14不是,因爲它包含因子7。 習慣上我們把1當做是第一個醜數。求按從小到大的順序的第N個醜數。 方法一、逐個判斷 class Solu

原创 調度算法解析

一、常見的批處理作業調度算法 1.先來先服務調度算法(FCFS):就是按照各個作業進入系統的自然次序來調度作業。這種調度算法的優點是實現簡單,公平。其缺點是沒有考慮到系統中各種資源的綜合使用情況,往往使短作業的用戶不滿意,因爲短作

原创 從1到n整數中1出現的次數

題目描述 求出1~13的整數中1出現的次數,並算出100~1300的整數中1出現的次數?爲此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。ACMer希望你們幫幫他,並把問題

原创 兩個鏈表的第一個公共結點

題目描述 輸入兩個鏈表,找出它們的第一個公共結點。 1、蠻力法 /* 蠻力法 struct ListNode { int val; struct ListNode *next; ListNode(int x) : va

原创 把數組排成最小的數

題目描述 輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印能拼接出的所有數字中最小的一個。例如輸入數組{3,32,321},則打印出這三個數字能排成的最小數字爲321323。 /* * 解題思路: * 先將整型數組轉

原创 二分查找

二分查找 1、二分查找(Binary Search)     二分查找又稱折半查找,它是一種效率較高的查找方法。     二分查找要求:線性表是有序表,即表中結點按關鍵字有序,並且要用向量作爲表的存儲結構。不妨設有序表是遞增有序的。2、二

原创 海量數據處理常用思路和方法

1.Bloom filter  適用範圍:可以用來實現數據字典,進行數據的判重,或者集合求交集  基本原理及要點:  對於原理來說很簡單,位數組+k個獨立hash函數。將hash函數對應的值的位數組置1,查找時如果發現所有hash函數對