array: 矩陣;
hash table:雜湊;
linked list:鍊錶;
math:數學;
two pointers:雙指標;
sting:字串;
divide and conquer:分治;
binary search:二分;
dynamic programming:動態規劃;
backtracking:回溯;+++++++++++++
stack:堆疊;
heap:佇列;
greedy:貪心;
sort:排序;
bit manipulation:位操作+++++++++
tree:樹;
depth-first-search:深度優先遍歷;
breadth-first-search:廣度優先遍歷;
union find(並查集):++++++++++++
graph:圖+++++++++
design:+++++++++
topological sort(圖演算法):+++++
tire(字典樹):++++++++++
binary search tree:二叉搜尋樹;
recursion:遞迴;
segment tree(線段樹):++++++++++
binary indexed tree(樹狀陣列):++++++++++
brainteser+++++++
Leetcode演算法總結
應用 1.給定乙個有序遞增陣列,在陣列中找到滿足條件的兩個數,使得這兩個數的和為某一給定的值。如果有多對數,只輸出一對即可。2.hoare的雙向掃瞄快速劃分法。3.奇偶排序 4.求單鏈表的中間元素。異構指標 一般是針對 array 型別的題目。array 當中有兩類元素,他們 之間 或者 各自 有某...
LeetCode 回溯演算法總結
全排列 class solution void f vectorint res,vector int nums,vector int s,vector int visited for int i 0 isize i 子集 class solution void f vectorint result,...
leetcode演算法總結 map儲存資料
我們之所以使用map進行資料的儲存,主要是因為 map的查詢時間複雜度為o 1 而陣列遍歷的查詢時間複雜度為o n 所以我們可以使用空間換時間,在一些情況中使用map來代替陣列遍歷進行查詢。map是基於紅黑樹實現。紅黑樹作為一種自平衡二叉樹,保障了良好的最壞情況執行時間,即它可以做到在o log n...