自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Huffman 树

1.哈夫曼树的定义    给定n个权值作为n个叶 子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。 2.哈夫曼树的构造    假设有n个权值,则构 造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1,w2,…,wn,则哈夫曼树的构造规则为: (1) 将w1,w2,…,wn看成是有n 棵树的森林(每棵树仅有一个结点); (2) 在森林中选出两个根结点的权值最小的树合并,作

2010-08-31 16:46:00 551

转载 常用算法大全-动态规划算法

<br />3.1 算法思想<br /><br /> 和贪婪算法一样,在动态规划中,可将一个问题的解决方案视为一系列决策的结果。不同的是,在贪婪算法中,每采用一次贪婪准则便做出一个不可撤回的决策,而在动态规划中,还要考察每个最优决策序列中是否包含一个最优子序列。<br /><br /> 例3-1 [最短路经] 考察图1 2 - 2中的有向图。假设要寻找一条从源节点s= 1到目的节点d= 5的最短路径,即选择此路径所经过的各个节点。第一步可选择节点2,3或4。假设选择了节点3,则此时所要求解的问题变成:选

2010-08-30 14:14:00 691

原创 常用算法大全-贪婪算法

<br />本章首先引入最优化的概念,然后介绍一种直观的问题求解方法:贪婪算法。最后,应用该算法给出货箱装船问题、背包问题、拓扑排序问题、二分覆盖问题、最短路径问题、最小代价生成树等问题的求解方案。<br /><br /> 1.1 最优化问题<br /><br />     本章及后续章节中的许多例子都是最优化问题( optimization problem),每个最优化问题都包含一组限制条件( c o n s t r a i n t)和一个优化函数( optimization function),符合

2010-08-30 14:12:00 791

转载 常用算法大全-回溯算法

<br />寻找问题的解的一种可靠的方法是首先列出所有候选解,然后依次检查每一个,在检查完所有或部分候选解后,即可找到所需要的解。理论上,当候选解数量有限并且通过检查所有或部分候选解能够得到所需解时,上述方法是可行的。不过,在实际应用中,很少使用这种方法,因为候选解的数量通常都非常大(比如指数级,甚至是大数阶乘),即便采用最快的计算机也只能解决规模很小的问题。对候选解进行系统检查的方法有多种,其中回溯和分枝定界法是比较常用的两种方法。按照这两种方法对候选解进行系统检查通常会使问题的求解时间大大减少(无论对于

2010-08-30 14:07:00 844

转载 常用算法大全-分枝定界

<br />   任何美好的事情都有结束的时候。现在我们学习的是本书的最后一章。幸运的是,本章用到的大部分概念在前面各章中已作了介绍。类似于回溯法,分枝定界法在搜索解空间时,也经常使用树形结构来组织解空间(常用的树结构是第1 6章所介绍的子集树和排列树)。然而与回溯法不同的是,回溯算法使用深度优先方法搜索树结构,而分枝定界一般用宽度优先或最小耗费方法来搜索这些树。本章与第1 6章所考察的应用完全相同,因此,可以很容易比较回溯法与分枝定界法的异同。相对而言,分枝定界算法的解空间比回溯法大得多,因此当内存容量有

2010-08-30 14:06:00 720

转载 常用算法大全-分而治之算法

<br />转自 http://www.cnblogs.com/tuyile006/archive/2007/06/07/774721.html<br />本章给出了用来分析分而治之算法复杂性的数学方法,并通过推导最小最大问题和排序问题的复杂性下限来证明分而治之算法对于求解这两种问题是最优的(因为算法的复杂性与下限一致)。<br /><br /> 2.1 算法思想<br /><br /><br /> 分而治之方法与软件设计的模块化方法非常相似。为了解决一个大的问题,可以: 1) 把它分成两个或多个更小的

2010-08-30 13:59:00 686

转载 算法的应用-chinaunix

<br />http://blog.chinaunix.net/u/18135/article_38654.html

2010-08-26 13:04:00 487

转载 动态规划的精髓

<br /> 转自 http://blog.csdn.net/helihui123/archive/2009/11/16/4814530.aspx<br /> <br />动态规划总结<br />写在前面的话:<br />1、本总结的题目均出自vijos 动态规划分类和其他著名题库。每道例题都添加了对应的vijos 题 目的地址链接,可以通过ctrl+ 单击进入题目。读者在阅读本文以后可以将这些练习题温习以充实提 高。<br />2、本文以例题为主,一 些具体定义可能会有所偏差,但并不影响算法的

2010-08-26 12:58:00 1940

转载 ACM经典书籍推荐~~

我常感叹到,学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。学力学就没有这样的好事了(抱怨一下),除了论文就是论文,满篇公式,晦涩坚深,真不是给人看的(虽然我也没看过几篇)。在这里列出一些我看过或者准备看的算法书籍,以供参考。 1. CLRS 算法导论 算法百科全书,只做了前面十几章的习题,便感觉受益无穷。 2. Algorithms 算法概论 短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好消

2010-08-24 17:46:00 3185 4

转载 动态规划与排列组合

<br />转:动态规划与排列组合<br /> 2008年11月22日 星期六 下午 09:54<br /> 最近在学习动态规划,感觉很难彻底理解,也许这真的不是一时半会能会的。<br /> 有人说:DP非一日之功。我想也是,先转个帖子做启发吧。<br /><br /> <动态规划与排列组合><br /> 原作者不详<br /><br />    1. 像所有的新手一样,对一种算法思想的理解需要经历从肤浅(流于表面形式)到逐渐触摸到本质的过程。为什么说"逐渐"触摸到本质,是因为很多时候你并不确定

2010-08-23 17:47:00 944

转载 “算法与计算数学”之四书五经

<br />倘若你去问一个木匠学徒:你需要什么样的工具进行工作,他可能会回答你:“我只要一把锤子和一个锯”。但是如果你去问一个老木工或者是大师级的建筑师,他 会告诉你“我需要一些精确的工具”。由于计算机所解决的问题都是从生活中抽象出来的问题,其复杂性不言而喻,所以我们需要这样精确有效的工具去解决现实生 活中的复杂问题。算法、数据结构都是程序设计中必不可少的精确工具。算法的重要性是每一个程序员都十分清楚的。 <br /><br />     程序设计当中解 决得相当一部分问题都会涉及各种各样的科学计算

2010-08-19 13:15:00 689

转载 二叉查找树(Binary Search Tree)相关操作

二叉查找树(Binary Search Tree),或者是一棵空树,或者是具有下列性质的二叉树:   1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;    2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;    3. 它的左、右子树也分别为二叉排序树。二叉排序树的查找过程和次优二叉树类似,通常采取二叉链表作为二叉排序树的存储结构。中序遍历二叉排序树可得到一个关键字的有序序列,一个无序序列 可以通过构造一棵二叉排序树变成一个有序序列,构造树的过程即为对无序序

2010-08-10 17:42:00 1964

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除