原创 二叉樹的創建和遍歷

1.概念二叉樹是樹結構的一種,規定每個結點最多有兩棵子樹,所以二叉樹中不存在度大於2的結點。注:不是都需要兩棵子樹,而是最多!二叉樹的左子樹和右子樹是有順序的,不能顛倒,顛倒了那就是不同的樹,即使只有一個子樹也是要區分順序的,如下是兩個完

原创 歸併排序

思想歸併排序是建立在歸併操作上的一種排序算法,該算法是採用分治法的典型應用。算法的目的是將長的無序數列遞歸的劃分成小的數列,對小的數列進行排序後再進行合併操作,最終完成整個數列的排序。這麼說有點粗略了,下面看詳細步驟。有序數列的合併操作假

原创 Eigen學習(六)高級初始化

本節介紹幾個初始化矩陣的高級方法,會更具體的介紹逗號初始化的方法。同樣會介紹如何得到特殊矩陣比如單位矩陣和零矩陣等。逗號初始化Eigen提供了一個逗號初始化方法可以讓使用者方便的設置矩陣、向量及數組的所有元素。簡單的列出所有的元素,從左上

原创 LLVM與Clang

     隨着 Android P 的逐步應用,越來越多的客戶要求編譯庫時用 libc++ 來代替 libstdc++。libc++ 和 libstdc++ 這兩個庫有關係呢?它們兩個都是 C++ 標準庫,libc++ 是針對 Clang

原创 圖(一)

1.概念1.1一些定義圖(Graph)是由頂點的有窮非空集合和頂點之間邊的集合組成,通常表示爲G(V,E),G表示一個圖,V是圖中頂點的集合,E是圖G中邊的集合。注:線性表中的數據叫元素;樹中叫結點;圖中稱爲頂點(Vertex)。線性表中

原创 C++中的遞歸

1.概念        遞歸函數即自調用函數,在函數內部直接的或者間接地調用自己。在求解某些具有隨意性的複雜問題時經常使用遞歸,如要求編寫一個函數,將輸入的任意長度的字符串反向輸出。普通做法是將字符串放入數組中然後將數組元素反向輸出即可,

原创 Eigen學習(二)

本文算是對官網手冊的翻譯吧,參考:http://eigen.tuxfamily.org/dox/group__TutorialMatrixClass.htmlMatrix類在Eigen中,所有的矩陣和向量都是Matrix模板類的對象,向量

原创 Eigen學習(九)稠密問題之線性代數和分解

本節介紹如何求解線性系統,計算幾種分解,比如LU,QR,SVD等。基本的線性求解問題:假設有一個系統方程寫成如下矩陣的形式其中A,b是矩陣,b也可以是向量,當想要求解x時,可以選擇多種分解方式,取決於矩陣A的形式以及考慮的速度和精度,下面

原创 指向數組的指針

1.指針數組和數組指針的概念指針數組:指針數組是一個數組,是指由指針構成的數組,在這個數組中的所有元素都是指針,每個指針佔用相同的字節。數組指針:數組指針是一個指針,是指一個數組的指針,數組兩字表示這個指針指向一個數組的首地址,並且這個指