随笔分类 -  数据结构

红黑树 学习笔记
摘要:性质:节点非黑即红根和叶子节点是黑(这里说的叶子节点指填充后的树的叶子节点,NIL节点)红节点的父节点是黑节点任意一个节点到以他为根的叶子节点所经过的黑节点数目(不包括自身,但包括叶子节点)的个数是一样。红黑树可以在O(lgn)时间内完成查询搜索操作,另插入操作需要最多2次旋转,删除操作需要最多3次... 阅读全文

posted @ 2014-11-28 23:13 scugxl 阅读(116) 评论(0) 推荐(0)

二叉查找数 插入 删除
摘要:package search;public class BinarySearchTree { /** * @param args */ public static void main(String[] args) { int a[] = new int[] { 8,7,3,10,2,5,4,6... 阅读全文

posted @ 2014-11-20 23:00 scugxl 阅读(170) 评论(0) 推荐(0)

排序
摘要:归并排序: // ori[start,end] private static void mergeSort(int[] ori, int start, int end) { if (start == end) { return; } int m = (start+end)/2; mer... 阅读全文

posted @ 2014-10-29 22:21 scugxl 阅读(163) 评论(0) 推荐(0)

自旋锁、排队自旋锁、MCS锁、CLH锁
摘要:自旋锁、排队自旋锁、MCS锁、CLH锁自旋锁(Spin lock)自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。自旋锁适用于锁保护的临界区很小的情况,临界区很小的话,锁占用的时间就很短。简单的实现import java.ut... 阅读全文

posted @ 2014-07-07 20:24 scugxl 阅读(263) 评论(0) 推荐(0)

java LRUMap经典实现
摘要:/* * To change this template, choose Tools | Templates * and open the template in the editor. */package net.aviation.utils;import java.util.LinkedHash... 阅读全文

posted @ 2013-04-01 19:45 scugxl 阅读(610) 评论(0) 推荐(0)

导航