
算法导论
爱学习的程序员
我很菜的
展开
-
《算法导论》——十分钟了解堆排序!
《算法导论》——堆排序基本概念堆排序,顾名思义,也是排序算法的一种。与归并排序算法一样,堆排序的时间复杂度是O(nlgn)O(nlgn)O(n\lg n),整体优于插入排序。然而与归并排序不同的是,堆排序和插入排序一样,具有空间原址性:任何时候都只需要常数个额外的元素空间存储临时数据。因此,堆排序是集成了插入排序和归并排序的优点于一身的一种排序算法。堆是一种常用的数据结构,不仅用...原创 2018-07-09 17:29:46 · 671 阅读 · 0 评论 -
《算法导论》——简洁明了的插入排序算法
《算法导论》——插入排序基本概念所谓插入排序,即将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,适用于少量数据的稳定排序,时间复杂度为O(n2)O(n2)O(n^2)。既然插入排序是用于数据的排序,不如就顺便阐述一下排序的概念:输入:n个数的一个序列(a1,a2,…,an)(a1,a2,…,an)(a_1, a_2,\ldots, a_n).输出:...原创 2018-06-28 21:54:08 · 333 阅读 · 0 评论 -
《算法导论》——十分钟了解归并排序!
《算法导论》——归并排序基本概念与插入排序相同,归并排序也是一种常见的排序算法。归并排序是建立在归并操作上的一种高效且稳定的排序算法。该算法是采用分治法将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。算法思想归并算法的核心思想即分治法。所谓分治法,就是将问题分而治之。它将原问题分解为几个规模较...原创 2018-06-28 22:43:15 · 337 阅读 · 0 评论 -
《算法导论》——十分钟带你了解最大子数组问题
《算法导论》——最大子数组问题问题概述假如你有一天突发奇想,准备投资股票大捞一笔,从而别墅靠海,走向人生巅峰。经过深思熟虑,你最终选定一家公司的股票。你被准许可以在某个时刻买进一股该公司的股票,并在之后某个日期将其卖出,买进卖出都是当天交易结束后进行。为了补偿这一限制,你可以了解股票将来的价格(是不是感到很兴奋啊!)。股票未来一段时间内的价格如图所示。你可能直观地认为,直接在最...原创 2018-07-11 23:23:53 · 332 阅读 · 0 评论 -
《算法导论》——如何在线性时间内完成排序?
《算法导论》——线性时间排序众所周知,任何比较排序在最坏情况下都要经过Ω(nlgn)Ω(nlgn)\Omega(n \lg n)次比较。所谓比较排序,是指在排序的最终结果中,各元素的次序依赖于它们之间的的比较。之前介绍的,快速排序,堆排序,归并排序等经典排序算法都是其中的代表。那么问题来了,难道真的无法在Ω(nlgn)Ω(nlgn)\Omega(n \lg n)时间内对一个无序数组完成排序...原创 2018-07-19 16:52:13 · 1604 阅读 · 0 评论 -
《算法导论》——矩阵乘法Strassen算法
《算法导论》——Strassen算法矩阵乘法接触过线性代数的读者,对于矩阵乘法想必一定不陌生。若A=(aij)A=(aij)A=(a_{ij})和B=(bij)B=(bij)B=(b_{ij})是n∗nn∗nn*n的方阵,则对i,j,…,ni,j,…,ni, j, \ldots, n,定义乘积C=A⋅BC=A⋅BC=A \cdot B中的元素cijcijc_{ij}为:cij=...原创 2018-07-13 22:18:41 · 2827 阅读 · 3 评论 -
《算法导论》——十分钟了解快速排序!
《算法导论》——快速排序基本概念快速排序最早由C. A. R. Hoare在1962年提出,一经面世,就备受瞩目。不过,快速排序并不快!对于包含n个数的输入数组来说,快速排序是一种最坏情况下时间复杂度为Θ(n2)Θ(n2)\Theta(n^2)的排序算法。然而,快速排序真的很快!因为,它的平均性能非常好,期望时间复杂度为Θ(nlgn)Θ(nlgn)\Theta(n\lg n),而且Θ...原创 2018-07-15 22:56:56 · 611 阅读 · 0 评论 -
《算法导论笔记》——十分钟带你了解二叉搜索树(BST)!
搜索树数据结构支持许多动态集合操作,包括SEARCH(查找指定结点)、MINIMUM(最小关键字结点)、MAXMUM(最大关键字结点)、PREDECESSOR(结点的先驱)、SUCCESSOR(结点的后继)、INSERT(结点的插入)和DELETE(结点的删除)等。因此,我们使用一棵搜索树既可以作为一个字典又可以作为一个优先队列。 二叉搜索树上的基本操作所花费的时间与这棵树的高度成正比。对于...原创 2018-07-27 20:18:46 · 32762 阅读 · 10 评论