随笔分类 -  数据结构与算法

摘要:1.单线程实现package com.mime; import java.io.File; public class TotalFileSizeSequential { private long getTotalSizeOfFilesInDir(final File file) { if (file.isFile()) return file.length(); final File[] children = file.listFiles(); long total = 0; if (children != null) for (final File chil... 阅读全文
posted @ 2012-11-21 21:15 zhwj184 阅读(535) 评论(0) 推荐(0)
摘要:字典树查找,Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。package com.jwetherell.algorithms.data_structures; import java.util.Arrays; /** * A trie, or prefix tree, is an ordered tree data structure that is used to * store an associative array where the keys are usually strings. * * =... 阅读全文
posted @ 2012-11-13 23:09 zhwj184 阅读(199) 评论(0) 推荐(0)
摘要:区间树可以统计某个区间对应的重复的区间package com.jwetherell.algorithms.data_structures; import java.security.InvalidParameterException; import java.util.ArrayList; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.TreeSet; /** * An interval tree ... 阅读全文
posted @ 2012-11-13 22:47 zhwj184 阅读(451) 评论(0) 推荐(0)
摘要:最近重新学习数据结构和算法,刚刚看完java版的这几个数据结构,比较浅显易懂,有兴趣的可以自己去调试学习,关于这几个的介绍网上很多。二叉搜索树,比较简单的树结构了package com.jwetherell.algorithms.data_structures; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.Queue; /** * A binary search tree (BST), wh... 阅读全文
posted @ 2012-11-09 17:25 zhwj184 阅读(163) 评论(0) 推荐(0)
摘要:在Arrays.java中的sort中 public static void sort(Object[] a, int fromIndex, int toIndex) { if (LegacyMergeSort.userRequested) legacyMergeSort(a, fromIndex, toIndex); else ComparableTimSort.sort(a, fromIndex, toIndex); } /** To be removed in a future rel... 阅读全文
posted @ 2012-11-02 17:19 zhwj184 阅读(248) 评论(0) 推荐(0)
摘要:在java中可能很多人都会忽略数据结构(类似树,跳跃表等),大家都比较熟悉链表,数组,栈,队列,哈希表等。最近看了jdk中关于树和跳跃表等的实现,其实数据结构真的是基础,有兴趣的java程序员可以翻开jdk的代码仔细阅读下面几种数据结构的学习。TreeMap:红黑树http://v.163.com/movie/2010/12/9/J/M6UTT5U0I_M6V2TJ49J.html这里有网易公开课的教学视频PriorityQueue:最小堆比较简单的一种实现,queue[n]的左右儿子是queue[2*n+1]和queue[2*n+2],每次根据排序类取第一个queue[0],然后把queue 阅读全文
posted @ 2012-11-02 14:10 zhwj184 阅读(339) 评论(0) 推荐(0)