![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java数据结构
Liberal_夜不黑
qq交流群:634383854
展开
-
LinkedList-链表集合
LinkedList 底层是由链表实现的,每个链表节点含有上一个节点及下一个节点的引用,同时内部封装了元素的引用。 下面是linkedList在部分代码的jdk源码分析,仔细看linkedList实现,不难发现为何linkedList查询慢,增删快。package java.util;import java.util.function.Consumer;//省略类似代码分析public c原创 2017-05-01 21:54:17 · 209 阅读 · 0 评论 -
Array - 顺序排序
最近有一位java入门级朋友问了我冒泡排序,在这里,我将数组中最常见的几种简单排序作出简要分析,代码已写为通用类形式,希望对刚入门的同学能有所帮助。 //冒泡排序,每次相邻比较,大值向右移,即先确定最大值 public static<T extends Object & Comparable<? super T>> void bubble_Sort(T [] arr){原创 2017-04-23 17:58:11 · 399 阅读 · 0 评论 -
拓扑排序-简单实现
package com.ygy.test.sort;import lombok.Getter;import lombok.Setter;import org.springframework.util.CollectionUtils;import java.util.*;/** * Created by guoyao on 2017/10/11. *///简单的拓扑排序public clas原创 2017-10-11 16:52:49 · 232 阅读 · 0 评论 -
leetcode-month2-week9
Best Time to Buy and Sell Stock IIpackage ygy.test.week9;/** * Created by guoyao on 2017/10/27. */public class BestTimetoBuyandSellStockII { public static void main(String[] args) { int[]原创 2017-10-29 15:29:24 · 259 阅读 · 0 评论 -
concurrent-7-AQS-CountDownLatch,CyclicBarrier
CountDownLatchCountDownLatch#tryAcquireShared protected int tryAcquireShared(int acquires) { return (getState() == 0) ? 1 : -1; //获取状态是不是达到条件 }CountDownLatch#tryReleaseSharedpro原创 2017-10-29 19:26:26 · 279 阅读 · 0 评论 -
拓扑排序-bfs-广度优先搜索
breadth-first searchpackage com.ygy.test.sort;import lombok.Getter;import lombok.Setter;import org.springframework.util.CollectionUtils;import java.util.*;/** * Created by guoyao on 2017/10/11. *//原创 2017-10-12 16:49:15 · 784 阅读 · 0 评论 -
leetcode-month2-week8
Path Sumpackage ygy.test.week8;import java.util.LinkedList;import java.util.Queue;/** * Created by guoyao on 2017/10/20. */public class PathSum { public static void main(String[] args) {原创 2017-10-22 17:41:52 · 189 阅读 · 0 评论 -
拓扑排序-Dijkstra算法
package com.ygy.test.sort;import lombok.Getter; import lombok.Setter; import org.springframework.util.CollectionUtils;import java.util.*;/** * Created by guoyao on 2017/10/11. *///拓扑排序 public cl原创 2017-10-13 16:18:26 · 700 阅读 · 0 评论 -
leetcode-month2-week7
Binary Tree Level Order Traversal IIpackage ygy.test.week7;import java.util.*;/** * Created by guoyao on 2017/10/13. */public class BinaryTreeLevelOrderTraversalII { public static void main(Strin原创 2017-10-15 14:51:07 · 218 阅读 · 0 评论 -
PriorityQueue-数组(二叉堆)
field //默认初始化大小 private static final int DEFAULT_INITIAL_CAPACITY = 11; //队列内置为数组,实际为数据结构中的二叉堆 transient Object[] queue; // non-private to simplify nested class access //容量大小原创 2017-10-03 19:59:55 · 700 阅读 · 0 评论 -
HashMap-数组+链表集合
#原创 2017-09-22 10:34:14 · 812 阅读 · 0 评论 -
ArrayList-数组集合
ArrayList底层由数组实现,数组在java内存是连续片段,所以数组增删某元素时,删除元素后,需要将整个片段前移填补空缺,运行速度比较慢。 ArrayList,LinkedList相对区别 ArrayList:查询快,增删慢。 LinkedList:查询慢, 增删快。(只需要改变前后元素的指向)public class ArrayList<E> extends Abst原创 2017-05-02 22:53:25 · 477 阅读 · 1 评论 -
二叉树
package com.mybatis.datasources.common.tree;/** * Created by guoyao on 2017/5/9. */public class BinaryTree<T extends Object & Comparable<? super T>> { Node<T> root; int size; //中序遍历 pub原创 2017-05-11 23:30:56 · 209 阅读 · 0 评论 -
leetcode-month1-week4
Count and Saypackage ygy.test.week4;/** * Created by guoyao on 2017/9/24. */public class CountandSay { public static void main(String[] args) { System.out.println(countAndSay(4)); }原创 2017-09-24 18:53:56 · 203 阅读 · 0 评论 -
leetcode-month1-week1
Add Two Numberspackage ygy.test.week1;/** * Created by guoyao on 2017/9/3. */public class AddTwoNumbers { /** * You are given two non-empty linked lists representing two non-negative integer原创 2017-09-20 15:22:42 · 183 阅读 · 0 评论 -
leetcode-month1-week2
Longest Copackage ygy.test.week2;/** * Created by guoyao on 2017/9/10. */public class LongestCommonPrefix { public static void main(String[] args) { String [] arrs = {"abc","abcd","abcde",原创 2017-09-20 15:26:38 · 170 阅读 · 0 评论 -
leetcode-month1-week3
Valid Parenthesespackage ygy.test.week3;import java.util.Stack;/** * Created by guoyao on 2017/9/15. */public class ValidParentheses { public static void main(String[] agrs) { System.out.p原创 2017-09-20 15:30:15 · 187 阅读 · 0 评论 -
leetcode-month2-week6
Merge Sorted Arraypackage ygy.test.week6;/** * Created by guoyao on 2017/10/7. */public class MergeSortedArray { public static void main(String[] args) { } //从大到小的倒序排序 public static vo原创 2017-10-08 14:04:54 · 170 阅读 · 0 评论 -
leetcode-month2-week5
Add Binarypackage ygy.test.week5;/** * Created by guoyao on 2017/10/1. */public class AddBinary { public static void main(String[] args) { System.out.println(addBinary("1","111")); }原创 2017-10-02 22:45:55 · 191 阅读 · 0 评论 -
leetcode-month3-week10
Two Sum II Input array is sortedpackage ygy.test.week10;import java.util.HashMap;import java.util.Map;/** * Created by guoyao on 2017/11/4. */public class TwoSumIIInputarrayissorted { public int原创 2017-11-05 16:42:49 · 286 阅读 · 0 评论