码迷,mamicode.com
首页 >  
搜索关键字:算法导论    ( 1209个结果
算法导论第22章22.2广度优先搜索
分类:编程语言   时间:2015-02-26 20:18:32    阅读次数:159
Algorithm: quick sort implemented in python 算法导论 快速排序
1 import random 2 3 def partition(A, lo, hi): 4 pivot_index = random.randint(lo, hi) 5 pivot = A[pivot_index] 6 A[pivot_index], A[hi] = ...
分类:编程语言   时间:2015-02-26 14:51:41    阅读次数:183
一个极简易 int 类型哈希表的实现
看了算法导论的影印版的哈希表时,开始还不太明白, 想了下后觉得似乎哈希表就是数组和链表的组合, 于是根据这个思路实现了一个最简易的哈希表。这个其实我还是不太满意, 可能在以后会更新, 因为我觉得不满足 DRY 原则。class HashTable{private: const size_t ...
分类:其他好文   时间:2015-02-25 23:32:18    阅读次数:285
algorithm: heap sort in python 算法导论 堆排序
An Python implementation of heap-sortbased on the detailed algorithm description in Introduction to Algorithms Third Editionimport randomdef max_heap....
分类:编程语言   时间:2015-02-25 22:19:46    阅读次数:185
复习数据结构:排序算法(七)——桶排序
桶排序是一种稳定的排序方法,也是一种外排序。     桶排序的时间复杂度:最坏情况运行时间:当分布不均匀时,全部元素都分到一个桶中,则O(n^2),当然[算法导论8.4-2]也可以将插入排序换成堆排序、快速排序等,这样最坏情况就是O(nlgn)。最好情况运行时间:O(n)。     也就说,前面介绍的排序算法要么是O(n^2),要么是O(nlogn),只有桶排序是可能实现O(n)排序的...
分类:编程语言   时间:2015-02-25 18:44:00    阅读次数:184
全域哈希和完全哈希——麻省理工算法导论公开课
公开课地址:http://open.163.com/movie/2010/12/3/A/M6UTT5U0I_M6V2TGI3A.html全域哈希诞生:哈希的根本缺陷:对于任意哈希函数而言,都存在一个不好的健集,使得所有的健都会哈希到同一个槽里去,那么如何解决这种情况呢?如何防止对某个键集永远有较差的...
分类:编程语言   时间:2015-02-25 16:47:54    阅读次数:243
带参宏定义和inline修饰的内联函数
带参宏定义和inline修饰的内联函数都是在编译时,用函数体替换掉宏调用或函数调用。这样用的好处是减少调用函数所花费的时间。例如:算法导论在讲到堆排序时说的,好的堆排序实现一般是把Left(i),Right(i),Parent(i)的实现通过宏定义或内联函数来实现,这就是因为当我们对一组数据使用堆排...
分类:其他好文   时间:2015-02-25 12:53:40    阅读次数:114
复习数据结构:排序算法(五)——快速排序的各种版本
之前已经比较熟悉快排的基本思想了,其实现的方式也有很多种。下面我们罗列一些常见的实现方式: 版本一:算法导论上的单向扫描,选取最后一个元素作为主元 #include using namespace std; int partition(int data[], int low, int high) { int pivot = data[high]; // let the ...
分类:编程语言   时间:2015-02-24 18:46:40    阅读次数:185
两数之和等于x
算法导论第2.3-7的习题中要求给出一个运行时间为O(nlgn)的算法,这个算法的功能是能在给定一个由n个整数构成的集合S和另一个整数x时,判断出S中是否存在两个其和等于x的元素。 方法一:都知道在一个有序的序列中使用二分查找的时间复杂度是O(lgn)。首先排序,那么我们可以枚举集合S中的每一个元素,然后使用二分查找算法查找x-y(y是S中的一个元素),那么这个算法的时间复杂度是O(nlgn)。...
分类:其他好文   时间:2015-02-21 18:52:24    阅读次数:243
[[算法导论]红黑树速记
红黑树的性质: 1.每个结点要么是红色要么是黑色的。 2.根结点是黑色的。 3.所有叶结点(nil)是黑色的。 4.每个红色结点的两个孩子都是黑色的。 5.每个结点到其后代叶结点的简单路径上均包含相同数目的黑色结点。INSERT操作按二叉搜索树的方法插入新结点。INSERT-FIXUP(三...
分类:编程语言   时间:2015-02-21 10:50:59    阅读次数:156
1209条   上一页 1 ... 79 80 81 82 83 ... 121 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!