![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
遗失的钥匙扣
这个作者很懒,什么都没留下…
展开
-
快速排序详解
本文文转自啊哈磊《坐在马桶上看算法:快速排序》,原文链接http://developer.51cto.com/art/201403/430986.htm该文将快速排序算法很生动的进行了介绍。高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这转载 2015-08-14 20:31:41 · 309 阅读 · 0 评论 -
递归排序算法
1、 归并排序归并排序用的是分治法,即将要排序的数组分而治之。如图所示简单的代码如下:public class Merge { //mergeSort:将数组a分为子数组排序 //a:要排序的数组 //first:数组第一个元素的索引 //last:数组第二个元素的索引 pub原创 2015-08-14 22:12:52 · 3109 阅读 · 0 评论 -
动态规划
动态规划 动态规划(dynamic programming)与分治法一样,是通过组合子问题的解而解决整个问题的。动态规划通常用于最优化问题。 动态规划步骤: 1) 描述最优解的结构 2) 递归定义最优解的值 3) 按自底向上的方式计算最优解的值 4) 由计算的结果构造最优解示例:装配线调度 Colonel公司有两条装配线生产汽车,如图1所示。每条装配线有n个装配站,编号原创 2015-08-11 15:14:10 · 830 阅读 · 0 评论 -
用栈实现进制转换
将十进制数d进行N进制转换的一个简单的方法就是d对N取模,再除:d=(d/N)*N+d%N若对任意一个非负十进制整数,打印输出与其等值的八进制数。由于计算过程是从低到高位顺序产生八进制数的各个数位,但打印一般是从高到低进行,故可以将计算过程中得到的八进制数顺序进栈,而按出栈序列打印。void conversion(int N){ InitStack(S); //构造一原创 2015-08-18 21:37:54 · 567 阅读 · 0 评论 -
数据结构学习——Huffman树及其应用
Huffman树又叫最优树,是一类带权路径长度最短的树,有着广泛的应用。 1、 最优二叉树 从树中一个节点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称做路径长度。树的路径长度是从树根到每一个结点的路径长度之和。结点的带权路径长度为从该节点到树根之间的路径长度与节点上权的乘积,树的带权路径长度为树中所有叶子节点的带权路径长度之和,记作 。 假设有n个权值 ,试构造一棵原创 2015-08-20 13:56:24 · 587 阅读 · 0 评论