码迷,mamicode.com
首页 >  
搜索关键字:算法导论    ( 1209个结果
从头看算法导论 习题2.3-7 深入分析
题目:请给出一个时间复杂度为nlogn的算法,使之能够在给定一个由n个整数的构成的整合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素。算法思想:1.先运用合并排序进行排序 O(nlgn),2.然后运用二分查找法寻找y,y = x - a[i],算法的时间复杂度小于nlogn,所以总的时...
分类:编程语言   时间:2014-12-13 19:23:22    阅读次数:279
算法导论---------动态规划之钢条切割
动态规划方法通常用来求解最优化问题。动态规划算法设计步骤: 1.刻画一个最优解的结构特征。 2.递归定义最优解的值。 3.计算最优解的值,通常采用自底向上的方法。 4.利用计算出的信息构造一个最优解。 动态规划的实现方法: 带备忘的自顶向下法:此方法仍按自然的递归形式编写过程,但过程会保存每个子问题的解(通常保存在一个数组或散列表中)。当需要一个子问题的解时,过...
分类:编程语言   时间:2014-12-13 09:37:19    阅读次数:270
近期开始以刷通USACAO为主。
看到一段话:先去usaco刷!然后uva,hdu,poj各种刷 要看的书: 算法导论! lrj黑书! 周大虾的计算几何!组合数学!离散数学!数据结构!图论!数论概论! (C++ for )STL!(Java for)大数! 最后把dp两字的精华理解了,综合在每个算法; 再体会一下网络流的各种神奇,基本上就完成了regional赛的水平了。...
分类:其他好文   时间:2014-12-13 01:02:30    阅读次数:128
算法导论读书笔记之钢条切割问题
给定一段长度为n英寸的钢条和一个价格表 pi (i=1,2, …,n),求切割钢条的方案,使得销售收益rn最大。注意,如果长度为n英寸的钢条价格pn足够大,最优解可能就是完全不需要切割。 若钢条的长度为i,则钢条的价格为Pi,如何对给定长度的钢条进行切割能得到最大收益?...
分类:编程语言   时间:2014-12-12 22:14:00    阅读次数:302
字符串匹配问题 ---- 算法导论读书笔记
字符串匹配是一个很常见的问题,可以扩展为模式的识别,解决字符串问题的思想被广泛地应用。介绍四种解决该问题的办法,包括:最朴素的遍历法,Rabin-Karp算法,自动机机匹配,Knuth-Morris-Pratt算法即耳熟能详的KMP。         在一开始,先对时间复杂度做出一个总扩(从大到小):【1】朴素法:O( (n-m+1)m );【2】Rabin-Karp:预处理:O(m),匹配:最...
分类:编程语言   时间:2014-12-09 12:14:54    阅读次数:373
求一个数组中最小的K个数
方法1:先对数组进行排序,然后遍历前K个数,此时时间复杂度为O(nlgn);方法2:维护一个容量为K的最大堆(《算法导论》第6章),然后从第K+1个元素开始遍历,和堆中的最大元素比较,如果大于最大元素则忽略,如果小于最大元素则将次元素送入堆中,并将堆的最大元素删除,调整堆的结构;方法3:使用复杂度为...
分类:编程语言   时间:2014-12-09 00:25:52    阅读次数:286
有趣的概率算法--生日悖论
在算法导论书上看到个比较有意思的概率算法,在这里加上自己的理解分享下: 上次刚看同学发的朋友圈说道:“两个人同一间宿舍,而且同年同月同日生,这个缘分真的是醉了”,当时我也是醉醉的,看了这个算法后才发现,屋里有23个人,那么就可以50%的概率生日是一样的。 是这样子证明的: 首先,假设屋子里...
分类:编程语言   时间:2014-12-08 22:50:15    阅读次数:258
算法导论-------------红黑树
红黑树是一种二叉查找树,但在每个结点上增加了一个存储位表示结点的颜色,可以是RED或者BLACK。通过对任何一条从根到叶子的路径上各个着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。本章主要介绍了红黑树的性质、左右旋转、插入和删除。重点分析了在红黑树中插入和删除元素的过程,分情况进行详细讨论。一棵高度为h的二叉查找树可以实现任何一种基本的动态集合操作,如SEARCH、...
分类:编程语言   时间:2014-12-08 09:21:36    阅读次数:501
C++堆排序
前几天处理工作方面的事情, 确实耽误了几天, 导致博客停更了, 今天上午看到算法导论的堆排序, 想用 C++ 实现下, 就当练练手了.算法导论里使用的是起始编号为 1 的容器, 那么实现的方法要不就是把 STL 容器打包, 自己建一个起始编号为 1 的容器, 要不就按照起始编号为 0 的来. 想了一...
分类:编程语言   时间:2014-12-07 17:48:17    阅读次数:179
红黑树
package datastructure.tree; /** * 红黑树是基于平衡二叉搜索树的一种扩展,它是给据红黑结点来判断是否旋转并进行相应的处理 * 这样就省去了平衡因子的判断,简化了算法的难度。根据红黑结点以调整树的平衡因子,这种 方 * 法可以近似平衡。红黑树具有以下性质: * 1.每个结点要么是黑色,要么是红色。(源于算法导论第三版) * 2.根结点是黑色的。 * ...
分类:其他好文   时间:2014-12-06 19:37:07    阅读次数:221
1209条   上一页 1 ... 91 92 93 94 95 ... 121 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!