建立 stack #include <stack> : 引入 stack stack<dataType> st : 宣告 常用功能 st.push(val) : …
Read more »Tree Traversal 常見的 DFS traversal 有 preorder、inorder、postorder,三者差在什麼時候處理目前節點。 Preorder:先處理目前節點,再走左子樹、右子樹 Inorder:先…
Read more »最基礎的 binary search,是在已排序的陣列中搜尋指定的 target 。因為每次都能排除一半的搜尋範圍,所以時間複雜度是 O(log n) ,下面是最常見的寫法: int binarySearch(vector<in…
Read more »map 的特性是可以用 key 去查詢 value,也就是用 key-value 來儲存資料。 map 底層通常以紅黑樹實作,key 會自動排序,因此搜尋、插入、刪除的時間複雜度都是 O(log n)。 另…
Read more »set 裡的元素有不重複的特性,且元素已排序(底層以紅黑樹實作) 另一種是 unordered_set,一樣有不重複的特性,但無排序(底層以 hash table 實作) 建立 set #include <se…
Read more »建立 queue #include <queue> : 引入 queue queue<dataType> q : 宣告 常用功能 q.push(val) : 將元…
Read more »Vim 是什麼? vim 是一個可以在終端機開啟的 文字編輯器 ,和其他文字編輯器 (VSCode, Sublime 等等) 最大的不同是 沒有圖形介面 ,所以在沒辦法使用圖形化編輯器時,就可以使用 vim 來做編輯。 vi…
Read more »紅黑樹特性 root 為黑色節點 所有 leaf 為黑色節點,值為 NIL 若某節點為紅色則其 child 為黑色 (無兩個連續紅色節點) 對任一節點,到 leaf 所經過的黑色節點數量一樣 …
Read more »紅黑樹特性 root 為黑色節點 所有 leaf 為黑色節點,值為 NIL 若某節點為紅色則其 child 為黑色 (無兩個連續紅色節點) 對任一節點,到 leaf 所經過的黑色節點數量一樣 …
Read more »Linux 的指令讓人又愛又恨,對初學者來說應該是滿頭問號,但當學會後會發現,真的很方便很好用,這次就來分享一些非常常使用的 Linux 指令,學會後就可以應付大部分的情況了~ 基本操作 man 查詢使用手冊 # 查詢 ls…
Read more »建立 vector #include <vector> : 引入 vector vector<dataType> vec : 宣告 vector<dataType>…
Read more »💡編譯 執行 編譯: gcc -g 進入gdb: gdb ./filename 💡常用指令 b breakPoint : 設定中斷點 info b : 查看中斷點 info line : …
Read more »學習這些 VSCode 小技巧,讓寫 code 更快速、更便利! 小提醒:多行的部分只要將想選取的行反白即可,一行中只要有選到就好,不必整行都選到! 文字編輯快捷鍵 …
Read more »用過 Linux 的人一定對 vim 不陌生吧,但是最一開始打開 vim 時一定會想要加點手腳,讓它成為自己喜歡的文字編輯器,以下幾個實用的相關設定分享給大家,一起把 vim 變成喜歡的樣子吧!
Read more »哈囉大家好,我是秀桑,這裡是我的小角落!在這裡把一些努力的過程和結果與你們分享,包括我的所學,實用工具整理等,讓我們一起探索生活的每一刻!