原创 鏈表中倒數第K個元素,

/* 在鏈表中找倒數第k個元素 考慮的問題 : 鏈表可能會空, K可能會很大,超過鏈表的個數, 鏈表的結點個數超過int 表示的範圍 */ LinkNode *findTheLastKInlist (LinkNode *head,int

原创 32位系統與64位系統 C/C++通用代碼

c++/C 並沒有規定內建數據類型具體size;只規定了一些規則,比如int 長度不必long 長 數據類型長度 數據類型 ILP32 LLP64 char 8 8 int 32 32 long 32 64 long long 64 64

原创 大數據處理算法(非分佈式處理)

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

原创 單鏈表中通過某一結點指針刪除該結點

刪除p指向的結點: 思路: 把p的下個結點內容拷貝到p,然後刪除p的下個結點; /* 考慮的情況: 1. p是空 2.p 指向單鏈表最後一個結點; 3.p 指向單鏈表的頭結點 */ /* input : P,將要刪除結點的指針 ou

原创 網絡管理服務器多做之過

現在網絡管理軟件一般輕客服端+服務器+代理完成網絡管理功能。 本文主要討論網絡管理服務器斷到底該幹什麼,既服務器端的多做之過錯,與少做之過,以及用什麼來衡量 網絡管理服務器至少尊重如下規矩, 1.網絡管理服務器應該不要關注所傳輸內容的意義

原创 c++實函數虛函數在繼承體系中是如何調用的

函數是屬於類的,不是屬於對象。 我們來講函數的調用機制, 在c++中函數分爲,實函數和虛函數,他們的調用機制不同。 先來看看類的編譯信息, 對於一個類他的編譯信息中含有 1.實函數,2.虛函數,這些靜態調用是用, 由於虛函數有動態調用的特

原创 poj 3281,最大流,牛喫食物問題

Description Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will consum

原创 關於__syn_fetch, mutexlock 性能比較

__sync_add_and_get()  1億次; pthread_mutex_lock  add; pthread_mutex_unlock 一億次 8 inline void AddBySync() 9 { 10

原创 memcpy 與new 開銷,在大數據處理時謹慎使用指針

因爲最近做些基本文本處理工作,主要是IP地址的處理,開始沒有在意 對象在堆上  與對象在棧上分配上的時間開銷,覺得用new會更加方便但是,在處理數據時候,我要處理的數據有3億條數據,存在文本文件中,後來發現效率特備低。 擁有15G大小IP

原创 new [] 與new []()區別

new int[10] ;new int[](); 前者是隨機值,後者會初始化爲0; 點贊 收藏 分享 文章舉報 beginTheWorld 發佈了27 篇原

原创 你還不知道的sizeof()

C++中,以VS2010爲編譯環境; 在vs的環境下。 這裏不講字節對齊的東西,很多寫字節對齊的文章。 講編譯對象的時候,編譯器給對象存儲空間加入的數據; 1. 類中有vitual 函數時候,會加入一個vfptr指針,只想虛函數表,表中存

原创 高效率安排見面會問題(比編程之美的解法複雜度低n-1個數量級)

在編程之美中,有一道高效安排見面會的問題 問題描述如下  已知有n位學生,他們分別對M個研究項目中的若干個幹興趣,每個見面會的時間爲T,每個學生都能參加自己感興趣的所有見面會,如何安排時間總時間最短?? 編程之美的解法 把該問題轉化成圖染

原创 一個數組實現三個棧

基本思想是: 第一個棧 爲數組頭,棧增長方向向上; 第二個棧,數組尾,棧增長方向向下, 第三個棧,在數組中間,棧增長方向向下; 第一個與第二個棧不用搬遷,因爲他們都在數組的端,第三個棧,需要搬遷,來滿足三個棧對空間的需求, 搬遷的策略:

原创 鏈表表示的數字相加

題目 You have two numbers represented by a linked list, where each node contains a single digit. The digits are stored i

原创 僞隨機解決真隨機問題

1.從文件中隨機取一行數據 如果先統計文件有多少行,再根據rand() % 行數選擇對應行也是可以行的,但效率顯然會有點低了。有沒有一種方法可以只遍歷文件一次了?請看代碼: [cpp] view plaincopy