原创 [轉]程序員如何快速準備面試中的算法

程序員如何快速準備面試中的算法 前言 [轉自] July大神 我決定寫篇短文,即爲此文。之所以要寫這篇文章,緣於微博上常有朋友詢問,要畢業找工作了,如何備戰算法。儘管在微博上簡單梳理過,如

原创 [編程之美-05]求二叉樹中節點的最大距離

題目:如果我們把二叉樹看成一個圖,父子節點之間的連線看成是雙向的,我們姑且定義”距離”爲兩節點之間邊的個數。寫一個程序,求一棵二叉樹中相距最遠的兩個節點之間的距離. 例如: 10 / \ 5 12 / \ 4 7

原创 [編程之美-08]求二元樹的度

題目:輸入一棵二元樹的根結點,求該樹的深度。 從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度爲樹的深度。 例如:輸入二元樹: 8 / / 6 10 // // 5 7 9

原创 OpenCV(學習筆記3)-圖像腐蝕

什麼是圖像腐蝕? 就是用圖像中的暗色部分“腐蝕”掉圖像中的高亮部分。 新建一個Win32的空項目,具體代碼註釋如下: // highgui 模塊頭文件 #include<opencv2/highgui/highgui.hpp>

原创 OpenCV(學習筆記5)-Canny邊緣檢測

首先將原圖轉換成灰度圖,然後利用blur函數對圖像進行模糊並以此來降噪,然後用canny函數進行邊緣檢測。 #include<opencv2/opencv.hpp> // OpenCV圖像處理頭文件 #include<opencv

原创 OpenCV(學習筆記2)-安裝和環境配置

本博客安裝是以OpenCV 2.4.9爲樣例進行安裝。 操作系統:Windows 7 64bit 推薦使用:VS2010,VS2012,VS2013,(VS2012不建議)其餘版本的VS不建議安裝OpenCV 2.4.9 下載

原创 [編程之美-04]判斷整數序列是不是二元查找數的後序遍歷結果

題目:輸入一個整數數組,判斷該數組是不是某二元查找樹的後序遍歷的結果。 如果是返回true,否則返回false。 例如輸入5、7、6、9、11、10、8,由於這一整數序列是如下樹的後序遍歷結果: 8 / /

原创 [編程之美-06]輸入一顆二元查找樹將該樹轉換爲它的鏡像

題目:輸入一顆二元查找樹,將該樹轉換爲它的鏡像,即在轉換後的二元查找樹中,左子樹的結點都大於右子樹的結點。用遞歸和循環兩種方法完成樹的鏡像轉換。 例如輸入: 8 / / 6 10 / / / / 5 7 9

原创 [編程之美-01]字符串移位包含的問題

題目:給定兩個字符串s1和s2,要求判定s2是否能夠被s1做循環移位(rotate)得到的字符串包含。例如,給定s1=AABCD和s2=CDAA,返回true;給定s1=ABCD和s2=ACBD,返回false。 代碼一:我們可以

原创 C/C++ 連續讀寫多個文件

本文是爲了解決多個文件的讀寫問題: 問題:在我的E盤下gene_info有300個.dat文件。那麼我如何把這300個.dat文件中的內容讀取出來呢? 每個.dat文件中的內容就是這樣的字符串信息。我們不知道每個文件中有多

原创 [編程之美-03]在二元樹中找出和爲某一值的所有路徑

題目:輸入一個整數和一棵二元樹。 從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑。 打印出和與輸入整數相等的所有路徑。 例如輸入整數22 和如下二元樹 10 / \ 5 12 / \ 4 7 則

原创 [編程之美-07]層序打印二元樹,每層打印一行

題目:輸入一顆二元樹,從上往下按層打印樹的每個結點,同一層中按照從左往右的順序打印。 例如輸入 8 / / 6 10 // // 5 7 9 11 輸出8 6 10 5 7

原创 OpenCV(學習筆記4)-圖像模糊

代碼與解釋如下: // highgui 模塊頭文件 #include<opencv2/highgui/highgui.hpp> // OpenCV圖像處理頭文件 #include<opencv2/imgproc/imgproc.h

原创 [編程之美-02]把二元查找樹變成爲排序的雙向鏈表

題目:輸入一棵二元查找樹,將該二元查找樹轉換成一個排序的雙向鏈表。 要求不能創建任何新的結點,只調整指針的指向。 10 / \ 6

原创 OpenCV(學習筆記7)-圖像修復

圖像或者說圖片經常被噪聲腐蝕,或者說是舊照片的劃痕。 圖像修復技術簡單來說,就是利用那些被破壞區域的邊緣,即是邊緣的顏色和結構,繁殖和混合到損壞的圖像中,來進行修復圖像。下面的OpenCV代碼主要做的是將圖像中的字跡進行消除的效