算法笔记
一只小小的蚂蚁
小菜鸡进阶
展开
-
哈夫曼树的构造以及代码实现
一、哈夫曼树的构造注意:哈夫曼树并不唯一,但带权路径长度一定是相同的。哈夫曼树构建转载该文(1)8个结点的权值大小如下:(2)从19,21,2,3,6,7,10,32中选择两个权小结点。选中2,3。同时算出这两个结点的和5。(3)从19,21,6,7,10,32,5中选出两个权小结点。选中5,6。同时计算出它们的和11。(4)从19,21,7,10,32,11中选出两个权小结点。...原创 2020-03-17 16:09:26 · 7229 阅读 · 1 评论 -
java实现在数组头和数组尾部插入一个元素(函数封装)
一、题目描述定义一个数组arr[10],在数组的头部插入一个元素0,然后输出 0 ,第一个元素,第二个元素…定义一个数组arr[10],在数组的尾部插入一个元素5,然后输出第一个元素 , … ,5二 、代码实现头部插入:import java.util.Scanner;public class example01 { public static void Init(...原创 2020-03-14 19:32:41 · 3551 阅读 · 0 评论 -
反相输出
一、题目要求输入格式 :键盘输入一个正整数,按照数字相反输出。输出格式 :直接输出结果样例输入:123样例输出:321二、解题思路:题目看着简单,但是实际上是有坑的,例如:输入100 或者 110 ,输出不是 001或者 011 而是1和11。想到这里就很简单了。代码实现import java.util.Scanner;public class example01 { ...原创 2020-03-09 17:00:47 · 673 阅读 · 0 评论 -
求 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + ... + (-1)n-1·1/n 的值。
一、试题描述编写程序,输入n的值,求 1/1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 - 1/8 + … + (-1)n-1·1/n 的值。输入格式输入一个正整数n。1 <= n <= 1000。输出格式输出一个实数,为表达式的值,保留到小数点后四位。样例输入2样例输出0.5000二、代码实现package com.dao;i...原创 2020-03-08 19:54:25 · 3626 阅读 · 0 评论 -
一元二次方程求根
一、题目要求题目要求: 要求读入一元二次方程的3个系数A、B、C,然后输出。输入要求:如果只有一个解单行输出,若果有多个解,用逗号隔开。二、代码实现import java.util.Scanner;import static java.lang.Math.sqrt;public class example03 { public static double Fun(in...原创 2020-03-08 19:50:30 · 2430 阅读 · 0 评论 -
0-1背包(动态规划)
0-1背包问题:给定n种物品和一背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中的物品的总价值最大?在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。因此,该问题称为0-1背包问题。已知5个物品的0/1背包问题实例:n=5, v=[6,3,5,4,6], w=[2,2...原创 2019-10-24 20:39:29 · 798 阅读 · 0 评论 -
最大子段和以及最大子段和的推广二维数组(动态规划)
一、最大子段和问题问题定义:对于给定序列a1,a2,a3……an,寻找它的某个连续子段,使得其和最大。定义所有负数的最大字段和是0,由此定义,所求的最优值是: max{ 0, a[i] };1.最大字段和问题的简单方法(枚举的方法)代码实现:int Summax1(int a[],int n){ int sum=0; for(int i=1;i<=n;i++) { for...原创 2019-10-21 23:20:22 · 870 阅读 · 0 评论 -
KMP算法详细的过程分析。
一个大佬写的超详细的KMP算法过程,十分有用。https://blog.csdn.net/liu940204/article/details/51318281?utm_source=app转载 2019-07-23 21:26:13 · 635 阅读 · 0 评论