原创 圖論系列(四)——圖的深度優先遍歷的應用2

1. 圖的環檢測 無向圖有環: 當前點的鄰接節點已經被訪問過 被訪問過的鄰接節點不是當前節點的上個訪問 import java.util.ArrayList; import java.util.Collections;

原创 圖論系列(五)——圖的廣度優先遍歷及應用1

1. 樹的廣度優先遍歷與圖的廣度優先遍歷對比 時間複雜度:O(V+E) import java.util.ArrayList; import java.util.LinkedList; import java.util.Que

原创 深度探索c++對象模型(四)補充

1. 普通成員變量的存儲順序按照在類中定義的順序 class A { public: int m_i; static int m_si; int m_j; static int m_sj; int m_k; sta

原创 深度探索c++對象模型(五)

1. 虛繼承的引入(解決訪問二義性) class A { public: int m_a; }; class B:public A { public: }; class C :public A { public: }

原创 圖論系列(二)——圖的深度優先遍歷

1. 樹的深度優先遍歷與圖的深度優先遍歷對比 2. 代碼實現(遞歸版) import java.util.ArrayList; public class GraphDFS { private Graph G;

原创 六大高併發模型

文章目錄1.多進程2.多線程3.線程池4.select、poll、epoll 1.多進程 缺點: 啓動和關閉子進程帶來很大的開銷 系統創建線程有上限 命令:ulimit -u 簡單實現 2.多線程 缺點:與多進程相似 簡單實現

原创 Net——EventLoopThread類

文章目錄1. 作用2.成員變量3.測試用例 Reactor_test06.cc 1. 作用 創建了一個線程,併線程函數中創建了一個EventLoop對象 2.成員變量 3.測試用例 Reactor_test06.cc i

原创 圖論系列(六)——圖的廣度優先遍歷及應用2

1. 二分圖檢測 import java.util.LinkedList; import java.util.Queue; public class BipartitionDetection { private Gra

原创 算法基礎——歸併排序

1. 思想 分治法: 選擇中間點 遞歸排序左邊、右邊 歸併 2. 模板 #include <iostream> using namespace std; const int N = 1e6+10; int arr[N]

原创 算法基礎——高精度加、減、乘、除

1. 思想 大整數——將數字從個位開始存儲 高精度乘法: 高精度除法: 2. 模板 高精度加法 #include<iostream> #include<vector> using namespace std;

原创 圖論系列(一)——圖的基本概念和基本表示

1. 圖的分類 2. 圖的基本概念(聯通分量、聯通圖的生成樹) 3. 圖的基本表示(無向無權圖爲例) 實現代碼: import java.io.File; import java.io.IOException; imp

原创 算法基礎——二分

1. 思想 2. 模板 3. 應用 數的範圍 題目鏈接 #include <iostream> using namespace std; const int N = 1e6+10; int arr[N]; int m

原创 圖論系列(三)——圖的深度優先遍歷的應用1

1. 聯通分量 統計一個圖中聯通分量個數 判斷兩點是否聯通 求每個聯通分量中包含點編號 import java.util.ArrayList; //Connected Component —— 聯通分量 public cl

原创 算法基礎——快速排序

1. 思想 分治法 選擇分界點(arr[l]、arr[mid]、arr[r]) 調整數組區間(左半部分 < 分界點,右半部分 > 分界點) 遞歸處理左半部分,遞歸處理右半部分 2. 模版 #include <iostre

原创 深度探索c++對象模型(四)

1. 單一繼承下數據成員佈局 引入繼承關係後,可能會帶來內存空間的額外增加(字節對齊) class A { public: int a; int b; char c; char d; }; int main() {