最新文章列表

【算法导论】入门概念

写程序,学语言,其实这些都是需要时间的沉淀的,但是唯独算法与数据结构这些程序的核心与灵魂是几乎不变的(也有一定的变化,不过本质相同),所以,希望各位码农们可以学习一下算法和数据结构,了解这些核心的东西,实际的对自己进行提升。   小弟菜鸟一枚,对算法不太感冒,不过,感觉必须做一些核心的东西才行,所以,打算坚持学习了解一些算法。   算法的概念:简单来说,所谓算法(algorithm)就是 ...
商人shang 评论(0) 有1397人浏览 2014-12-19 12:07

《算法导论》插入排序的java实现

最近打算从头学习算法导论,推荐去网易看网易公开课,有麻省理工学院公开课:算法导论,有喜欢的同学去看吧。 第一个算法,就是插入排序了,java实现如下: package sort; public class InsertSort { /** * @param args */ public static void main(String[] args) { // ...
伤心眼泪 评论(0) 有790人浏览 2014-04-21 09:54

算法导论6.3-3

    证明:在任一含n个元素的堆中,至多有ceiling(n/(2^(h+1)))个高度为h的节点。 出处:http://blog.csdn.net/lqh604/article/details/7381893   证明: (1)对于h=0, 即叶子结点的个数,由6.1-7习题可知,叶子结点的个数最多为ceiling(n/2)=ceiling(n/2^(h+1)),即初始化成立 ...
momoliu 评论(0) 有1339人浏览 2013-03-05 19:21

算法导论-14-2-Josephus排列

题目: Josephus问题的定义如下:假设n个人排成环形,且有以正整数m<=n。从某个制定的人开始,沿环报数,每遇到第m个人就让其出列,且报数进行下 ...
toperror 评论(0) 有2人浏览 2012-08-28 15:38

算法导论-14.3-7-O(lgn)时间求矩形集合中重叠矩形的个数

题目: 思考: 采用红黑树作为基础数据结构,扩展为14.3中的区间树。 第一步: 对每个矩形的左边x和右边x排序,排序结果放在一个序列中。并记录每个x值属于哪个矩形。 如三个矩形的x区间(左边x,右边x)分别是(1,3),(2,4),(3,5),排序结果(x值,属于哪个矩形)是(1,1),(2,2),(3,1),(3,3),(4,2),(5,3)。 第二步: 依次处 ...
douxiangguan 评论(0) 有3人浏览 2012-08-26 23:16

算法导论-14.3-7-O(lgn)时间求矩形集合中重叠矩形的个数

题目: 思考: 采用红黑树作为基础数据结构,扩展为14.3中的区间树。 第一步: 对每个矩形的左边x和右边x排序,排序结果放在一个序列中。并记录每个x值属于哪个矩形。 如三个矩形的x区间(左边x,右边x)分别是(1,3),(2,4),(3,5),排序结果(x值,属于哪个矩形)是(1,1),(2,2),(3,1),(3,3),(4,2),(5,3)。 第二步: 依次处 ...
waitan56 评论(0) 有9人浏览 2012-08-26 22:19

算法导论16.2-6

在O(n)时间范围内解决部分背包问题。 思路:利用快排的思想将数组分为三部分,A,B,C,其中B只包含划分区域的主元一个元素。计算A中物品的重量,如果超过了volume,则继续对A进行划分。如果 w(A)<volume<=W(A+B),则将A中的元素都装进背包,同时尽可能的往背包里填B中的物品,如果volume>W(A+B),则A,B都入包,同时对C进行划分 代码如下: ...
juliufeifei 评论(0) 有7人浏览 2012-08-12 00:17

算法导论第十五章习题15-1--双调欧几里得旅行商问题

思路:1),首先将所有点加上坐标,x轴指向右,y轴指向下。然后将所有点按照x轴坐标从小到大排列。 2)总体思路是依次从排好序的节点取出一个节点,决定该节点应该放在第一条路径上还是第二条路径上。  3)定义一个数组:double b[8][8]; //b[i][j]表示第一条路径搜索到第i各节点,第二条路径搜索到第j个节点后的最短路径长度。如果i==j则说明两条路径汇聚到i点上 如果i==n则 ...
wangwangzhi 评论(0) 有26人浏览 2012-08-11 12:13

算法导论第十五章习题15.4-2

不适用数组b就能实现LCS结果的打印,代码如下: //LCS #include<iostream> #include<string> using namespace std; //改进的LCS算法,不使用数组b便可打印出结果 void LCS_LengthC(string x,string y,int (*c)[100]) { int m,n; m=x.length ...
wushibuhuang 评论(0) 有12人浏览 2012-08-10 21:34

算法导论第15章习题15.3-3最大矩阵链乘法

15.3-3思路供参考:确定一个问题是否具有最优子结构要考虑两个方面的问题:1、子问题是否是独立。2、子问题是否是重叠 先分析第一个问题:最大矩阵 ...
myriji_ss 评论(0) 有16人浏览 2012-08-10 14:07

算法导论第十五章--动态规划的变形(做备忘录的递归算法)

动态规划中的 循环结构可以通过递归的方式实现,但是单纯的递归方法每次都会将已计算过的子问题重新计算,时间复杂度较高,因此可以通过在递归中做备忘录的方法建设时间复杂度。具体见代码: #include<iostream> using namespace std; //动态规划的一种变种,通过在递归的算法中添加备忘,来维护记录子问题的表格。这种方法是一种自顶向下的 //方法,该方法优于单纯 ...
tiebake 评论(0) 有7人浏览 2012-08-10 13:20

算法导论系列——第二章习题乱解【原创】

算法导论第二章习题答案 2.1插入排序 2.1-1-2.1-2略过。   2.1-3 查找问题: 输入:一列数A={a1, a2, ...an}和值v。 输出:下标i,使得v=A[i],若v不在A中,则输出NIL
qiemengdao 评论(0) 有5167人浏览 2011-12-28 15:43

算法、数据结构的书籍

  如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理。如果只开一门课,那剩下的就一定是:数据结构与算法 ...
virtual_function 评论(0) 有1824人浏览 2011-12-22 00:10

random(0,1)生成概率为p,修改为生成概率为1/2

RT,算法导论5.1-3 没想出来。google的答案。。精妙 x=random() y =random()    if  x!=y      reurn 0 else      return 1
kevin_in_java 评论(0) 有1097人浏览 2011-12-04 17:30

Random(0,1)生成Random(a,b)

算法导论5.1-1 参考博客 http://blog.csdn.net/effenberg11/article/details/5976838   http://qianggezhishen.bokee.com/viewdiary.43964492.html 博客中算法  1、把要生成的数标记为 a, a+1, a+2,..., b-a+1,…,b-1,b 2、取最小的 m,使得 2^m ...
kevin_in_java 评论(0) 有2976人浏览 2011-12-04 17:05

动态规划之最优二叉查找树源代码——算法导论

此算法是根据《算法导论》里面的介绍编写的。数据也是。代码运行后,结果数据正确。   以《算法导论》P213中未测试数据: p[6]={-100,0.15,0.1, ...
shinepengwei 评论(0) 有2328人浏览 2011-10-16 20:24

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics