![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ū)過(guò)程圖示 <啊哈算法> 中...
簡(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)猛计,我們通過(guò)將...
1 什么是遞歸 遞歸是一種非常高效唠摹,簡(jiǎn)潔的編碼技巧,一種應(yīng)用非常廣泛的算法奉瘤。比如 DFS 深度優(yōu)先搜索勾拉、前后中序二叉樹遍歷等都是使用遞歸。 方式...
題目描述: 具體如下圖: 即,將 L1 和 L2 鏈表進(jìn)行合并藕赞。 思路1:遞歸 每次比較 l1 和 val 和 l2 的 val成肘,誰(shuí)小,就繼續(xù)循...
題目描述: 這里考察的也是快慢指針斧蜕。 當(dāng)然双霍,如果我們用 HashSet ,也可以實(shí)現(xiàn)惩激。當(dāng)時(shí)明顯不是這道題的考察目的店煞。 我們假設(shè),使用 2 個(gè)指針...
題目描述: 這題考察的也是快慢指針风钻。 我們對(duì)偶數(shù)和奇數(shù)分別進(jìn)行分析: 當(dāng)鏈表是偶數(shù)時(shí)顷蟀,我們需要判斷他自身是否為 null,如果為 null骡技,說(shuō)明...
引言 題目描述: 簡(jiǎn)單說(shuō)鸣个,這道題的的公式就是:(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】,我...