Effective STL 條款28

條款28:瞭解如何通過reverse_iterator的base得到iterator調用reverse_iterator的base成員函數可以產生“對應的”iterator,但這句話有些辭不達意。舉個例子,看一下這段代碼,我們首先把從數字1-5放進一個vector中,然後產生一個指向3的reverse_iterator,並且通過reverse_iterator的base初始化一個iterator:vector<int> v;v.reserve(5); //

一些常見的距離與一些常用的measure

距離具有一些性質。如果d(p1, p2)是兩個點p1和p2之間的距離,則如下性質成立:      (1)非負性              (a)對於所有的p1和p2,d(p1, p2)≥0,              (b)若且唯若p1=p2時,d(p1, p2)=0。      (2)對稱性              對於所有的p1和p2,d(p1, p2)=d(p2, p1)。      (3)三角不等式              對於所有的p1、p2和p3,d(p1, p3)≤d(p1,

Effective STL 條款35

條款35:通過mismatch或lexicographical比較實現簡單的大小寫無關字串比較一個STL菜鳥最常問的問題是“我怎麼使用STL來進行大小寫無關的字串比較?”這是一個令人迷惑的簡單問題。大小寫無關字串比較要麼真的簡單要麼真的困難,依賴於你要多一般地解決這個問題。如果你忽略國際化問題而且只關注於設計成字串strcmp那樣的類型,這個任務很簡單。如果你要有strcmp不具有的按語言處理字串中的字元的能力(也就是,容納文本的字串是除了英語以外的語言)或程式使用一個locale而不是預設的,

enum實現的單例

自己最熟悉的設計模式估計就是單例模式了:public class Singleton {private static final Singleton INSTANCE = new Singleton();private Singleton() {if(INSTANCE != null) {throw new IllegalStateException("Trying to get more than one instance.");}}public static Singleton

Effective STL 條款37

條款37:用accumulate或for_each來統計區間有時候你需要把整個區間提煉成一個單獨的數,或,更一般地,一個單獨的對象。對於一般需要的資訊,有特殊目的的演算法來完成這個任務,比如,count告訴你區間中有多少元素,而count_if告訴你有多少元素滿足一個判斷式。區間中的最小和最大值可以通過min_element和max_element獲得。但有時,你需要用一些自訂的方式統計(summarize)區間,而且在那些情況中,你需要比count、count_if、min_element或m

Hadoop的WordCount程式的一些說明

感覺接觸Hadoop也有些時間了,但是因為機器環境的關係,一直沒能好好折騰。Hadoop處理資料用MapReduce,儲存資料用HDFS,其他先不考慮。接觸的第一個程式自然是WordCount,原始碼的example中就有:import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.fs.Path;import

控制台寫程式

用過了N多的IDE工具,還是搞不懂IDE和編譯串連程式協調工作的。 下面小做一下研究,在控制台寫程式。使用例如,Visual Studio編譯C++程式時,我們會在IDE下方的Output視窗中看到編譯和串連的全過程,雖然我們看不到彈出的DOS視窗,但實際上是IDE先後啟動了Microsoft

刪除一個無序單鏈表中重複的元素

定義一個指標cur,指向當前沒有重複元素的那部分的下一個元素,pre指向cur的前驅,比如1→2→3→5→4→3→7→6→7為當前鏈表的形狀,剛開始cur指向2,pre指向1,定義一個工作指標runner,每次從head開始向後掃描,最多會掃描到cur就退出迴圈,如果在到cur之前遇到一個節點的值與cur指向節點的值相同,那麼刪除當前節點,跳出迴圈,又開始新一輪迴圈,如果掃描到cur的時候才停止迴圈,說明前面沒有重複的節點,更新當前節點和它的前驅:pre = cur; cur =

樸素貝葉斯分類

假設要對郵件進行分類(spam/non-spam)。為了用向量描述我們的郵件,可以儲存所有訓練集中的每一個單詞,總共有n個不同的單詞(比如說總共有50000個不同的單詞,通常對於一些叫做stop-word的詞不做統計,因為它們一般不提供有用的資訊,比如the、a、is這種),那麼一封郵件就可以用一個n維的向量表示,郵件中有某個詞(字典中的第i個詞),那麼向量的第i維就是1,否則是0,比如:類標籤y只有0、1兩種值,即對於一封新來的郵件,有判斷它是否是垃圾郵件,我們計算p(y=1|x)與p(y=0

理解紅/黑樹狀結構

關於紅/黑樹狀結構,這個名字的來曆就說多說了,是Guibas和Sedgewick也算是看了好多遍,但沒有一次真正理解過,也沒有去實現它。 紅/黑樹狀結構滿足二叉尋找樹的所有性質,不同的是它近似平衡,所有的操作都可以在O(lg(n))內完成,所以效率比較高,先列出紅/黑樹狀結構的5條性質:1、每個結點或者是紅的,或者是黑的2、根結點是黑的3、每個葉子結點是黑的(這裡的葉結點是外部結點,貌似只在統計黑結點個數的時候用)4、如果一個結點是紅的,那麼它的兩個兒子都是黑的(其實也還說明它的父親結點也是黑的

通過學習p(y|x)來分類需要估計的參數個數

通過學習p(y|x)來進行分類,計算在新的x的條件下的p(y|x),然後判斷x應該屬於哪個類。之前一直想不通要計算p(y|x)需要估計的參數個數,其實是這樣的:這裡這假設x=(x1, x2, ..., xn),xi與y都是二元隨機變數,就是xi與y都只取0和1中的一個值。例如x=(x1, x2),要估算的參數是:p(y=1|x1=0, x2=0),p(y=1|x1=0, x2=1), p(y=1|x1=1, x2=0), p(y=1|x1=1, x2=1),總共需要算這4個,因為p(y=0|x)

第14章:建立視窗與applet程式

設計中要遵循的一條基本原則是:讓簡單的事情變得容易,讓困難的事情變得可行!1。java的GUI,有老版本的AWT,和新的Swing,eclipse也有一套全新的GUI庫SWT。      AWT很老了,不要用,除非特殊情況。2。Swing比其他GUI編程模型好的多,JavaBean是這個庫的架構。複雜的GUI,可以使用     GUI構造工具快速開發。     它的特定是:1)動態綁定事件。2)將商務邏輯與使用者介面邏輯相分離。3。編寫applet很受限制。表現在:applet不能訪問本地磁碟。

Effective STL條款50

條款50:讓你自己熟悉有關STL的網站網際網路充滿了STL的資訊。用你最喜歡的搜尋引擎尋找“STL”,它一定會返回幾百個連結,其中有一些可能實際上是相關的。不過,對於大多數STL程式員,沒有必要搜尋。下列網站應該要提升到幾乎每個人的最常使用列表的頂端:SGI STL網站,http://www.sgi.com/tech/stl/。STLport網站,http://www.stlport.org/。Boost網站,http://www.boost.org/。(譯註:如果訪問不了,可以試試http:/

把一個矩陣中0元素所在的行和列的所有元素都置為0

咋一看很簡單,一邊遍曆一邊搞就好,但其實不是想象中的那麼簡單。#include<stdio.h>#define N 9#define M 8int main(void){ int a[M][N]; int i,j; int seed = 1; for(i=0; i<M; i++) for(j=0; j<N; j++) a[i][j] = seed++; a[1][3] = 0; a[6][6] = 0

學習vc編譯器2--nmake–a_little

1.NMAKE  Microsoft Program Maintenance Utility,外號NMAKE,顧名思義,是用來管理程式的工具。其實說白了,就是一個解釋程式。它處理一種叫做makefile的檔案(vc產生的以mak為尾碼,其實就是文字檔),解釋裡面的語句並執行相應的指令。我們編寫makefile檔案,按照規定的文法描述檔案之間的依賴關係,以及與該依賴關係相關聯的一系列操作。然後在調用NMAKE時,它會檢查所有相關的檔案,如果目標檔案(target

我近期的目標

感覺很久沒有來csdn來了,昨天在sina

尋找第n個醜數

一般情況下,醜數:所有的因子只有2、3或者5,為了方便,把1也算是醜數。比如100=2*2*5*5, 12=2*2*3前11的醜數:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, …14不是醜數,因為14=2*7,7不在2, 3,5的範圍 判斷一個數是否是醜數的方法:def isUgly(n):while(n%2==0):n /= 2while(n%3==0):n /= 3while(n%5==0):n /= 5if(n==1):return Truereturn

第13章:並發

對象技術提供了一種把程式劃分為若干獨立部分的方式。通常,還需要把程式轉換為彼此分離的,能獨立允許的子任務。1。寫一個線程最簡單的做法是從java.lang.Thread繼承,這個類已經具有建立和運行線程    所必要的構架。Thread最重要的方法是run(),覆蓋這個方法實現所要的功能。    start方法用來為線程執行特殊的初始化。2。yield()讓步方法,給線程調度機制一個暗示:你的工作已經做的差不多了,可以讓別的    

Hadoop出現Connection Refused異常

ssh那些都已經搞了,跑一個書上的例子出現了Connection Refused異常,如下:12/04/09 01:00:54 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:8020. Already tried 0 time(s).12/04/09 01:00:56 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:8020.

Effective STL 條款13

條款13:盡量使用vector和string來代替動態分配的數組這一刻,你決定使用new來進行動態分配,你需要肩負下列職責:你必須確保有的人以後會delete這個分配。如果後面沒有delete,你的new就會產生一個資源泄漏。你必須確保使用了delete的正確形式。對於分配一個單獨的對象,必須使用“delete”。對於分配一個數組,必須使用“delete []”。如果使用了delete的錯誤形式,結果會未定義。在一些平台上,程式在運行期會當掉。另一方面,它會默默地走向錯誤,有時候會造成資源泄漏,

總頁數: 61357 1 .... 21061 21062 21063 21064 21065 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.