随笔分类 - 理论学习
摘要:希尔排序代码虽然少,但理解起来不一定就很简单,虽然性能不及快排、归并、堆排这些线性对数阶排序,但毕竟是第一批突破第二次时间屏障的算法,排序思路还是有一定复杂性。本文就带大家重温一下经典的希尔排序。
阅读全文
摘要:有些小伙伴觉得堆排序的代码很难搞定,然而真的有这么难嘛?其实堆排的流程就两大步,理解的关键点就在于这两步逻辑上的行为在代码中是怎么实现的。本文将会在介绍堆排的同时,带着大家理解好这个关键点。
阅读全文
摘要:归并排序是一种效率较高的排序方法。本文将先介绍归并排序,然后再简单盘点一下其与快排的一些区别。
阅读全文
摘要:有些小伙伴可能和我一样,一开始看到快速排序的代码是有点蒙蒙的,不知道为什么这样就可以实现排序,要应对面试手撕的时候也要提前准备才行。后来当我把它和分治算法联系在一起后才算真正掌握了快排,此后无需准备都能够随时手撕快排。
阅读全文
摘要:在阅读其他博主关于红黑树增删实现的时候,博主们大多直接使用文字图片描述,对整个增删整体的流程突出的不太明显(当然dalao们写得还是很棒的,不然我也写不出这篇文章)。
本文承接上篇,讲解红黑树中最复杂的删除操作,以一张流程图,让大家换一个角度来了解整个删除操作的实现过程。
阅读全文
摘要:在阅读其他博主关于红黑树增删实现的时候,博主们大多直接使用文字图片描述,对整个增删整体的流程突出的不太明显(当然dalao们写得还是很棒得,不然我也写不出这篇文章)。
所以我特意花了2天时间用CAD制作了 一张插入操作的流程图和一张删除操作的流程图(删除见下篇)并手撕了代码(手撕红黑树233).
本文则试图通过流程图,让大家换一个角度来了解整个插入操作的实现过程。
阅读全文
摘要:C++中的指针是一个比较复杂的知识概念,最近我有在学习这一方面的知识,就借此文章记录一下在学习时容易产生的混淆。
阅读全文

浙公网安备 33010602011771号