原创 算法與數據結構專題總覽

1.專題概述 本專題對算法導論上系列算法做具體實現,並對一些算法設計思想進行歸納總結。對一些算法問題和分析過程,以易理解的方式,對其進行重新描述。 數據結構 動態數組 https://blog.csdn.net/x13262608

原创 計算機中的數學---相似矩陣及二次型

向量內積,長度,正交性 1.定義 設n維向量,x=x1x2...xn,y=y1y2...ynx={\begin{matrix} x_{1}\\ x_{2}\\ .\\ .\\ .\\ x_{n}

原创 數據結構--動態隊列

動態隊列 總體表述 隊列屬於容器的一種。 不同於雙向鏈表類容器,可以在容器的任意位置執行元素插入和刪除, 隊列容器只允許在尾部插入元素,在首部刪除元素。 隊列屬於操作受限的容器。 接口設計 template <typename

原创 數據結構--動態棧

動態棧 總體表述 棧屬於容器的一種。 不同於數組類容器,可以在容器的任意位置執行元素插入和刪除, 棧容器只允許在尾部,又稱棧頂,進行元素插入和刪除。 棧屬於操作受限的容器。 接口設計 template <typename T>

原创 數據結構--二叉搜索平衡樹/紅黑樹

二叉搜索平衡樹/紅黑樹 總覽 開發過程,經常需要對數據集合進行維護。 維護數據集合的數據結構可統稱爲容器。 樹形結構是集合容器的一種, 二叉搜索平衡樹,又名紅黑樹。 首先是一顆二叉搜索樹, 其具備以下性質: 對任意節點t,Key[

原创 數據結構--最小優先隊列

最小優先隊列 總體表述 隊列屬於容器的一種。 不同於雙向鏈表類容器,可以在容器的任意位置執行元素插入和刪除, 隊列容器只允許在尾部插入元素,在首部刪除元素。 隊列屬於操作受限的容器。 最小優先隊列,屬於具備特殊性質的隊列。 向隊列

原创 計算機中的數學---矩陣的初等變換與線性方程組

矩陣的初等變換 1.定義 初等行變換 對換兩行 以數k!=0k!=0k!=0乘某一行中的所有元 把某一行所有元的kkk倍加到另一行對應的元上去 把定義中的行換成列,即的矩陣的初等列變換的定義 矩陣的初等行變換與初等列變換,統稱初等

原创 計算機中的數學---向量組的線性相關性

向量組及其線性組合 1.定義 n個有次序的數a1,a2,...,ana_{1},a_{2},...,a_{n}a1​,a2​,...,an​所組成的數組,稱n維向量。 2.定義 給定向量組A:a1,a2,...,amA:a_{1}

原创 算法--任意權重圖的最短路徑

最短路徑 指定源點的最短路徑 算法性質 算法性質 算法對關聯的圖的要求:無要求,任意權重圖均可。 算法性質: 可求得圖G所有s可達節點p,s~p的一條最短路徑。 接口設計 template<typename Key, typen

原创 數據結構--動態數組

動態數組 總體表述 開發過程,經常需要對數據集合進行維護。 維護數據結合的數據結構可統稱爲容器。 動態數組是維護數據集合的容器的一種, 具備數組操作簡單的特點,但允許集合內元素的動態增加和刪除。 接口設計 template<ty

原创 數據結構--最小堆

最小堆 總體表述 開發過程,經常需要對數據集合進行維護。 維護數據結合的數據結構可統稱爲容器。 最小堆是維護數據集合的容器的一種, 最小堆具備如下性質: 設V[i]爲位置i的元素值 1. 對維護的n個元素,順序存儲於索引爲1-n的

原创 幾何算法--點集的凸包

點集的凸包 接口設計 extern "C" class ALGORITHMLIB ConvexHull { public: ConvexHull(); ~ConvexHull(); DataStruct::Stack::D

原创 幾何算法--線段集合內是否存在相交線段檢測

線段集合內是否存在相交線段檢測 性質 檢測線段集合內是否存在兩個相交線段。 相比窮舉的方式, 利用事件點掃描法,最壞下時間複雜度爲Θ(nlg(n)) 接口設計 extern "C" class ALGORITHMLIB Segm

原创 幾何算法--點集中最短距離點對的距離

點集中最短距離點對的距離 性質 求取輸入點集最近點對的距離 相比於對所有點對窮舉,並得出結果的方式相比, 本算法時間複雜度爲Θ(nlg(n)),優於窮舉下的Θ(n^2) 接口設計 extern "C" class ALGORIT

原创 幾何算法--兩條線段相交檢測

兩條線段相交檢測 性質 利用向量叉積進行線段相交判斷。 時間複雜度Θ(1) 接口設計 extern "C" class ALGORITHMLIB SegmentIntersection { public: enum POINT