文章分类 -  算法

2013-08-16
摘要:转自:http://blog.csdn.net/linxinyuluo/article/details/6847851 阅读全文
posted @ 2013-09-22 22:33 永不止步,永无止境 阅读(268) 评论(0) 推荐(1) 编辑
摘要:转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299884.html 在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN) 树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如 JPEG中就应用了哈夫曼编码。 首先介绍什么是哈夫曼树。哈夫曼树又称最优二叉树, 是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点 的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径长度 为叶结点的层数)。树的带权路径长度记为WPL= (W1*L1+W2*L2+W3*L3+...+Wn*Ln) ,N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径 长度为Li(i=1,2,...n)。可以证明哈夫曼树的WPL是最小的。 哈夫曼编码步骤: 阅读全文
posted @ 2013-09-22 17:14 永不止步,永无止境 阅读(277) 评论(0) 推荐(1) 编辑
摘要:一、题目 ◆3.21③ 假设表达式由单字母变量和双目四则运 算算符构成。试写一个算法,将一个通常书写形式 且书写正确的表达式转换为逆波兰式。 实现下列函数: 阅读全文
posted @ 2013-09-20 21:58 永不止步,永无止境 阅读(302) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.cnblogs.com/dolphin0520/archive/2011/07/13/2105236.html 图的遍历有两种遍历方式:深度优先遍历(depth-first search)和广度优先遍历(breadth-first search)。 1.深度优先遍历 基本思想:首先从图中某个顶点v0出发,访问此顶点,然后依次从v0相邻的顶点出发深度优先遍历,直至图中所有与v0路径相通的顶点都被访问了;若此时尚有顶点未被访问,则从中选一个顶点作为起始点,重复上述过程,直到所有的顶点都被访问。可以看出深度优先遍历是一个递归的过程。 阅读全文
posted @ 2013-09-20 21:31 永不止步,永无止境 阅读(155) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/hanruikai/article/details/7639007 二叉树的遍历: D:访问根结点,L:遍历根结点的左子树,R:遍历根结点的右子树。 给定一棵二叉树的前序遍历序列和中序遍历序列可以惟一确定一棵二叉树。 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。 深度优先遍历包括前序、中序、后序遍历; 广度优先遍历即为按层次遍历。 阅读全文
posted @ 2013-09-20 21:27 永不止步,永无止境 阅读(518) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/zdl1016/archive/2009/10/11/4654061.aspx 我想说一句“我讨厌KMP!”。 KMP虽然经典,但是理解起来极其复杂,好不容易理解好了,便起码来巨麻烦! 老子就是今天图书馆在写了几个小时才勉强写了一个有bug的、效率不高的KMP,特别是计算next数组的部分。 其实,比KMP算法速度快的算法大把大把,而且理解起来更简单,为何非要抓住KMP呢?笔试出现字符串模式匹配时直接上sunday算法,既简单又高效,何乐而不为? 说实话,想到sunday算法的那个人,绝对是发散思维,绝对牛。当我在被KMP折磨的够呛的时候,我就琢磨,有没有别的好算法呢??琢磨了半天也没想出个所以然来。笨啊,脑子不够发散。 阅读全文
posted @ 2013-09-13 10:57 永不止步,永无止境 阅读(316) 评论(0) 推荐(0) 编辑
摘要:题目: 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。 阅读全文
posted @ 2013-09-09 16:21 永不止步,永无止境 阅读(317) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html KMP算法 在介绍KMP算法之前,先介绍一下BF算法。 阅读全文
posted @ 2013-09-09 11:01 永不止步,永无止境 阅读(163) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/ts173383201/article/details/7850120 教你初步了解KMP算法 作者: July 、saturnma、上善若水。 时间; 二零一一年一月一日 ----------------------- 本文参考:数据结构(c语言版) 李云清等编著、算法导论 引言: 在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。 由此,便产生了字符串的匹配问题。 阅读全文
posted @ 2013-09-09 11:00 永不止步,永无止境 阅读(275) 评论(0) 推荐(0) 编辑
摘要:1. 哈夫曼树的基本概念   哈夫曼树( Huffman )又称最优二叉树,是一类带权路径长度最短的树,有着广泛的应用。   在讨论哈夫曼树之前首先需要弄清楚关于路径和路径长度的概念。树中两个结点之间的路径由一个结点到另一结点的分支构成。两结点之间的路径长度是路径上分支的数目。树的路径长度是从根结点到每一个结点的路径长度之和。 阅读全文
posted @ 2013-08-20 08:44 永不止步,永无止境 阅读(692) 评论(0) 推荐(0) 编辑
摘要:大数运算的实现方法主要有以下几种: 1) 用字符串表示大数。将大数用十进制字符数组表示,然后按照“竖式计算”的思想进行计算。这种方法比较容易理解,但是计算效率很低。 2) 将大数看成二进制流进行处理。使用各种位运算和逻辑操作来实现打算的运算。该方法设计复杂,可读性较差,而且难以调试。 3) 将大数表示成一个n进制数组。n的取值越大,数组的大小越小,这样可以缩短运算的时间及空间复杂度,提高算法的效率。在32位系统中,n可以取2^32,这时每一位的取值范围是0~0xffffffff。 阅读全文
posted @ 2013-08-16 14:13 永不止步,永无止境 阅读(346) 评论(0) 推荐(0) 编辑
摘要:【摘要】本文讨论了搜索算法中“剪枝”这一常见的优化技巧. 首先由回溯法解决迷宫问题展开论述,介绍了什么是剪枝; 而后分析剪枝的三个原则正确、准确、高效,并分别就剪枝的两种思路:可行性剪枝及最优性剪枝,结合例题作进一步的阐述; 最后对剪枝优化方法进行了一些总结. 【关键字】搜索、优化、剪枝、时间复杂度 阅读全文
posted @ 2013-08-16 09:03 永不止步,永无止境 阅读(298) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示