摘要: package day; import java.util.Arrays; /** * 插入排序 * 从index为1的位置插入左边队列,要插入的数字做一个变量保存 * @author Administrator * */ public class InsertSort { public static void insertSort(int[] array){ ... 阅读全文
posted @ 2017-04-27 22:49 起个po名真费劲 阅读(136) 评论(0) 推荐(0) 编辑
摘要: package com.hzins.suanfa; import java.util.Arrays; /** * 堆排序 * 思路,建立最大堆并把最大的数移到最后,从第一行到倒数第二行建立最大堆 * 建立最大堆: * for循环 以lastindex的父节点为起始位,每此循环自减,直到为1 * 对于每个父节点肯定会有左子树(要不然他就不是父节点了) 判断有没有右字数 * 拿到这两... 阅读全文
posted @ 2017-04-26 22:21 起个po名真费劲 阅读(165) 评论(0) 推荐(0) 编辑
摘要: package com.hzins.suanfa; /** * 归并排序 * @author Administrator * */ public class MergeSort { public static void merge(int[] nums, int low, int mid, int high){ int[] temp = new int[hig... 阅读全文
posted @ 2017-04-26 20:20 起个po名真费劲 阅读(169) 评论(0) 推荐(0) 编辑
摘要: /** * 快速排序 * @author Administrator * */ class Quicksort { private int partition(int sortArray[],int low,int hight) { int key = sortArray[low]; //判定条件必须小于 如果小于等于,跳出的... 阅读全文
posted @ 2017-04-26 16:33 起个po名真费劲 阅读(159) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.CountDownLatch; /** * 作用于单个线程或几个线程,,在其他线程执行完之前,一直等待(await)知道countDown为零 * @author Administrator * */ public class CountDownlatchTest { public static void main(St... 阅读全文
posted @ 2017-04-26 13:31 起个po名真费劲 阅读(616) 评论(0) 推荐(0) 编辑
摘要: package com.hzins.suanfa; /** * 判断是否是平衡二叉树(左子树与右子树高度不大于1) * * @author Administrator * */ public class BalancedTree { /** * level一开始必须为0 当head到递归栈底时,发现自己是null,此时算层数,得从上面算,(自己是null,不算) ... 阅读全文
posted @ 2017-04-26 10:02 起个po名真费劲 阅读(916) 评论(0) 推荐(0) 编辑
摘要: package com.hzins.suanfa; import java.util.LinkedList; import java.util.Queue; /** * 判断是不是完全二叉树 * 层级遍历二叉树,当一个节点的右孩子是null,那么后面层级遍历的节点都是子节点 * * @author Administrator * */ public class WanquanTr... 阅读全文
posted @ 2017-04-26 09:58 起个po名真费劲 阅读(215) 评论(0) 推荐(0) 编辑
摘要: package day; /** * 累加和位指定值的最长子数组 * 这是一个可伸缩的滑动窗口,不断地在k值的上下波动, * 并且要不断的判断right是否越界,由于都是整数,所以left不会比right先到arr.length位置上。 * @author Administrator * */ public class Demo2 { public static int getMa... 阅读全文
posted @ 2017-04-26 00:21 起个po名真费劲 阅读(135) 评论(0) 推荐(0) 编辑
摘要: package day; /** * 两个子数组的最大和 * 1.先逆序从右忘左算出以每一个index位开始到右的累加和记载在h[]中, * 在正序遍历最大的累加和,遍历的过程中前后最大值累加,记载最大值 * @author Administrator * */ public class Demo1 { public int method(int[] array){ ... 阅读全文
posted @ 2017-04-26 00:05 起个po名真费劲 阅读(216) 评论(0) 推荐(0) 编辑
摘要: package com.hzins.suanfa; import java.util.Stack; /** * 逆序一个栈 * @author Administrator * */ public class DiguiStack { /** * 将栈中的元素从底抽出 * @param stack * @return */ publ... 阅读全文
posted @ 2017-04-25 20:22 起个po名真费劲 阅读(180) 评论(0) 推荐(0) 编辑