随笔分类 - Algorithm
摘要:ThreadLocal原理解析与注意事项 以下是对原文的备注以及修订 原文: Entry数据结构 ThreadLocalMap维护了一个Entry类型的数据结构: static class Entry extends WeakReference<ThreadLocal<?>> { /** The v
阅读全文
摘要:笔记一: 1 static class ThreadLocalMap { 2 ... 3 * The table, resized as necessary. 4 * table.length MUST always be a power of two. 5 */ 6 private Entry[]
阅读全文
摘要:Java 8 ThreadLocal 源码解析 原文几处备注如下: 原文写到: 源码解析 我们从ThreadLocal.set方法开始分析:.... 每个 Thread 对象维护了一个 ThreadLocalMap 类型的 threadLocals 字段。 ThreadLocalMap 的 key
阅读全文
摘要:原文: 图解排序算法(二)之希尔排序 基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 简单插入排序很循规蹈矩,不管数组分布是怎么样的,依然一步一步的对元素进行比较,移动,插
阅读全文
摘要:http://www.iteye.com/topic/754887 /** * 扩展散列表的容量 * @param newCapacity */ void resize(int newCapacity) { Entry[] oldTable ...
阅读全文
摘要:不同的实例对象的hashCode是不相同的package com.cici.test;class DoubleLinkNode{ public int iData; public double dData; public DoubleLinkNode next; public DoubleLinkN...
阅读全文
摘要:package com.cici.深圳同城快跑;import java.util.Stack;class Node{public char cData; // data item (key)public Node leftChild; // this nod...
阅读全文
摘要://从给定位置读取Json文件 public static String readJson(String path){ //从给定位置获取文件 File file = new File(path); BufferedReader reader ...
阅读全文
摘要:参见http://www.cnblogs.com/cici-new/p/3154553.htmlpackage com.cici.linknode;public interface Node{ public Object data = null; public Node next = null...
阅读全文
摘要:pre-situation:当哈希表变得太满时候.一个选择是扩展数组.java中数组有固定大小.而且不能扩展.编程时.只能另外创建一个更新的更大的数组.然后把旧数组的所有内容插入新数组当中.注意:哈希函数根据数组大小计算给定数据项的位置.所以这些数据项不能再放在新数组中和原有数组相同的位置上.因此不...
阅读全文
摘要:开放地址法的装填因子:loadFactor = nItems/arraySize;有10000个单元的哈希表填入6667个数据后.它的装填因子 : 已经填充的数据项/链表总长度= 2/3超过这个界限,聚集越来越严重.效率下降严重.链地址法的装填因子:一般比一1大.如果链表中有许多项.存取时间就会变长...
阅读全文
摘要:x-1 -->向x轴正向偏移-->sub the extra num run fasterx+1 -->向x轴负向偏移-->add the extra num then falling back1/x-->对称轴x=01/(x-1)-->对称轴 x=11/(x+1)-->对称轴 x=-1乘方越大.训...
阅读全文
摘要:http://zh.numberempire.com/graphingcalculator.php?functions=(Ellipse%2C%20green%2C%20sqrt(1-x*x%2F4)%2C-sqrt(1-x*x%2F4))&xmin=-3.229315&xmax=3.229315&...
阅读全文
摘要:单链表双端链表有序链表双向链表头插O(1)O(1)头删O(1)O(1)尾插O(1)O(1)尾删O(N)O(1)插入MaxO(N)|MinO(N/2)删除O(1)查找结点O(N)次比较无移动次数删除结点O(N)次比较无移动次数O(N)–deleteKey(inti)指定结点后插入O(N)次比较无移动次...
阅读全文
摘要:ListArrayList实现原理内部封装Object[]数组(若创建时未指定长度数组初始长度默认为10)实质为:无序数组插入快查找和删除指定元素慢总结O(1)O(N)O(1)System.arraycopyget(inti)Yset(intindex,Objectobj)Yadd(Objectob...
阅读全文
摘要:无序数组有序数组查找比较次数O(N)比较次数O(logN)<—二分查找插入O(1)比较次数O(N) 移动次数MaxO(N)删除比较次数O(N)比较次数O(logN) 移动次数MaxO(N)移动次数MaxO(N)--------------------------------------------...
阅读全文