![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 52
飞飞学Java
这个作者很懒,什么都没留下…
展开
-
动态规划学习专题3
//字串 只能是去掉某些字符,不能改变某些字符 public int longestCommonSubsequence(String A, String B) { // write your code here int m =A.length(); int n =B.len...原创 2019-06-01 15:48:37 · 179 阅读 · 0 评论 -
动态规划学习专题2
public int maxProfit(int[] prices) { int n = prices.length; if (n==0) return 0; // 最多两次买卖 两次 买卖 一共有五个阶段 int[][] f = new i...原创 2019-05-28 20:09:47 · 151 阅读 · 0 评论 -
动态规划学习专题 1
1.求最值型动态规划动态规划的组成部分:1.确定状态:a: 最后一步(最优策略中使用的最后一枚硬币ak) b:化成子问题(最少的硬币拼出更小的面值amount-ak)2转移方程:for(int i=0;i<coins.length;i++){f[i] = min(f[i],f[i-coins[i]]+1) f[i-coins[...原创 2019-05-26 21:33:37 · 206 阅读 · 0 评论 -
学习动态规划
/*假设有三种硬币足够多 2,5,7,要求支付某一面额 花费最少的硬币 */public class NineChapter_01 { public static void main(String[] args) { System.out.println(fi...原创 2019-04-09 22:14:41 · 209 阅读 · 0 评论 -
每日一练2.22
1.题目描述 :找出两个有序数组的中位数找出两个数组的中位数,这个题要求时间复杂度在logm+n,最优解为log(min(m,n)) L1 R1 num1 3 5 | 8 9 4 cut1=2:左边有几个元素 L1=5 R1=8 L2 R2 num2 1...原创 2019-03-12 19:19:09 · 129 阅读 · 0 评论 -
每日一练2.21
1. 题目描述:输入几组对应的字符串,其中一个是English,另一个是外语, 开始是输入字典,然后根据外语来查询字典,没有时输出ehimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Hashtable;import j...原创 2019-02-21 21:01:26 · 155 阅读 · 0 评论 -
红黑树
红黑树(RBT)定义1.是一个二叉搜索树2.每个节点要么是红的,要么是黑的3.根节点是黑色的,并定义null 为 黑色4.如果一个子结点是红色的,那么它的两个儿子都是黑色,且父节点也是黑色5.对于任意一个结点而言,它到叶节点的每一条路径都包含相同数目的的黑色结点,称之为黑高6.任意一棵以黑色节点为根的子树也必定是一颗红黑树7.左右子树的高度最多是左右子树的两倍,则:若H...原创 2018-11-03 09:52:26 · 115 阅读 · 0 评论 -
算法第二章
1.排序类算法模板快速排序是最快的通用排序算法java对于原始数据类型使用快速排序 引用类型使用归并排序/*如果一个排序算法能够保留数组中重复元素的相对位置则可以被称为稳定的 插入排序 归并排序选择排序 希尔排序 快速排序 堆排序 为不稳定的堆排序的比较次数是归并排序的两倍 ,两者访问数组的次数都比快速排序多的多归并...原创 2018-10-31 11:16:40 · 137 阅读 · 0 评论 -
算法第四版第一章
public class UF { private int[] id; private int count; public UF(int N){ // 初始化分量Id数组 count=N; id= new int[N]; for (int i = 0; i <N ; i++) { ...原创 2018-10-23 21:46:20 · 149 阅读 · 0 评论 -
学习二叉树(3) 平衡二叉树 堆
设计良好的数据结构可以有效的提高查找效率,降低查找次数平衡因子 (Balance Factor,Bf) BF(T)=hl-hr; hl,hr分别为左右子树的高度平衡二叉查找树(Balance Binary Tree) (AVL树) |BF|<=1设nh高度为h的平衡二叉树的最少结点数。节点数最少时 nh=nh-1+nh-2+1 斐波那契数列nh=Fh...原创 2018-09-29 16:47:26 · 561 阅读 · 0 评论 -
简易计算器 栈应用 尾递归
模拟简单计算器 public class CalSuffix { private MyIntStack stack; private String input; public CalSuffix(String input){ this.input=input; int length=input.length(); sta...原创 2018-10-04 17:44:49 · 118 阅读 · 0 评论 -
学习二叉树(2) 搜索二叉树
二叉搜索树的查找操作Find、 /* 查找某个节点,我们必须从根节点开始遍历。 ①、查找值比当前节点值大,则搜索右子树; ②、查找值等于当前节点值,停止搜索(终止条件); ③、查找值小于当前节点值,则搜索左子树; */ public TreeNode Find(int data,TreeNode bst){ if (bs...原创 2018-09-26 23:19:45 · 553 阅读 · 0 评论 -
图(1)
图 :表示多对多的关系包含: 一组顶点V 表示顶点的集合,一组边E 表示边的集合 (v,w)无向边 <v,w> 有向边三要素: 1.图,2.G(V,E)是由一个非空的有限顶点集合V和一个有限边集合E组成 必须有一个顶点 3.操作集常见术语:所有边无方向的 是无向图 有向的 有向图 怎么在程序中表示一个图?1.邻接矩阵...原创 2018-10-01 19:41:28 · 385 阅读 · 0 评论 -
学习 二叉树(1) 遍历递归非递归
先构建一个树public class TreeNode { public Object data; public TreeNode left; public TreeNode right; private void display(){ System.out.println("data"+data); } public ...原创 2018-09-25 23:21:34 · 127 阅读 · 1 评论 -
算法学习(1)冒泡 插入归并 链表翻转
算法学习笔记冒泡排序 时间复杂度O(n2)public class BubbleSort { public static void main(String[] args) { int[] array={7,8,9,4,5,6,2,1,3}; sort(array); for (int i = 0; i <array....原创 2018-09-12 10:48:28 · 166 阅读 · 3 评论 -
算法:二分法变相利用
/** * 给定一个随机数组,和一个样例数组,样例数组从0,1,2,3.。。。到N * 随机数组为样例数组的其中某一个元素的缺失后的数组。请设计一个 * 时间复杂度为O(logN),空间复杂度为O(1)的算法,找出缺失的元素。 */ public class Test1 { @Test public void est1() { int[] a...原创 2018-09-08 22:06:15 · 118 阅读 · 0 评论