随笔 - 221
文章 - 0
评论 - 57
阅读 -
162万
随笔分类 - 算法&数据结构
排序二叉树、平衡二叉树、红黑树
摘要:1、排序二叉树 排序二叉树是一种特殊的二叉树,可以非常方便的进行检索,它具有如下特点: 若它的左子树不为空,则左子树上所有节点值都小于根节点的值 若它的右子树不为空,则右子树上所有节点值都大于根节点的值 左子树和右子树都一颗排序 排序二叉树评价查找时间为O(logn),极端情况下(所有节点都靠近一侧
阅读全文
HashMap&Hashtable&LinkedHashMap&ConcurrentHashMap&Collections.synchronizedMap
摘要:1、HashMap 是一种哈希散列结构。JDK1.8中,它由数组+单向链表+黑红树构成。当链表数据量超过8时就会转变为一个红黑树,已降低时间复杂度。 构造函数会创建一个空的HashMap,在插入第一个数据时才会初始化一个数组。它有2个重要的构造参数,分别叫初始容量(initialCapacity,默
阅读全文
Java实现单链表反转
摘要:public class Test { class Node { Node next; int data; protected Node(int data) { this.data = data; } } /** * 构建单链表 * * @param nums * @return */ privat
阅读全文
LRU缓存简单实现
摘要:缓存接口定义 /** * 缓存接口 * * @author zhi * */ public interface ICache<K, V> { /** * 添加缓存数据 * * @param key * @param value */ void put(K key, V value); /** * 获
阅读全文
二叉树遍历(前序、中序、后序)-Java实现
摘要:一、前序遍历 访问顺序:先根节点,再左子树,最后右子树;上图的访问结果为:GDAFEMHZ。 1)递归实现 public void preOrderTraverse1(TreeNode root) { if (root != null) { System.out.print(root.val + "
阅读全文
常见排序算法JAVA实现
摘要:1、冒泡排序,时间复杂度:最好:T(n) = O(n) ,情况:T(n) = O(n2) ,平均:T(n) = O(n2) public int[] bubbleSort(int[] nums) { if (nums.length < 2) { return nums; } for (int i =
阅读全文
ArrayList与LinkedList
摘要:1、ArrayList 1)继承结构 2)ArrayList是数组存储结果,初始容量为0,添加第一个元素后容器为10,后面每次超过容量时,容量递增50%,每次扩容都需要产生新的数组,再把老的数据复制过去。 3)优缺点 优点:存取速度快 缺点:事先必须知道数组的长度、插入删除元素很慢、空间通常是有限制
阅读全文