小结
本系列主要介绍了一些排序算法,包括冒泡排序、快速排序、直接插入排序、希尔排序、简单选择排序、堆排序、归并排序、计数排序、桶排序和基数排序。
排序算法本身并不难,但其涉及的知识点却星罗棋布,其变化莫测的思路更让人难以捉摸,而且还涉及时间复杂度和空间复杂度的计算,就更难了,因此希望读者可以多思考、多练习,这对算法思维的培养一定会大有裨益。
最后,附上笔者整理的一张十大排序算法的思维导图,如下图所示。
数学符号解释
由于作者不知道怎么在思维导图里面插入数学符号,特出图上面的数学符号的解释
O(n^2)=
O
(
n
2
)
O(n^2)
O(n2)
O(nlog_2 n)=
O
(
n
l
o
g
2
n
)
O(nlog_2 n)
O(nlog2n)
O(n^{1.3})=
O
(
n
1.3
)
O(n^{1.3})
O(n1.3)
O(n+n(log_2n-log_2m))=
O
(
n
+
n
(
l
o
g
2
n
−
l
o
g
2
m
)
)
O(n+n(log_2n-log_2m))
O(n+n(log2n−log2m))
数字魅力的开篇
经过前4个系列的学习,我们基本掌握了算法的基础知识。Python与Java 是两种强大的编程语言,容易学习而且充满乐趣。但掌握了基本知识与基本的排序算法后,接下来要做什么呢?
“数字的魅力:探索数学的基础与美妙”
从下一个系列开始,我们就要用一些简单的算法来解决实际问题,全程都将以实例为基础进行讲解,所谓河边学钓鱼——现学现用,也就不会像前面的学习那么枯燥了。正如下一个系列的标题一样,下一个系列会围绕“数字”展开讲解,数字是最简、最美、最自然的存在。或许有读者会说,不就是12345嘛,有什么好讲的,最多再加个九九乘法表。非也,非也,数字是数学的基础,是想象和灵感所依托的证明,是建立在公理和逻辑上的有趣事实的集合。数字虽然只是一个个简单的符号,但其构成的“通天塔”却美得如梦似幻,让人流连忘返。
就像冯.诺依曼所说:如果有人不认为数学是简单的,是因为他还没有认识到生活有多复杂。这就是数学的魅力,也是数字的魅力。
总结
通过本系列的学习,我们深入了解了各种排序算法,并了解了它们的思路、时间复杂度和空间复杂度。尽管排序算法本身并不难,但涉及的知识点却广泛而复杂,需要我们不断思考和练习。
在接下来的学习中,我们将进一步探索算法的实际应用。通过以实例为基础的讲解,我们将学会使用算法解决实际问题,让学习变得更加有趣且具有实用性。下一个系列以“数字的魅力”为主题,将围绕数字展开讲解。数字作为数学的基础,是想象和灵感的来源,是建立在公理和逻辑上的有趣事实的集合。虽然数字只是简单的符号,但它们构成了一个美妙的“通天塔”,让人陶醉其中。
最后,用冯·诺依曼的话来形容数学的魅力:“如果有人不认为数学是简单的,那是因为他还没有认识到生活有多么复杂。”
数学的魅力正是数字的魅力,让我们一起去探索和发现吧。