後廠村村長 -
go算法與數據結構:實現大小根堆、堆排
由於 Golang 的標準庫中包含現成的heap包,所以網上大部分文章都是在寫如何使用這個heap包,不過堆排作為大廠的一個常見面試考點,是不會滿足於僅讓你用heap包去實現的,至少要做到能夠手搓一個簡易版堆排。
以下是來自力扣官網的友情提醒:
「堆排」在很多大公司的面試中都很常見,不瞭解的同學建議參考《算法導論》或者大家的數據結構教材,一定要學會這個知識點哦!^_^
一個簡易版的堆排
堆排序
,
力扣
,
數據結構與算法
,
go
後廠村村長 -
go-lang之資源釋放/異常&錯誤處理
資源釋放-defer
類似於其他語言的 析構函數 比如PHP的 __destruct
func b() error {
resp, err := http.Get("xxx.com")
// 先判斷操作是否成功
if err != nil {
return err
}
// 如果操作成功,再進行Close操作
defer resp.B
異常處理
,
go
後廠村村長 -
二叉樹力扣專題備忘
先把二叉樹的四種遍歷模式和結果記錄下來,然後倒推各種解法,如下圖所示:
4種遍歷模式的順序
前序遍歷:根、左、右
中序遍歷:左、根、右
後序遍歷:左、右、根
層次遍歷:一層一層遍歷
4種遍歷模式及結果如下
前序遍歷:1 2 4 5 7 8 3 6
中序遍歷:4 2 7 5 8 1 3 6
後序遍歷:4 7 8 5 2 6 3 1
層次遍歷:1 2 3 4 5 6 7
二叉樹