算法
文章平均质量分 62
szc889988
一个可爱的程序猿
展开
-
给定结点权值,求哈夫曼树的带权路径长度和
1.哈夫曼树概念一棵树中,从任意一个结点到达另一个结点的通路叫做路径,该路径包含的边的个数称为路径长度,每个结点带有的表示某种意义的值成为权值。从根结点到叶子结点的路径长度乘以叶子节点权值,得到的值为该节点的带权路径长度,树中所有叶子节点的带权路径长度之和称为该树的带权路径长度和。给定N个结点和它们的权值,以这N个结点为叶子节点构造的带权路径长度和最小的二叉树,就是哈夫曼树。2.C语言实现给定结点...原创 2018-05-09 20:18:44 · 9294 阅读 · 1 评论 -
JAVA实现二叉树生成
给定某二叉树三序遍历中的两个,我们即可以通过生成该二叉树,并遍历的方法,求出剩下的一序,具体代码如下package Tree;import java.io.BufferedInputStream;import java.util.*;public class BT { class Node{ Node l;//左儿子 Node r;//右儿子 char c;//结点字符 p...原创 2018-05-09 22:00:52 · 2141 阅读 · 0 评论 -
java实现求哈夫曼树
哈夫曼树的概念见另一篇博客点击打开链接,代码如下package Tree;import java.io.BufferedInputStream;import java.util.*;public class Huffman { static Comparator myComparator = new Comparator() { @Override public int comp...原创 2018-05-09 22:24:32 · 250 阅读 · 0 评论 -
java实现求两个数的最大公约数和最小公倍数
求解最大公约数思路:1.枚举。对两个数a和b,枚举从2到min(a,b)的所有整数tmp,如果(a%tmp==0 && b%tmp==0),那么tmp是a,b共同的因数,遍历完成后,取最大的tmp,即所求的最大公约数。(思路简单,耗时长)2.欧几里德方法,不懂的同学可以看这里 传送门package MathProblem;import java.io.BufferedInputS...原创 2018-05-10 20:07:47 · 2590 阅读 · 0 评论 -
POJ2472 分别用dijstra spfa实现
传送门这个题本质水题,但是却是一道十分经典的最短路径题,我分别用floyd dijstra spfa实现了一次,数据结构分别采别用了邻接链表和邻接矩阵,对于提高几种算法的理解很有帮助。floyd的版本手误删没了,下面就只贴出来dijstra和spfa的AC代码。1.dijstra java实现import java.text.DecimalFormat;import java.util.*;/...原创 2018-05-25 21:22:25 · 263 阅读 · 0 评论 -
最小生成树例题
例题一:畅通工程输入:第一行为一个数字n,代表n个城市,接下来的n*(n-1)/2行每行由三个数字a,b,dis组成,分别代表ab两个城市之间的距离(测试用例不只有一个)。eg31 2 11 3 22 3 4输出连通这些城市的最短距离eg3C++实现#include <iostream>#include <cstdio>#include <cstring>...原创 2018-05-25 22:08:27 · 1740 阅读 · 0 评论