調整陣列順序使奇數位於偶數前面:雙指針 O(n) 原地演算法
調整陣列順序使奇數位於偶數前面:雙指針 O(n) 原地演算法 輸入一個整數陣列,調整順序使所有奇數位於前半部、偶數位於後半部,要求時間複雜度 O(n)。本文提供
LA 4287 等價命題證明:Tarjan 強連通分量縮點解法詳解
LA 4287 等價命題證明:Tarjan 強連通分量縮點解法詳解 題目要求:已知 n 個命題與 m 條已證推導(有向邊),求最少再需多少條推導使所有命題等價(
O(1) 時間刪除單向鏈表節點:經典面試題完整解析
O(1) 時間刪除單向鏈表節點:經典面試題完整解析 給定單向鏈表頭指標與待刪除節點指標,要求 O(1) 時間刪除該節點。常規做法需從頭遍歷找前驅節點(O(n))
堆排序演算法圖解與 C++ 實現:從建堆到排序完整流程
堆排序演算法圖解與 C++ 實現:從建堆到排序完整流程 堆排序是原地排序演算法,時間複雜度 O(n log n),空間複雜度 O(1)。本文以「從大到小排序」為
實現 Power 函數:快速冪演算法與邊界條件完整處理
實現 Power 函數:快速冪演算法與邊界條件完整處理 實現 double Power(double base, int exponent) 求 base 的
計算 32 位整數二進制中 1 的個數:三種位運算技巧對比
計算 32 位整數二進制中 1 的個數:三種位運算技巧對比 給定一個 32 位無符號整數 n,求其二進制表示中 1 的個數。例如 n=5(0101)返回 2,n
斐波那契數列演算法詳解:遞迴、迴圈與動態規劃三種實現
斐波那契數列演算法詳解:遞迴、迴圈與動態規劃三種實現 斐波那契數列是經典的演算法面試題目,定義為:F(0)=0、F(1)=1、F(n)=F(n-1)+F(n-2
C++ std::map 容器完整指南:核心特性與實戰範例
C++ std::map 容器完整指南:核心特性與實戰範例 在 C++ 標準模板庫(STL)中,std::map 是一個關鍵的關聯式容器,用於儲存「鍵值對」。它
數據挖掘算法 DBSCAN 的 C++ 完整實現與原理詳解
DBSCAN 算法 C++ 實現與原理詳解 DBSCAN(Density-Based Spatial Clustering of Applications wi
C/C++ 經典面試題精選:static、const、內存管理、多態等核心考點
C/C++ 經典面試題精選 本文匯總了 C/C++ 面試中高頻考察的 16 個核心知識點,涵蓋關鍵字用法、內存模型、面向對象特性、模板與標準庫等,助你系統複習、
Windows 進程間通信:命名管道完整指南與 C++ 實現
Windows 進程間通信:命名管道完整指南 命名管道 是 Windows 平台上實現進程間通信(IPC)的重要機制,支援本機及跨網絡通信,屏蔽了底層網絡協議細
C++ float 科學計數法輸出詳解:e 記號與精度
C++ float 科學計數法輸出詳解 在 C++ 中,float 型別數值過大或過小時,標準輸出流 std::cout 會自動切換到科學計數法(指數記號),即
二叉樹鏡像轉換:遞歸與迭代兩種 C++ 實現
二叉樹鏡像轉換:遞歸與迭代實現 二叉樹的鏡像操作是指將樹中所有節點的左右子樹進行交換,使其成為原樹的鏡像。本文提供遞歸與迭代(棧模擬)兩種 C++ 實現方式,並
判斷二叉樹 B 是否為樹 A 的子結構:遞歸解法與 C++ 實現
判斷二叉樹 B 是否為樹 A 的子結構 在二叉樹的相關算法題中,「判斷樹 B 是否為樹 A 的子結構」是一道經典問題。所謂子結構,指樹 B 的結構與節點值完全匹
二叉樹層序遍歷:隊列實現廣度優先搜索(BFS)
從上往下打印二叉樹(層序遍歷) 題目:從上到下按層打印二叉樹節點,同層節點從左到右順序。 核心算法:隊列 BFS 利用隊列的「先進先出」特性: 根節點入隊。
棧的壓入彈出序列判斷:模擬棧操作與指針推演兩法
判斷彈出序列是否合法 題目:給定壓入序列(無重複元素),判斷一個序列是否為其合法的彈出序列。 方法一:輔助棧模擬(直觀) 模擬壓棧過程,嘗試匹配彈出序列:
包含 min 函數的棧:輔助棧同步實現 O(1) 獲取最小值
包含 min 函數的棧 題目:定義棧結構,實現 push、pop、min 三個操作,時間複雜度均為 O(1)。 核心思路:輔助最小值棧 除數據棧 m_data