原创 Points, lines, and planes

Points, lines, and planes In what follows are various notes and algorithms dealing with points, lines, and planes.

原创 怎麼將右手座標系轉換成左手座標系

有兩種:(1)z軸取負,然後渲染時背面消隱改爲逆時針!(2)相機用右手座標 拿一本書來舉例,把這本書直立起來,正面朝向你,然後約定,在左手座標系下,相機在原點位置,朝正Z軸方向看,而右手座標系則相反,相機在原點是朝負Z軸看的.然後,在右

原创 關於mapreduce

關於mapreduce       mapreduce很適合數據之間相關性較低且數據量龐大的情況,map操作將原始數據經過特定操作打散後輸出,作爲中間結果,hadoop通過shuffle操作對中間結果排序,之後,reduce操作接收中

原创 數據挖掘開發工具

commercial: | free and open-source AC2 (from Isoft), a set of librairies for building data mining solutions on the ser

原创 最大流算法--Ford-Fulkerson方法及其多種實現

網絡流 在上一章中我們討論的主題是圖中頂點之間的最短路徑,例如公路地圖上兩地點之間的最短路徑,所以我們將公路地圖抽象爲有向帶權圖。本章我們將對基於有向帶權圖的模型做進一步擴展。 很多系統中涉及流量問題,例如公路系統中車流量,網絡中的數據

原创 stringstream的清空

代碼示例 int main()  {      int size = 100;      stringstream strStream;      for (int i = 0; i < size; ++i)      {    

原创 EM算法實例

本文試圖用最簡單的例子、最淺顯的方式說明EM(Expectation Maximization)算法的應用場景和使用方法,而略去公式的推導和收斂性的證明。 以下內容翻譯自《Data-Intensive Text Processing w

原创 KMeans聚類 K值以及初始類簇中心點的選取

  本文主要基於Anand Rajaraman和Jeffrey David Ullman合著,王斌翻譯的《大數據-互聯網大規模數據挖掘與分佈式處理》一書。   KMeans算法是最常用的聚類算法,主要思想是:在給定K值和K個初始類簇中

原创 判斷兩條鏈表是否相交&單鏈表是否有環

一、判斷兩條鏈表是否相交 相交的話,一定是Y型或者V型的。所以只需要判斷兩個鏈表最後一個節點就可以了。 問題描述: 給定兩個單向列表的頭指針,比如h1、h2,判斷這兩個列表是否相關。 注,這裏只討論這兩個列表均不帶環的情況

原创 快速排序

快速排序的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。 快速排序是

原创 How to check if a polygon is completely inside another polygon

Checking if a polygon is completely inside another polygon is a very common problem in geometry, and most solutions you

原创 shell排序

shell排序算法:shell排序算法的時間複雜度爲o(n2),本文中的間隔每次除以2,若修改時間間隔,那麼就可以得到更加優化的時間代價shell排序算法基於插入排序的兩個性質:1、小序列性質:插入排序在小序列時的排序時間較短.2、有序性

原创 歸併排序

/* 歸併排序的基本操作是 將兩個或兩個以上的記錄有序序列歸併爲一個有序序列。 最簡單的情況是,只含一個記錄的序列顯然是個有序序列, 經過"逐趟歸併"使整個序列中的有序子序列的長度逐趟增大, 直至整個記錄序列爲有序序列止。 2-路歸併排序

原创 C和C++中存儲區域詳解(棧、堆、全局...)

一. 在c中分爲這幾個存儲區1.棧 - 由編譯器自動分配釋放2.堆 - 一般由程序員分配釋放,若程序員不釋放,程序結束時可能由OS回收3.全局區(靜態區),全局變量和靜態變量的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域,未初始

原创 C++封裝、繼承、多態

C++封裝繼承多態總結 面向對象的三個基本特徵 面向對象的三個基本特徵是:封裝、繼承、多態。其中,封裝可以隱藏實現細節,使得代碼模塊化;繼承可以擴展已存在的代碼模塊(類);它們的目的都是爲了——代碼重用。而多態則是爲了實現另一個目的