Time of Update: 2018-12-04
時間關係暫時先不介紹啥是常態分佈了,網上關於產生常態分佈隨機數的方法也有很多。下面是moro 逆正態累積分布函數(Moro's Inverse Cumulative Normal Distribution function) double MoroInvCND(double prob){ const double a1 = 2.50662823884; const double a2 = -18.61500062529; const double a3 = 41.3911977
Time of Update: 2018-12-04
深入淺出Hadoop實戰開發視頻教程Hadoop是什麼,為什麼要學習Hadoop? Hadoop是一個分布式系統基礎架構,由Apache基金會開發。使用者可以在不瞭解分布式底層細節的情況下,開發分布式程式。充分利用叢集的威力高速運算和儲存。Hadoop實現了一個Distributed File System(Hadoop Distributed File
Time of Update: 2018-12-04
《不想裝X的傻X不是好二X》作者:李華治 你受過良好的教育,有意無意間說起自己的大學,旁人無一例外紛紛投來豔羨目光。你工作光鮮,不是四大就是4A,不是壟斷國企就是全球500強;在一個都是 中國人的公司裡互相叫對方英文名。你衣食無憂,三個月工資買一LV包;你生活清閑,上班時就像神九的航天員,明明啥事沒幹還要裝出一副很忙的樣子;你格調
Time of Update: 2018-12-04
歐拉圖:一個圖為歐拉圖,當且公當有一條迴路經過圖的每一條邊且恰好經過一次。歐拉定理表明:一個圖為歐拉圖,若且唯若不含有奇度數的頂。假設圖G大小為M * N和鄰接矩陣A。 判斷一個圖是否為歐拉圖,很容易在O(M*N)的時間內完成。為了說明方便,下面設M = N下面給出複雜度為O(Log(N)) 並行演算法,注意這裡只給出理論上可行的演算法。1. 計算每個點的度數:求一個點的度,也就是求鄰接矩陣中一行的和。因此可以使用O(N)個處理器在O(Log(N))的時間內求出。因些N個並行求度數,需要N *
Time of Update: 2018-12-04
一個整數數列,元素取值可能是0~65535中的任意一個數,相同數值不會重複出現。0是例外,可以反覆出現。請設計一個演算法,當你從該數列中隨意選取5個數值,判斷這5個數值是否連續相鄰。解法:1> 求出5個數值中的最大和最小值 Max, Min.2> 如果Min = Max = 0, 則是連續的。3> 遍曆整數資料將所有在Min 和 Max之間的數值求和sum, 包括min 和Max本身。4> 如果sum的與5個元素的和相等,則說明5個元素是相鄰連續的。演算法時間複雜度為O(
Time of Update: 2018-12-04
/** **
Time of Update: 2018-12-04
註:本文參考自 http://blog.csdn.net/v_JULY_v ,修正了其中的一些問題感謝原作者所謂的Bit-map就是用一個bit位來標記某個元素對應的Value,
Time of Update: 2018-12-04
簡約而不簡單的擬物化設計 -------新蛋網ipad 視覺點滴前言 作為Newegg UED團隊的成員,我榮幸參與了Newegg
Time of Update: 2018-12-04
以在n個數中選取m(0<m<=n)個數為例,問題可分解為:1. 首先從n個數中選取編號最大的數,然後在剩下的n-1個數裡面選取m-1個數,直到從n-(m-1)個數中選取1個數為止。2. 從n個數中選取編號次小的一個數,繼續執行1步,直到當前可選編號最大的數為m。很明顯,上述方法是一個遞迴的過程,也就是說用遞迴的方法可以很乾淨利索地求得所有組合。下面是遞迴方法的實現:/// 求從數組a[1..n]中任選m個元素的所有組合。///
Time of Update: 2018-12-04
原題是這樣的:假設有100G的日誌存在於磁碟之上,其中每條日誌佔用的空間不多於100個位元組,現在從日誌隨機選取N條日誌,保證每條日誌的選取機率相同。解1:最簡單且嚴格的做法是掃描日誌兩遍。第一遍:統計出日誌的總條數,M。第二遍:掃描每條日誌以N/M的機率選擇該條日誌,直到滿足N條日誌。解法2:由於每條日誌的最大長度為100位元組,因此日誌數量至少有K = 1G條,因此可以在掃描日誌的時候進行隨機抽樣,使用一個較大的機率比如 10 * N / K。
Time of Update: 2018-12-04
從一副撲克牌中隨機抽取5張,決斷這5張牌連續(成順子的機率),大小王可以做為任意牌使用。解:對於這個問題,我們可以先考慮在沒有大小王的情況下,我們抽取的機率是多少。沒有大小王即總共有52張牌,因此抽取5張牌的組合數有 (52,5). 既然要成為順子,那麼順子必須為1-5,2-6,...,9-13等,故只有9種順子,但是對於每張牌都有4個花色,故成為順子的個數總共有 9 * 4^5種。故其機率為9 * 4^5 /
Time of Update: 2018-12-04
本方介紹一種簡單的資料壓縮演算法:SB (simple block)作者:realxie在對文檔進行倒排的時候經常涉及到對倒排文檔的壓縮,例如假設有單詞instance 出現的文檔有<1,3 ,4 , 6 ,9 ,10,... >,即倒排表以升充排列,這樣我們就可以在倒排檔案中只儲存前後兩個文檔位置的差量,即轉變之後結果為<1 ,2 , 1 , 2 , 3 , 1 , ...>,因此在遍曆的時候可以累積得到每個文檔位置。分析轉變後的倒排檔案我們可知
Time of Update: 2018-12-04
/***************************************copyright@ andy*http://blog.csdn.net/MonkeyAndy**************************************/題目描述:在一個字串中找到第一個只出現一次的字元。如輸入 abaccdeff,則輸出 b。思路:用hash表來儲存相應的字元,key為ch-‘a’, value為相應的出現的次數,遍曆字串,尋找對應的hash表中value為1所對應的字元代碼如下:
Time of Update: 2018-12-04
MESI(Modified Exclusive Shared Or Invalid)(也稱為伊利諾斯協議,是因為該協議由伊利諾斯州立大學提出)是一種廣泛使用的支援寫回策略的緩衝一致性協議,該協議被應用在Intel奔騰系列的CPU中,詳見“support the more efficient write-back cache in addition to the write-through cache previously used by the
Time of Update: 2018-12-04
看下面的代碼,能夠猜出輸出結果嗎?char ch = (char)0x80;ch >>= 7;cout<<(((int)ch) & 0xFF)<<endl;結果是255, 0XFF!unbelievable!,為什麼呢,我作一點猜想,可能是由於編譯器自身的考慮,char字元在移位的時間先將char 轉換成整數,自然0x80轉換成整數肯定是一個負數,所以在32位整數中前面24位肯定都是1,所以右移的時候就出現了補1的問題。解決上面的方法是將char
Time of Update: 2018-12-04
看了Opengl的相關程式,發現有些東西還是特別迷茫,尤其是gluLookAt的函數做啥用的,而gluPerspective又有什麼功能.在網上查看到了這篇: 終於搞明白gluPerspective和gluLookAt的關係了(zz)http://cowboy.1988.blog.163.com/blog/static/751057982010101574732212/我感覺它裡面沒有說清楚這些函數到底是做什麼用的,只是說了不同的參數有什麼效果. 我相信它做法是對的,但我更希望擷取why to
Time of Update: 2018-12-04
對於只包含中文和英文的文本中判斷編碼方式是非常簡單的,中文的編碼方式最常用的是GBK,字元集更大的如GBK向下相容GB2312,其中包含的的很多一部分字元是我們在日常生活中用不到的,因此在實際中我們一般只需要區分GB2312和UTF8編碼。這裡我只是提供一種可行的方法,如果判斷GBK也可以採用類似的方式首先分析一下漢字在GB2312中的編碼方式,gb2312規則漢字採用雙位元組編碼其中第一位元組161~247,第二位元組161~254,其中含有邊界條件。而utf8的編碼方式可以看如下表示:代碼範
Time of Update: 2018-12-04
話說您走到一個路口,前方有兩條路(P1 , P2) , 其中只有一條能通往您需要的地方。現在有A,B兩人,其中一個人只說真話,另一個人只說假話,但是目前您不知哪一位會說真話。現您有一次機會來問A,或者B一個問題,注意,只能向一個人問,並且只能一個人能回答您,那麼這個問題您應該怎麼問呢?答案:1> 可以問A: “ B 會認為哪條路是能往正確的道路?”解釋: (1)如果A說真話,則B說假話 <1>
Time of Update: 2018-12-04
結構體資料成員的對其原則結構體預設的位元組對齊一般滿足三個準則:1) 結構體變數的首地址能夠被其最寬基本類型成員的大小所整除;2) 結構體每個成員相對於結構體首地址的位移量(offset)都是成員自身大小的整數倍,如有需要編譯器會在成員之間加上填充位元組(internal adding);3) 結構體的總大小為結構體最寬基本類型成員大小的整數倍,如有需要編譯器會在最末一個成員之後加上填充位元組(trailing padding)。執行個體代碼#include
Time of Update: 2018-12-04
#define LIST_INIT_SIZE 100//線性表格儲存體空間的初始分配量#define LISTINCREMENT 10//線性表格儲存體空間的分配增量typedef struct{ ElemType *elem;//儲存空間基址 int length; //當前長度 int listsize; //當前分配的儲存容量(以sizeof(ElemType)為單位)}SqList;Status InitList_Sq(SqList &L){ /