一、实验目的 1. 理解哈夫曼树及其应用。 2. 掌握生成哈夫曼树的算法。 二、实验原理 构造哈夫曼树就是找带全路径长度最短的树,再根据构造出来的树找出结点对应的哈夫曼编码 (1)Select()函数…
SDUT图的深度遍历之邻接表算法
图的深度遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem D…
图的邻接表(广度优先遍历,深度优先遍历,最小生成树(Kruskal算法))
main.h: #include <iostream> #include <queue> #define DefaultSize 10 #define maxWeight -1 using nam…
图的遍历 之 广度优先搜索
#include <iostream> #include <algorithm> #include <iterator> #include <queue> u…
LeetCode 179 Largest Number
题目描述 Given a list of non negative integers, arrange them such that they form the largest number. For example, …
[Leetcode] Container With Most Water 最大盛水容器
Container With Most Water 最新更新请访问:https://yanjia.me/zh/2018/11/… Given n non-negative integers a1, a2, &…
贪心算法之近似算法(格雷厄姆算法)初识
之前做了很多贪心算法,他们都能找到最优解,这也是之所以用贪心算法的原因。贪心算法较之其他,最大的优势体现在时间复杂度低,空间复杂度也比较低。对于试用贪心算法的题型, …
贪心算法学习感悟
贪心算法就是遵循某种规则,不断选取当前最优策略的算法设计方法。 2.2.1硬币问题 要求:支付m元,现有给定面额为1,5,10,50,100,500这六种…
动态规划之糖果分配
candy糖果分配 有N个孩子站成一行,每个孩子有不同的评估值。 分配糖果给这些孩子,受到如下条件的限制: 1. 每个孩子必须至少有一颗糖果 2. 有更高评估值的孩子比他的邻居有更多的糖果 问:必须分配的最少糖果是多少。…
Bellman ford算法(贝尔曼·福特算法)
Bellman – ford算法是求含负权图的单源最短路径的一种算法,效率较低,代码难度较小。其原理为连续进行松弛,在每次松弛时把每条边都更新一下,若在n-1次松弛后还能更新,则说明图中有负环,因此无法得出结…
字符串模式匹配(KMP)
1、简单模式匹配 public static int findIndex(String s, String t) { int index = 0; char[] sChars = s.toCharArray(); cha…
kmp中next和nextval的区别
模式匹配。 kmp中next数组表示如果当前匹配不成功,匹配串移动到的位置,不考虑移动到的位置的数与当前位置数的关系。 kmp中nextval数组表示如果当前匹配不成功,匹配串移动到的位置,考虑移动到的位置的数与当前位置…