排序,一個歷史話題,目前已經有了很多非常成熟的排序算法,雖然可能在 ACM 比賽中並不會讓你具體實現一個排序算法,但是在面試當中,或者在和別人吹牛的過程中,口述,或者手撕一個排序算法,本文列舉了一些常用的算法。 首先,給大家分享一個視頻,視頻中演示了各個算法的實際元素操作思路,既是欣賞 ...
目錄 一 快速排序 數組實現 鏈表實現 二 歸並排序 數組實現 鏈表實現 三 堆排序 大根堆 用來升序 數組存儲 小根堆 用來降序 數組存儲 四 字典樹 Trie 的實現 五 樹的非遞歸遍歷 前序 中序 后序 六 其他常考代碼 求二叉樹的最大深度 判斷是否為平衡二叉樹 一 快速排序 數組實現 鏈表實現 二 歸並排序 數組實現 鏈表實現 找到中間的拆分鏈表 合並排好序的兩個鏈表 單鏈表的歸並 三 ...
2019-04-26 18:18 0 589 推薦指數:
排序,一個歷史話題,目前已經有了很多非常成熟的排序算法,雖然可能在 ACM 比賽中並不會讓你具體實現一個排序算法,但是在面試當中,或者在和別人吹牛的過程中,口述,或者手撕一個排序算法,本文列舉了一些常用的算法。 首先,給大家分享一個視頻,視頻中演示了各個算法的實際元素操作思路,既是欣賞 ...
平衡二叉樹 定義 動機:二叉查找樹的操作實踐復雜度由樹高度決定,所以希望控制樹高,左右子樹盡可能平衡。 平衡二叉樹(AVL樹):稱一棵二叉查找樹為高度平衡樹,當且僅當或由 ...
昨天我在B站上傳了一套視頻《輕松手撕10大排序算法》,里面詳細講解了10大排序算法的編碼實現、優化思路,共36小節,近11個小時。只要你認真聽了,絕對可以輕松拿下排序算法。建議選擇1.5~2倍語速服用,效果會更佳哦。 個人建議 個人覺得,一些復雜、難懂的算法,通過視頻來學習,效果 ...
匯編系列文章已經更新了三篇,每一篇都是筆者用心總結,希望對你有幫助 手把手教你匯編 Debug 愛了愛了,這篇寄存器講的有點意思 之前的文章我們主要聊了一些基本的匯編指令,並且通過一個名為 Debug 的調試軟件,讓我們看到了內存中是如何存儲指令和數據的,在學習了這些之后,我們就可以了解 ...
字節跳動這家公司,應該是所有秋招的公司中,對算法最重視的一個了,每次面試基本都會讓你手撕算法,今天這篇文章就記錄下當時被問到的幾個算法題,並且每個算法題我都詳細着給出了最優解,下面再現當時的面試場景。看完一定讓你有所收獲 一、小牛試刀:有效括號 大部分情況下,面試官都會問一個不怎么難的問題 ...
在閱讀其他博主關於紅黑樹增刪實現的時候,博主們大多直接使用文字圖片描述,對整個增刪整體的流程突出的不太明顯(當然dalao們寫得還是很棒得,不然我也寫不出這篇文章),所以我特意花了2天時間用CAD制作了 一張插入操作的流程圖和一張刪除操作的流程圖(刪除見下篇)並手撕代碼(好吧,其實大部分時間在調試 ...
我看了很多博客,也看了一些github大神的源碼,很多基於一個版本改寫而成。會將代碼分成很多小.py文件,如建立YOLO3網絡模塊就會用一個.py文件, 如建立共用iou計算就會放在utils.py ...
我看了很多博客,也看了一些github大神的源碼,很多基於一個版本改寫而成。會將代碼分成很多小.py文件,如建立YOLO3網絡模塊就會用一個.py文件, 如建立共用iou計算就會放在utils.py ...