夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色

Tag: 算法

5 篇文章

算法与数据结构番外(1):优先队列
算法与数据结构番外(1):优先队列 这是算法与数据结构番外系列的第一篇,这个系列未来的主要内容是补充一些与算法与数据结构相关的知识,这些知识比较零碎,同时也与正传关系密切,往往需要阅读了正传的相关内容以后,才能较好的理解这部分内容。如果对番外系列不感兴趣的话,是可以跳过此系列内容的,不会影响理解其他文章的内容。 阅读本文前,需要首先了解队列和堆的相…
算法与数据结构(4):堆排序
算法与数据结构(4):堆排序 堆排序(HeapSort)是最常用的排序算法之一。这种排序算法同时具有插入排序和归并排序的优点。与插入排序一样,具有空间原址性,即任何时候都只需要常数个额外的空间储存临时数据(对此,请大家回想一下归并排序,随着问题规模的越大,需要的额外空间就越大,在解决大型问题时,这是不可接受的缺点)。与归并排序一样,具有 $O(n&…
算法与数据结构(3):基本数据结构——链表,栈,队列,有根树
算法与数据结构(3):基本数据结构——链表,栈,队列,有根树 原本今天是想要介绍堆排序的。虽然堆排序需要用到树,但基本上也就只需要用一用树的概念,而且还只需要完全二叉树,实际的实现也是用数组的,所以原本想先把主要的排序算法讲完,只简单的说一下树的概念。但在写的过程中才发现,虽然是只用了一下树的概念,但要是树的概念没讲明白的话,其实不太好理解。所以决…
算法与数据结构(2):时间复杂度——以归并排序为例
算法与数据结构(2):时间复杂度——以归并排序为例 这一篇文章我们首先会介绍一下归并排序,并以归并排序和我们上一章所说的插入排序为例,介绍时间复杂度。此系列的所有代码均可在我的 github 上找到。 点此查看本文归并排序的完整代码。 分治法 在介绍归并排序前,我们需要首先介绍一下分治法,归并排序正是分治法的一个典型应用。 分治法:将原问题分解为多…
算法与数据结构(1):基础部分——以插入排序为例
算法与数据结构(1):基础部分——以插入排序为例 本文将会以插入排序为例,介绍算法与数据结构的基础部分。 插入排序 排序可以说是整个算法中最为基础,最为重要的一部分,而插入排序正是排序算法中最简单的一种解决办法。 什么是排序问题? 输入:n个数的一个序列 <$a_1$, $a_2$, $a_3$ ... $a_n$>。 输出:输入序列的一个排…