自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

转载 HashMap、LinkedMap和TreeMap的比较

目的主要想测试一下HashMap、LinkedHashMap和TreeMap的有序性import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Map.Entry;import java.util...

2018-09-14 11:23:00 104

转载 归并排序

package test;public class MergeSort { public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; Sys...

2018-08-27 22:05:00 80

转载 堆排序

package test;public class HeapSort { public static void main(String[] args) { int[] arr = {10,9,8,7,6,5,4,3,2,1}; System.out.print("排序前;"); printArr(arr); Sy...

2018-08-27 20:15:00 66

转载 希尔排序

package demo;public class ShellSort { public static void main(String[] args) { int[] arr = {5,4,3,2,1,0}; printArr(arr); shellSort(arr); printArr(arr); }...

2018-08-27 16:42:00 79

转载 代理模式

定义给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。静态代理有些情况下,一个客户不想或者不能够直接引用一个对象,可以通过代理对象在客户端和目标对象之间起到中介作用。代理模式中的角色有:1、抽象对象角色声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象2、目标对象角色定义了代理对象所代表的目标对象3、代理对象角色代理对象...

2018-08-25 15:54:00 69

转载 快速排序

package demo;/** * 快速排序; * @author Lynn * */public class QuickSort { public static void main(String[] args) { int[] arr = { 50, 10, 90, 30, 70, 40, 80, 60, 20 }; System....

2018-08-25 14:46:00 80

转载 插入排序

package demo;/** * 插入排序; * * @author Lynn * */public class InsertionSort { public static void main(String[] args) { int[] arr = {10,7,2,4,8,6,1,9}; System.out.print("...

2018-08-24 14:06:00 66

转载 各种排序算法的稳定性和复杂度

转载于:https://www.cnblogs.com/LynnMin/p/9528671.html

2018-08-24 11:14:00 88

转载 简单选择排序

package demo;/** * 简单排序 * 时间复杂度O(n^2) * 不稳定; * @author Lynn * */public class SimpleSelectSort { public static void main(String[] args) { int[] arr = {10,7,2,4,8,6,1,9}; ...

2018-08-24 11:11:00 55

转载 冒泡排序

package demo;/** * 冒泡排序及其优化; * 稳定排序; * 时间复杂度为O(n^2) * * @author Lynn * */public class BubbleSort { public static void main(String[] args) { int[] arr = {10,9,8,7,6,5,4,3,2,...

2018-08-23 17:37:00 62

转载 二叉排序树

概念二叉排序树,又称二叉查找树。它或者是一棵空树,或者是具有下列性质的二叉树:①若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值。② 若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值。③ 它的左右子树也分别为二叉排序树。查找、插入和删除操作package binaryTree;public class TreeNode { int ...

2018-08-20 14:43:00 66

转载 安全的终止线程的两种方法

过期的suspend()、resume()、stop()不建议使用这三个函数来停止线程,以suspend()方法为例,在调用后,线程不会释放已经占有的资源(比如锁),而是占有着资源进入睡眠状态,这样容易引起死锁问题。同样,stop()方法在终结一个线程是不会保证线程的资源正常释放,通常识没有给予线程完成资源释放工作的机会,因此会导致程序可能工作在不确定的状态下。两种安全终止线程的方法...

2018-08-15 15:03:00 130

转载 图的广度优先遍历(BFS)

使用邻接矩阵进行存储原图调整后package graph;import java.util.ArrayList;import java.util.LinkedList;public class BFSTraverse { private static ArrayList<Integer> list = new ArrayList<Intege...

2018-08-14 13:30:00 62

转载 图的深度优先遍历(DFS)

使用邻接矩阵进行存储;package graph;import java.util.ArrayList;public class DFSTraverse { private static ArrayList<Integer> list = new ArrayList<Integer>(); // 邻接矩阵存储; public ...

2018-08-14 11:58:00 78

转载 volatile的应用

volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”,即当一个线程修改一个共享变量是,另一个线程能够读到这个修改的值。volatile比synchronized的使用和执行成本低,因为它不会引起上下文的切换和调度。两条实现原则:1. Lock前缀指令会引起处理器缓存写回到内存;2. 一个处理器的缓存写回到内存会导致其他处理器的缓存...

2018-08-13 23:15:00 59

转载 二叉树的遍历

二叉树的四种遍历方式:前序遍历、中序遍历、后序遍历和层序遍历package binaryTree;public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}package binaryTree;...

2018-08-13 15:46:00 60

转载 Java-反射

本文是参考文末的文章自己动手写的笔记反射反射就是把java类中的各种成分映射成一个个的Java对象。获取Class对象的三种方式Object ——> getClass();任何数据类型(包括基本数据类型)都有一个“静态”的class属性。通过Class类的静态方法:forName(String className)最常用的;举例package reflect;...

2018-08-12 15:49:00 53

转载 Java--泛型

泛型简而言之就是类型的参数化泛型分为泛型接口、泛型类和泛型方法,不存在泛型数组。举例//泛型类;public class Data<T> { private T data; public Data(T data) { this.data = data; } public T getData() { re...

2018-08-11 23:26:00 53

转载 单例模式

定义 确保一个类只有一个实例,并提供一个全局访问点。延迟实例化public class Singleton { private static Singleton instance; private Singleton() { //构造函数私有化; }; public static Singleton getInstatnce() { //全局访问点...

2018-08-09 16:42:00 54

转载 剑指Offer--对称二叉树

题目请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。剑指offer思路 通过对比前序遍历和对称前序遍历的序列是否相同来判定,这里所谓的对称前序遍历算法是指,遍历的的时候采用根节点、右节点和左节点的次序;自己写的Low代码import java.util.ArrayList;import java.util.List;...

2018-08-06 22:27:00 65

转载 剑指Offer--二叉搜索数的后序遍历序列

题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路 刚开始没有什么思路,但是通过画图分析就知道数组的最后一个是二叉树的根节点,它将数组的剩余部分分成了两部分,前一部分小于根节点的值,有一部分大于根界定啊的值,然后递归;import java.util.ArrayList;public ...

2018-08-05 11:29:00 49

转载 Java虚拟机中的垃圾收集器

以hotpot为例Serial收集器Serial收集器是最基本、发展最悠久的收集器。它是一个单线程的收集器,这不仅仅意味着它只使用一个CPU或一条收集线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停所有其他的工作线程,直到它收集结束。目前它依然是虚拟机运行在Client模式下默认的新生代收集器。它的优势在于相比其它单线程收集器而言它更简单高效,因为对比...

2018-08-04 16:09:00 63

转载 剑指Offer--二叉搜索树与双向链表

题目 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路 根据二叉搜索树的特点,通过中序遍历得到的是有序的。自己写的low代码/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = nul...

2018-07-31 23:38:00 54

转载 剑指Offer--数据流中的中位数

题目如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。思路 先排序,然后找中位数;自己写的low代码import java.util.LinkedLis...

2018-07-31 23:37:00 100

转载 剑指Offer--顺时针打印矩阵

题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路 我的思路是,分析矩阵打印的特点,一条“蛇”形,大体上是右、下、左、上这样的趋势进行遍历,我这里是将遍历过的都...

2018-07-31 22:50:00 70

转载 剑指Offer--从上往下打印二叉树

题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路 二叉树的一种中序遍历我的Low代码import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public Tree...

2018-07-30 13:55:00 49

转载 剑指offer--重建二叉树

题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路 先画图 分析在二叉树的前序遍历序列中,第一个数字总是树的根节点的值。但在中序遍历中,根节点的值在序列的中间,左子树的节点的值位于根节点的值得...

2018-07-29 23:37:00 39

转载 剑指Offer--把二叉树打印成多行

题目 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行;思路 运用两个辅助链表分别记录当前行,以及下一行的节点。自己写的low代码import java.util.ArrayList;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right =...

2018-07-26 21:17:00 63

转载 剑指offer--二叉树的下一个节点*

题目 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。思路 分有右子树和没有右子树的情况/*public class TreeLinkNode { int val; TreeLinkNode left = null; TreeLinkNode right = null; ...

2018-07-26 21:17:00 38

转载 剑指Offer-- 平衡二叉树*

题目 输入一棵二叉树,判断该二叉树是否是平衡二叉树。思路 递归判断,先判断自身左右子树高度差,再递归判断左右子树是否为平衡二叉树;package solution;public class Solution28 { public boolean IsBalanced_Solution(TreeNode root) { if(root==...

2018-07-26 19:13:00 61

转载 求二叉树的树的高度

关键点 递归的使用public class TreeHeight { public static int getTreeHeight(TreeNode root) { if (root == null) { return 0; } return 1 + Math.max(getTreeHeight(roo...

2018-07-26 18:46:00 59

转载 剑指Offer--复杂链表的复制

题目 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空);我的思路先不管特殊指针,先完成链表的复制,然后在循环给特殊指针赋值;自己写的low代码/*public class RandomListNode { i...

2018-07-26 18:34:00 43

转载 剑指offer--第43题 1~n整数中1出现的次数

题目输入一个整数n,求1-n这n个整数的十进制表示中1出现的次数。例如,输入12,1-12这些整数中包含1的数字有1、10、11和12,1共出现了5次。剑指offer思路 循环取余,其实也有另外一种找规律的思路,可是一般情况我可能想不到。注意这里是说1出现的次数,不是 1出现的整数的个数。public class Solution { public int NumberOf...

2018-07-25 21:00:00 48

转载 剑指Offer--第50题 第一次只出现一次的字符

题目一: 字符串中第一个只出现一次的字符。在字符串中找出第一个只出现一次的字符。如输入“abaccdeff”,则输出‘b’。思路 利用数组第一次遍历字符串记录所有字符出现的次数,第二次查找value值为1的为所需要的,这里用数组比较合适,用HashMap会有问题,比如“google”,得出的结果会是e,其实应该是l。按思路写的代码package solution;public ...

2018-07-24 11:36:00 65

转载 剑指offer--扑克牌顺子

题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12...

2018-07-23 19:45:00 57

转载 MySQL免安装使用教程

安装教程参考参考:https://www.cnblogs.com/xiaxiaoxu/p/8977418.html ,不过我把安装路径中D:\MySQL\MySQL_5.7.22\bin直接配置到Path中了;出现的问题1 、Navicat for MySQL连接mysql出现1862错误解决方法:https://blog.csdn.net/sunriver2000/articl...

2018-07-23 16:11:00 53

转载 TortoiseGit的使用参考

TortoiseGit之配置密钥 参考:https://blog.csdn.net/bendanbaichi1989/article/details/17916795转载于:https://www.cnblogs.com/LynnMin/p/9354584.html

2018-07-23 14:46:00 48

转载 剑指Offer-- 第58题 翻转字符串

第58题 翻转字符串题目 输入一个英文句子,翻转句子中单词的顺序,单单词内字符的顺序不变。为简单起见,变电符号和普通字母一样处理。例如输入字符串“I am a student.”,则输出“student. a am I”.我的思路 想将其转为char数组,然后通过从后往前依次进行判断,同时使用到了StringBuilder,因为直接调用reverse可以进行字符串反转。import...

2018-07-21 13:11:00 48

转载 剑指Offer-- 第45题 把数组排成最小数

第45亿 把数组排成最小数题目 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。剑指Offer思路最直接的解法应该是求出所有数字的全排列,然后把每个排列拼接起来,在进行比较,显然这种复杂度高;找到一种新的排序规则确定两个数的顺序,假设两个数字m和n如果...

2018-07-21 13:03:00 105

转载 剑指Offer-- 第49题 丑数

第49题 丑数题目 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数(剑指offer上明确规定是第1500个丑数,这里没有限制丑数范围)。剑指offer的思路逐个判断每个整数是不是丑数的解法,直观但不够高效,由于没有限制丑数范围的话,这种方法很容易超...

2018-07-20 13:33:00 59

空空如也

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

TA关注的人

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