![240](https://cdn2.jianshu.io/assets/default_avatar/12-aeeea4bedf10f2a12c0d50d626951489.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
簡(jiǎn)述 快排是排序算法中繞不開的關(guān)鍵一環(huán)对竣,其中涉及到分治算法,二分查找等關(guān)鍵知識(shí)钦无。 本文內(nèi)容: 快排原理 代碼實(shí)現(xiàn) 分區(qū)過程圖示 <啊哈算法> 中...
簡(jiǎn)述 算法導(dǎo)論中,在第二章提及了歸并排序盖袭,歸并排序是分治思想的一個(gè)重要實(shí)現(xiàn)失暂,只要提及分治算法,就不得不提及歸并排序鳄虱。 原理 歸并排序有 2 個(gè)步...
遞歸的時(shí)間復(fù)雜度計(jì)算較為麻煩弟塞。以下我們使用歸并排序的例子,對(duì)遞歸復(fù)雜度進(jìn)行推演拙已。 假設(shè)現(xiàn)在有一個(gè)歸并排序决记。他的運(yùn)行總時(shí)間是 T(n),我們通過將...
1 什么是遞歸 遞歸是一種非常高效倍踪,簡(jiǎn)潔的編碼技巧系宫,一種應(yīng)用非常廣泛的算法。比如 DFS 深度優(yōu)先搜索建车、前后中序二叉樹遍歷等都是使用遞歸扩借。 方式...
題目描述: 具體如下圖: 即,將 L1 和 L2 鏈表進(jìn)行合并缤至。 思路1:遞歸 每次比較 l1 和 val 和 l2 的 val潮罪,誰小,就繼續(xù)循...
題目描述: 這里考察的也是快慢指針凄杯。 當(dāng)然错洁,如果我們用 HashSet ,也可以實(shí)現(xiàn)戒突。當(dāng)時(shí)明顯不是這道題的考察目的。 我們假設(shè)描睦,使用 2 個(gè)指針...
題目描述: 這題考察的也是快慢指針膊存。 我們對(duì)偶數(shù)和奇數(shù)分別進(jìn)行分析: 當(dāng)鏈表是偶數(shù)時(shí),我們需要判斷他自身是否為 null忱叭,如果為 null隔崎,說明...
引言 題目描述: 簡(jiǎn)單說,這道題的的公式就是:(length - n + 1).next = (length - n).next;即韵丑,將 n 的...
鏈表題中爵卒,鏈表反轉(zhuǎn)應(yīng)該是出現(xiàn)頻率最高的一道題。 如何實(shí)現(xiàn)撵彻? 我們分析一下钓株,一個(gè)鏈表实牡,【1, 2轴合,3创坞,4,5】受葛,反轉(zhuǎn)成 【5题涨,4,3总滩,2纲堵,1】,我...