原创 【algo&ds】9.拓撲排序、AOV&AOE、關鍵路徑問題

對一個有向無環圖(Directed Acyclic Graph簡稱DAG)G進行拓撲排序,是將G中所有頂點排成一個線性序列,使得圖中任意一對頂點u和v,若邊<u,v>∈E(G),則u在線性序列中出現在v之前。通常,這樣的線性序列稱爲滿足拓撲

原创 【收藏】如何理解二維數組

https://www.cnblogs.com/cdp1591652208/p/6971386.html https://blog.csdn.net/qq_18152813/article/details/81207539

原创 【algo&ds】8.最小生成樹

1.最小生成樹介紹 什麼是最小生成樹? 最小生成樹(Minimum spanning tree,MST)是在一個給定的無向圖G(V,E)中求一棵樹T,使得這棵樹擁有圖G中的所有頂點,且所有邊都是來自圖G中的邊,並且滿足整棵樹的邊權值和最小。

原创 【algo&ds】5.圖及其存儲結構、遍歷

1.什麼是圖 圖表示”多對多”的關係 包含 一組頂點:通常用 V(Vertex)表示頂點集合 一組邊:通常用 E(Edge)表示邊的集合 邊是頂點對:(v,w)∈ E,其中 v,w ∈ V ,v—w 有向邊 <v,w> 表示從 v 指向 w

原创 【c&c++】變量初始化

/* 全局變量會默認初始化爲0 空 和 false,局部變量要手動初始化,或者直接scanf輸入值進去。如果不初始化,n可能是0也有可能是其他數,大多數情況下會是0,但不初始化是不安全的,所以Dev直接顯示了0,VS更嚴謹不初始化也沒有輸入

原创 【algo&ds】【pat】並查集及其應用

1.並查集的定義 在計算機科學中,並查集是一種樹型的數據結構,用於處理一些不交集(Disjoint Sets)的合併及查詢問題。有一個聯合-查找算法(union-find algorithm)定義了兩個用於此數據結構的操作: Find:確

原创 【持續更新】【pat】pat刷題技巧記錄

修改code completion快捷鍵位CTRL+ENTER,幫助提示函數名稱 修改命令行提示符的屬性,開啓快速編輯模式,方便調試 添加c++11語言標準支持 開啓代碼調試功能 對輸入的字符串進行切割時,可以使用scanf按照指定格式分別

原创 【algo&ds】4.B樹、字典樹、紅黑樹、跳錶

上一節內容【algo&ds】4.樹和二叉樹、完全二叉樹、滿二叉樹、二叉查找樹、平衡二叉樹、堆、哈夫曼樹、散列表 7.B樹 B樹的應用可以參考另外一篇文章 8.字典樹Trie Trie 樹,也叫“字典樹”。顧名思義,它是一個樹形結構。它是一

原创 【algo&ds】4.樹和二叉樹、完全二叉樹、滿二叉樹、二叉查找樹、平衡二叉樹、堆、哈夫曼樹、散列表

本博客內容耗時4天整理,如果需要轉載,請註明出處,謝謝。 1.樹 1.1樹的定義 在計算機科學中,樹(英語:tree)是一種抽象數據類型(ADT)或是實作這種抽象數據類型的數據結構,用來模擬具有樹狀結構性質的數據集合。它是由n(n>0)個有

原创 【轉載】常見十大經典排序算法及C語言實現【附動圖圖解】

原文鏈接:https://www.cnblogs.com/onepixel/p/7674659.html 注意: 原文中的算法實現都是基於JS,本文全部修改爲C實現,並且統一排序接口,另外增加了一些描述信息,後面會持續更新本文。 0、算法概

原创 【algo&ds】3.棧和隊列

1.堆棧 堆棧(Stack):具有一定操作約束的線性表(只在一端(棧頂,Top)做插入、刪除) 先進後出特性 1.1堆棧的抽象數據類型描述 類型名稱: 堆棧(Stack) 數據對象集:一個有0個或多個元素的有窮線性表。 操作集:長度爲M

原创 【algo&ds】0.數據結構和算法入門

解決問題方法的效率,跟數據的組織方式有關 解決問題方法的效率,跟空間的利用效率有關 解決問題方法的效率,跟算法的巧妙程度有關 什麼是數據結構 數據對象在計算機中的組織方式 邏輯結構 物理存儲結構 數據對象必定與一系列加在其上的操作相關

原创 【algo&ds】1.時間複雜度和空間複雜度分析

1.時間複雜度分析O(f(n)) 分析方法 只關注循環執行次數最多的一段代碼 加法原則 乘法原則 高優先級原則 常見時間複雜度量級 多項式量級和非多項式量級。其中,非多項式量級只有兩個:O(2^n) 和 O(n!)。 我們把時間複雜度

原创 【algo&ds】2.線性表

1.線性表 線性表(英語:Linear List)是由n(n≥0)個數據元素(結點)a[0],a[1],a[2]…,a[n-1]組成的有限序列。 其中: 數據元素的個數n定義爲表的長度 = "list".length() ("list".

原创 【待更新】深度優先搜索和廣度優先搜索算法的應用

深度優先搜索 1.定義 深度優先搜索算法(英語:Depth-First-Search,DFS)是一種用於遍歷或搜索樹或圖的算法。沿着樹的深度遍歷樹的節點,儘可能深的搜索樹的分支。當節點v的所在邊都己被探尋過,搜索將回溯到發現節點v的那條邊