算法从入门到进阶

专栏介绍

本小册由 AI破局合伙人 程序员小灰 出品。

许多程序员对算法望而生畏,认为算法是一项高深莫测的学问。

算法真的有那么难,真的有那么无趣吗?

我一直希望写出一些东西,让更多的IT同行们能够领略到算法的魅力,可是用什么方式来写呢?

2016年9月,一次突如其来的灵感,让我创造了一个初出茅庐的菜鸟程序员形象,这个菜鸟程序员名叫“小灰”。

程序员小灰的故事活跃在微信公众号上,用漫画的形式诉说着他的一次又一次面试经历,倔强的小灰屡战屡败,屡败屡战。小灰是我本人刚刚入行时的真实写照,相信许多程序员小伙伴们也能从中看到自己的影子。

 

随着内容的不断积累,我的微信公众号程序员小灰越来越受欢迎,逐渐拥有了超过45W粉丝,帮助了许许多多想要学习算法的IT同胞们。还没有关注公众号的小伙伴们,欢迎在微信上搜索“程序员小灰”进行关注。

在2019年,小灰在出版社的邀请下,出版了第一本图书《漫画算法》,后来,小灰再接再厉,先后出版了《漫画算法Python篇》和《漫画算法2》。

这三本书,目前在全网的总销量超过10W册,可以说是IT领域最畅销的图书之一。

不过,纸质图书只是内容传播的形式之一。如今是移动信息时代,比起捧着厚厚的纸质书,许多人更喜欢通过手机来学习新知识。

因此,在朋友们的支持和鼓励下,小灰决定把自己三本书的精华内容从微信公众号搬到小报童平台上面,制作成现在大家所看到的电子书:《算法从入门到精通》,方便更多的小伙伴学习算法知识。

在此,小灰要感谢电子工业出版社,是他们看到了程序员小灰公众号的价值,邀请我出版了《漫画算法》系列图书。

同时,小灰要感谢我的朋友findyi(易洋),以及AI破局合伙人的各位朋友们,是他们的建议和启发,促使我创作了《算法从入门到精通》。

最后,我更要感谢程序员小灰公众号所有的读者朋友们,你们的支持和鼓励,让我有了持续创作的动力。

第43讲:算法与数据结构知识大复盘

大家好,我是程序员小灰。时间过得很快,我们在介绍了各种算法与数据结构知识之后,终于要迎来了本小册的尾声。今天这一讲,小灰带着大家梳理一下我们曾经讲过的知识。

在小册的第......

第42讲:什么是希尔排序(下)

大家好,我是程序员小灰,上一讲我们介绍了希尔排序的基本原理,并且提到在某些极端情况下,希尔排序的最坏时间复杂度仍然是O(n2),甚至比直接插入排序更慢。

这是怎么一回事......

第41讲:什么是希尔排序(上)

大家好,我是程序员小灰,今天这一讲,我们来讲解一种特殊的排序算法,希尔排序。

为什么说希尔排序算法很特殊呢?

之前我们学过的算法,时间复杂度要......

第40讲:什么是计数排序(下)

大家好,我是程序员小灰。上一讲,我们介绍了计数排序算法的朴素版实现,同时也提出了朴素版本当中的一个问题。怎么解决这个问题呢?

很简单,我们不再以(输入数列的最大值+1)......

第39讲:什么是计数排序(上)

大家好,我是程序员小灰,今天这一讲,我们来讲解一种全新的排序算法,计数排序。

在介绍什么是计数排序之前,我们先来做一个简单的回顾。在前面几讲,我们分别介绍......

第38讲:什么是归并排序(下)

大家好,我是程序员小灰,上一讲我们介绍了归并排序的基本原理,这一讲我们来说说归并排序的代码实现。

归并排序的具体代码怎么实现呢?其中的分组代码比较简单,但是归并逻辑的代......

第37讲:什么是归并排序(上)

大家好,我是程序员小灰。上一讲我们介绍了快速排序算法,今天这一讲,我给大家介绍另一种同样高效的排序算法,叫做归并排序。

不知道在座的小伙伴有没有看过《龙珠》这个动画片,......

第36讲:什么是快速排序(下)

大家好,我是程序员小灰。上一讲我们介绍了快速排序的基本原理,以及交换过程中的双边循环法。

双边循环法从数组的两边交替遍历元素,虽然更加直观,但是代码实现相对繁琐。而单边......

第35讲:什么是快速排序(上)

大家好,我是程序员小灰,今天我们来学习一种全新的排序算法,名为快速排序。

之前我们学习过冒泡排序和插入排序,这两种排序算法的共同特点是什么呢?他们的平均时间复杂度都是O......

第34讲:什么是插入排序

大家好,我是程序员小灰。在上一讲,我给大家介绍了冒泡排序,这一讲我给大家介绍另一种排序算法,叫做插入排序。

什么是插入排序呢?

在正式介绍插入......

去【 小报童 】查看专栏详情