码迷,mamicode.com
首页 >  
搜索关键字:算法导论    ( 1209个结果
排序算法小结
经典的排序算法有十种,分别是:选择排序、插入排序、希尔排序、冒泡排序、堆排序、合并排序、快速排序、计数排序、基数排序和桶排序。 下面对这些算法分类如下: 选择排序:简单选择排序、堆排序 插入排序:直接插入排序、二分插入排序、希尔排序 快速排序:快速排序、随机化快速排序 线性时间排序:计数排序、基数排序、桶排序 其他:冒泡排序、合并排序 这些排序排序算法的时间复杂度,稳...
分类:其他好文   时间:2014-08-20 16:31:32    阅读次数:185
【算法导论】学习笔记——第6章 堆排序
堆这个数据结构应用非常广泛,数字图像处理的算法里也见过。似乎记得以前老师上课说需要用树结构实现堆排序,看了一下算法导论才明白其精髓。堆虽然是一棵树,但显然没必要非得用树结构实现堆排序。堆排序的性质很好,算法时间复杂度为O(nlgn)。1. 堆排序的简要说明。二叉堆可以分为两种形式:最大堆和最小堆。在...
分类:其他好文   时间:2014-08-19 23:48:35    阅读次数:325
【算法导论学习-016】两个已排过序的等长数组的中位数(median of two sorted arrays)
求两个已排过序的等长的数组的中位数(median of two sorted arrays)...
分类:其他好文   时间:2014-08-18 18:46:33    阅读次数:337
算法导论 第9章 中位数和顺序统计学
/* * 算法导论 第九章 中位数和顺序统计学 * 线性时间选择元素 */ #include #include using namespace std; int minimum(int *arr, int len); int randomizedSelect(int *arr, int p, int r, int i); int randomizedPartition(int *ar...
分类:其他好文   时间:2014-08-18 18:32:42    阅读次数:208
算法导论第十五章动态规划
概述: 动态规划是通过组合子问题的解而解决整个问题的。 动态规划适用于子问题不是独立的情况,也就是各子问题的包含公共的子子问题。 动态规划对每个子问题只求解一次,将其结果保存在一张表中。 动态规划通常用于最优化问题。 动态规划的设计步骤:a.描述最优解的结构b.递归定义最优解的值c.按自底向上的方式计算最优觖的值d.由计算出的结构构造一个最优解 15.1钢条切割...
分类:其他好文   时间:2014-08-18 14:34:02    阅读次数:367
【算法导论学习-015】数组中选择第i小元素(Selection in expected linear time)
从数组array中找出第k小的元素,即经典的“线性时间选择”问题...
分类:其他好文   时间:2014-08-17 21:26:12    阅读次数:276
【算法导论学习-014】计数排序(CountingSortTest)
计数排序...
分类:其他好文   时间:2014-08-17 18:40:22    阅读次数:162
【算法导论学习-015】基数排序(Radix sort)
利用计数排序实现基数排序...
分类:其他好文   时间:2014-08-17 18:39:22    阅读次数:203
[算法导论]merge sort @ Python
import sysclass mergesort(): def merge_sort(self, A, p, r): if p < r: q = (p + r) / 2 self.merge_sort(A, p, q) ...
分类:编程语言   时间:2014-08-17 15:30:52    阅读次数:166
BinarySearchTree示例——C++模板实现
数据结构和算法理解很简单,深感算法导论的介绍更是精辟而无累赘。例如:1. 直接切入二叉搜索树,而不是从树开始介绍各种繁琐的表示方式,最后的重点结果还是二叉搜索和几种平衡树,算法导论介绍知识的时候数学性虽强,但应用性也十足,它的 应用性不在于给你代码,而在于给你应用的场景,告诉你各种结构的优劣和...
分类:编程语言   时间:2014-08-17 15:28:42    阅读次数:241
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!