随笔分类 - 数据结构与算法
摘要: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...
        阅读全文
            
摘要:字典树查找,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. * * =...
        阅读全文
            
摘要:区间树可以统计某个区间对应的重复的区间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 ...
        阅读全文
            
摘要:最近重新学习数据结构和算法,刚刚看完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...
        阅读全文
            
摘要:在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...
        阅读全文
            
摘要:在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
        阅读全文
            
                    
                
浙公网安备 33010602011771号