码迷,mamicode.com
首页 >  
搜索关键字:算法导论    ( 1209个结果
排序值 堆排序
按照算法导论上的实现,不过把下标改成从0开始了。原理:import java.util.Arrays;public class Solution { /** * 每次将堆顶元素交换到最后并从堆中除掉。 * * @param a */ public sta...
分类:其他好文   时间:2014-08-14 23:40:16    阅读次数:228
【算法导论学习-012】n个数随机等概率的抽样m个
n个数随机等概率的抽样m个,提供了4种方案的算法。...
分类:其他好文   时间:2014-08-13 19:01:57    阅读次数:193
算法导论 第8章 线性时间排序
/* * 算法导论 第八章 线性时间排序 * 计数排序、基数排序和桶排序 */ #include #include #include #include using namespace std; void printArray(int arr[], int len, char *str) { cout << str << endl; for (int i=0; i<len; i...
分类:其他好文   时间:2014-08-12 00:46:13    阅读次数:210
traits技法小计
在学习算法导论的时候,对于各数据结构,自然是实现一个才算掌握,工具当然是template编程,但是自己的demo经常存在很多问题,比如没有给出迭代器啊,操作符重载不够啊等等设计上的问题,而某些问题实际上是从设计之初就该考虑的大框架,而非小细节。对于C++而言,STL无疑是最佳的参考资料,侯捷先生的S...
分类:其他好文   时间:2014-08-11 00:07:31    阅读次数:246
算法导论 第7章 快速排序
快速排序在最坏情况下的时间复杂度为O(n^2),虽然在最坏情况下运行时间比较差,但是快速排序通常是用于排序的最佳选择,因为其平均性能相当好,期望的运行时间为O(nlgn),且在O(nlgn)的记号中隐含的常数因子很小。 快速排序和合并排序有相似之处,都是需要划分序列,在合并排序中,划分的过程很简单,直接选择元素序列的中间位划分位置,排序是在合并的过程中实现的,所以合并排序的合并过程很重要;相比合...
分类:其他好文   时间:2014-08-10 15:49:50    阅读次数:213
最长回文子序列
第三版《算法导论》动态规划新增题目之求最长回文子序列。只要能看到书中LCS代码,这个问题就能解决。...
分类:其他好文   时间:2014-08-09 18:48:28    阅读次数:330
排序之 快速排序
采用算法导论上的实现方式,用java实现。快排算法核心的部分便是partition过程,这里的partition采取最后一个元素作为pivot,i和j两个指针都从头向后扫描,如下图所示,数组被分为4个部分。算法执行的过程:代码实现:import java.util.Arrays;public cla...
分类:其他好文   时间:2014-08-07 18:05:30    阅读次数:196
给PHP扩展/C语言/网络编程初学者推荐的几本书
Linux/Unix系统 深入理解计算机系统 UNIX环境高级编程 深入理解Linux内核 网络通信编程 UNIX网络编程 TCP/IP详解 Linux多线程服务端编程 数据结构与算法 算法导论 《数据结构》(C语言版) C程序设计语言...
分类:编程语言   时间:2014-08-06 19:37:22    阅读次数:200
快速排序的算法导论划分形式和hoare划分
1. hoare划分 1 int hoare_partition(int a[], int begin, int end) 2 { 3 int pivot = a[begin]; 4 int ini = begin; 5 int ter = end; 6 ...
分类:其他好文   时间:2014-08-06 01:51:00    阅读次数:213
最大和子序列问题
这个问题是算法导论的一个示例,为了讲解分治。 1 //算法导论中的分治策略版本 2 3 4 #include 5 using namespace std; 6 int maxCrossSum(int a[], int begin, int mid, int end) 7 { 8 int ...
分类:其他好文   时间:2014-08-06 01:48:10    阅读次数:195
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!