自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 二叉树遍历的递归与非递归版本的Java实现

二叉树的前序遍历, 二叉树的中序遍历, ...

2019-03-02 16:37:25 269 1

原创 Java虚拟机中的三种垃圾收集算法

1,标记-清除算法,分为标记和清除两个阶段,清除是指直接清除GC Roots不可达的对象,这种算法一是效率不高(标记和清除的效率都不高),二是会产生大量的内存碎片,在老年代中使用。2,复制算法,该算法将内存分成大小相等的两块,每次都使用其中的一块,当这块内存用完,就将该区域还活着的对象复制到另一块中,然后将该区域全部清除,复制过去的对象占据的内存空间是连续的,但是这种算法使得原本的内存空...

2019-02-28 21:07:48 223

原创 Quick Selcet,O(n)的时间复杂度内找到无序数组中的第k大的数

Quick Select实质是快速排序算法中的一个步骤(找出未排序数组中的任意大的元素),其中用到了分隔数组的思想,默认的分隔条件是小于等于中间元素的在左边,大于的放在右边,这样将原问题分割一半,在确定的一半空间里寻找第k大的元素。Quick Select平均情况下的时间复杂度是O(n)。相关题目:Kth Largest Element,Median(当数组长度为奇数和偶数时,其中位数是不同的...

2019-02-27 21:07:22 2594

原创 动态规划类题目综述

动态规划题目特点:1,计数—机器人有多少种方式走到右下角—有多少种方法选出k个数使得和是sum2,求最大最小值—从左上角走到右下角路径的最大数字和—最长上升子序列问题3,求存在性—取石子游戏,先手是否必胜—能不能选出k个数使得和是sum 最值型动态规划例题例题:有2,5,7三种面值的硬币,如何以最少的硬币拼成27(LeetCode上第322题!)...

2019-02-26 10:35:18 306

原创 背包问题

背包有最大承重,商店中的每种物品都有价值与重量两个属性,基于此提出各种问题:装下最多重量物品、装下最大总价值物品、有多少种方式正好带走满满一书包物品等等。   Backpack,最简单的题型是背包中的物品能不能拼出重量target,求出最大的target,背包问题中,数组大小与总承重有关,背包问题要把总承重放入状态!这是很特殊的一个地方。要求前N个物品能不能拼出重量0,1,...,M...

2019-02-25 09:27:18 315 2

原创 双序列型动态规划例题讲解

顾名思义,有两个序列/字符串,需要进行一些操作。   Longest Common Subsequence,最长公共子序列,求长度。最后一步,观察A[m-1]和B[n-1]最后这两个字符是否作为一个对子在最优策略中,(都不作为对子出现的情况包含在情况一和情况二中了)由此便可以很好的得到子问题的分解,状态和转移方程如下 :                 初始条件和边界...

2019-02-24 22:38:53 420

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除