.
├── algs11
│ ├── Average.java
│ ├── BinarySearch.java
│ ├── Cat.java
│ ├── Hello.java
│ ├── MyArrayFunctions.java
│ ├── MyBinarySearchRemoveDuplicates.java
│ ├── MyDebugging.java
│ ├── MyFibonacci.java
│ ├── MyFirstHomeworkFor300.java
│ ├── MyFirstHomeworkFor300PartTwo.java
│ ├── MyFirstHomeworkFor402.java
│ ├── MyMaxTrace.java
│ ├── MyRecursion.java
│ ├── MyRecursionTrace.java
│ ├── MySecondHomework.java
│ ├── MyShuffleTest.java
│ ├── Playground.java
│ ├── PlaygroundContainsSorted.java
│ ├── PlaygroundContainsUnsorted.java
│ ├── PlaygroundLongestSequenceOf5s.java
│ ├── PlaygroundMax.java
│ ├── PlaygroundMerge.java
│ ├── PlaygroundPerformance.java
│ ├── PlaygroundSumUntil.java
│ ├── RandomSeq.java
│ ├── Shuffle.java
│ ├── XArrayFunctions.java
│ ├── XAutoboxing.java
│ ├── XAutoboxingValueOf.java
│ ├── XBinomial.java
│ ├── XBouncingBall.java
│ ├── XDrawArray.java
│ ├── XDrawArraySorted.java
│ ├── XDrawFunctions.java
│ ├── XDrawRightTriangle.java
│ ├── XEuclid.java
│ ├── XRuler.java
│ ├── XSwap.java
│ ├── XWget.java
│ ├── Xhello.py
│ ├── Xmin.py
│ └── XnumFivesRecursive.py
├── algs12
│ ├── Complex.java
│ ├── Counter.java
│ ├── Date.java
│ ├── Hello.java
│ ├── Interval1D.java
│ ├── Interval2D.java
│ ├── MyRecursiveRectangles.java
│ ├── Point2D.java
│ ├── StaticSETofInts.java
│ ├── Transaction.java
│ ├── Vector.java
│ ├── Whitelist.java
│ ├── XAccumulator.java
│ ├── XArrayStats.java
│ ├── XArrayStatsStatic.java
│ ├── XCard.java
│ ├── XCardSimple.java
│ ├── XFields.java
│ ├── XFlips.java
│ ├── XFlipsMax.java
│ ├── XMutableString.java
│ ├── XRolls.java
│ ├── XStrings.java
│ └── XVisualAccumulator.java
├── algs13
│ ├── Bag.java
│ ├── LinkedList.java
│ ├── MyDeque.java
│ ├── MyLinked0.java
│ ├── MyLinked1.java
│ ├── MyLinked2.java
│ ├── MyLinked2GenericTests.java
│ ├── MyLinked3.java
│ ├── MyListAccessor.java
│ ├── MyListDrawing.java
│ ├── MyListMutator.java
│ ├── MyQueueCircular.java
│ ├── MyRandomQueue.java
│ ├── Playground.java
│ ├── PlaygroundA.java
│ ├── PlaygroundInsert.java
│ ├── PlaygroundNumUnique.java
│ ├── PlaygroundWithNonStaticNode.java
│ ├── Queue.java
│ ├── ResizingArray.java
│ ├── ResizingArrayBag.java
│ ├── ResizingArrayQueue.java
│ ├── ResizingArrayStack.java
│ ├── Stack.java
│ ├── StackWithNonStaticNode.java
│ ├── XBTree.java
│ ├── XClientQueue.java
│ ├── XDirectory.java
│ ├── XEvaluate.java
│ ├── XEvaluateDeluxe.java
│ ├── XFixedCapacityIterableStack.java
│ ├── XFixedCapacityStack.java
│ ├── XFixedCapacityStackOfStrings.java
│ ├── XFixedCapacityStackOfStringsWithStaticMember.java
│ ├── XGrid.java
│ ├── XIteratorClient.java
│ ├── XMM1Queue.java
│ ├── XMultiwordSearch.java
│ ├── XResizingArrayBag.java
│ ├── XResizingArrayQueueofStrings.java
│ ├── XResizingArraySlowStack.java
│ ├── XResizingArrayStackOfStrings.java
│ ├── XReverseQueue.java
│ ├── XReverseStdIn.java
│ ├── XServer.java
│ ├── XStackOfStrings.java
│ ├── XStats.java
│ ├── XWhatGoesWrongInLoopsAndRecursion.java
│ ├── xbacktrack
│ │ ├── xframework
│ │ │ ├── MyBacktrackDriver.java
│ │ │ ├── XBacktrackFailure.java
│ │ │ ├── XBacktrackProblem.java
│ │ │ ├── XBacktrackResult.java
│ │ │ └── XBacktrackSuccess.java
│ │ ├── xsudoku
│ │ │ ├── MySudoku.java
│ │ │ ├── XImmutableCell.java
│ │ │ ├── XMutableCell.java
│ │ │ └── XSudokuCell.java
│ │ └── yknightstour
│ └── zbacktrack
│ ├── zframework
│ ├── zknightstour
│ └── zsudoku
├── algs14
│ ├── DoublingImproved.java
│ ├── DoublingRatio.java
│ ├── DoublingRatioLong.java
│ ├── MyDequeUsingStacks.java
│ ├── PlaygroundIndexing.java
│ ├── PlaygroundSearch.java
│ ├── ThreeSum.java
│ ├── ThreeSumFast.java
│ ├── XBitonicMax.java
│ ├── XCountingLoops.java
│ ├── XCountingRecursion.java
│ ├── XCountingString.java
│ ├── XExponential.java
│ ├── XFourSum.java
│ ├── XListImplementation.py
│ ├── XOneSum.java
│ ├── XPerformanceOfArrays.java
│ ├── XPerformanceOfStrings.java
│ ├── XPrintingLoops.java
│ ├── XTwoSum.java
│ └── XTwoSumFast.java
├── algs15
│ ├── CompressionUF.java
│ ├── QuickFindUF.java
│ ├── QuickUnionUF.java
│ ├── TestUF.java
│ ├── UF.java
│ ├── WeightedUF.java
│ ├── XWeightedCompressionUF.java
│ ├── XWeightedHalvingUF.java
│ └── perc
│ ├── InteractivePercolationVisualizer.java
│ ├── Percolation.java
│ ├── PercolationStats.java
│ ├── PercolationVisualizer.java
│ ├── perc-greeting57.png
│ ├── perc-greeting57.txt
│ ├── perc-heart25.png
│ ├── perc-heart25.txt
│ ├── perc-input10-no.png
│ ├── perc-input10-no.txt
│ ├── perc-input10.png
│ ├── perc-input10.txt
│ ├── perc-input2-no.png
│ ├── perc-input2-no.txt
│ ├── perc-input2.png
│ ├── perc-input2.txt
│ ├── perc-input20.png
│ ├── perc-input20.txt
│ ├── perc-input3.png
│ ├── perc-input3.txt
│ ├── perc-input4.png
│ ├── perc-input4.txt
│ ├── perc-input5.png
│ ├── perc-input5.txt
│ ├── perc-input50.png
│ ├── perc-input50.txt
│ ├── perc-input6.png
│ ├── perc-input6.txt
│ ├── perc-input7.png
│ ├── perc-input7.txt
│ ├── perc-input8-no.png
│ ├── perc-input8-no.txt
│ ├── perc-input8.png
│ ├── perc-input8.txt
│ ├── perc-snake101.png
│ ├── perc-snake101.txt
│ ├── perc-snake13.png
│ └── perc-snake13.txt
├── algs21
│ ├── Insertion.java
│ ├── MyDeckSort.java
│ ├── Selection.java
│ ├── Shell.java
│ ├── XAnimatedBubble.java
│ ├── XAnimatedInsertion.java
│ ├── XAnimatedSelection.java
│ ├── XBarsInsertion.java
│ ├── XBarsSelection.java
│ ├── XBarsShell.java
│ ├── XBubble.java
│ ├── XInsertionX.java
│ ├── XSort3.java
│ ├── XSort4.java
│ ├── XSort5.java
│ ├── XSort6.java
│ ├── XSortCards0.java
│ ├── XSortCards00.java
│ ├── XSortCards1.java
│ ├── XSortCards2.java
│ ├── XSortCards3.java
│ ├── XSortCompare.java
│ ├── XTraceBubble.java
│ ├── XTraceInsertion.java
│ ├── XTraceSelection.java
│ └── XTraceShell.java
├── algs22
│ ├── BarsMergeCodeNotAvailable.png
│ ├── Merge.java
│ ├── MergeBU.java
│ ├── MyLinkedSort.java
│ ├── XInversions.java
│ ├── XMergeX.java
│ ├── XSecureShuffle.java
│ ├── XTraceMerge.java
│ └── XTraceMergeBU.java
├── algs23
│ ├── BarsQuickCodeNotAvailable.png
│ ├── Quick.java
│ ├── Quick3way.java
│ ├── XBarsQuick3way.java
│ ├── XIntegerSort.java
│ ├── XQuickDualPivot.java
│ ├── XQuickKR.java
│ ├── XQuickX.java
│ ├── XTracePartition.java
│ ├── XTraceQuick.java
│ └── XTraceQuick3way.java
├── algs24
│ ├── FixedPQHeap.java
│ ├── FixedPQSortedDecreasing.java
│ ├── FixedPQSortedIncreasing.java
│ ├── FixedPQUnordered.java
│ ├── Heap.java
│ ├── IndexMaxPQ.java
│ ├── IndexMinPQ.java
│ ├── MaxPQ.java
│ ├── MinPQ.java
│ ├── Multiway.java
│ ├── MyMinMaxPQ.java
│ ├── MyPtrHeap.java
│ ├── PQ.java
│ ├── TestPQ.java
│ ├── TopM.java
│ ├── XFixedMaxPQ.java
│ ├── XFixedMinPQ.java
│ ├── XPairingPQ.java
│ ├── XPerfectPower.java
│ ├── XTaxicab.java
│ └── XTraceHeap.java
├── algs25
│ ├── XGoofy.java
│ ├── XGrade.java
│ ├── XJob.java
│ ├── XKendallTau.java
│ ├── XProcessor.java
│ ├── XRhymer.java
│ └── XStudent.java
├── algs31
│ ├── ArrayST.java
│ ├── BinarySearchST.java
│ ├── FrequencyCounter.java
│ ├── MySTTest.java
│ ├── SequentialSearchST.java
│ ├── XCount.java
│ ├── XPerson.java
│ └── XPhoneNumber.java
├── algs32
│ ├── BST.java
│ ├── MyIntSET.java
│ ├── MyIntSET2.java
│ ├── XBSTWithNonStaticNode.java
│ ├── XBTree.java
│ ├── XTree.java
│ └── kdtree
│ ├── Generator.java
│ ├── KdTree.java
│ ├── KdTreeVisualizer.java
│ ├── NearestNeighborCorrectnessTest.java
│ ├── NearestNeighborPerformanceTest.java
│ ├── NearestNeighborVisualizer.java
│ ├── PointSET.java
│ ├── RangeSearchCorrectnessTest.java
│ ├── RangeSearchPerformanceTest.java
│ ├── RangeSearchVisualizer.java
│ ├── RectHV.java
│ ├── kdtree-circle10.png
│ ├── kdtree-circle10.txt
│ ├── kdtree-circle100.txt
│ ├── kdtree-circle4.txt
│ ├── kdtree-horizontal8.txt
│ ├── kdtree-input10K.txt
│ ├── kdtree-random500.txt
│ └── kdtree-vertical7.txt
├── algs33
│ ├── RedBlackBST.java
│ ├── XRandomizedBST.java
│ ├── XRandomizedQueue.java
│ ├── XRedBlackLiteBST.java
│ ├── XSplayBST.java
│ └── XTestRedBlackBST.java
├── algs34
│ ├── LinearProbingHashST.java
│ ├── MyFB.java
│ ├── MyFBPerformanceTest.java
│ ├── SeparateChainingHashST.java
│ ├── XBadPoint.java
│ ├── XBuiltInHashcodes.java
│ ├── XGoodPoint.java
│ ├── XOneWay.java
│ ├── XPhoneNumber.java
│ ├── XPhoneNumberMutable.java
│ ├── XPhoneNumberOverload.java
│ ├── XPhoneNumberPerformanceTest.java
│ ├── XStringHashcodes.java
│ └── XStudent.java
├── algs35
│ ├── BlackFilter.java
│ ├── DeDup.java
│ ├── FileIndex.java
│ ├── LookupCSV.java
│ ├── LookupIndex.java
│ ├── SET.java
│ ├── ST.java
│ ├── SparseVector.java
│ ├── WhiteFilter.java
│ ├── XConcordance.java
│ ├── XFrequencyTable.java
│ ├── XIndexSET.java
│ ├── XIndirectPQ.java
│ ├── XInterpreter.java
│ ├── XMovieIndex.java
│ └── XSparseMatrix.java
├── algs41
│ ├── Bipartite.java
│ ├── BreadthFirstPaths.java
│ ├── CC.java
│ ├── Cycle.java
│ ├── DegreesOfSeparation.java
│ ├── DepthFirstPaths.java
│ ├── DepthFirstSearch.java
│ ├── EulerianCycle.java
│ ├── EulerianPath.java
│ ├── Graph.java
│ ├── GraphGenerator.java
│ ├── MyGraphProperties.java
│ ├── SymbolGraph.java
│ ├── XAdjMatrixGraph.java
│ ├── XBiconnected.java
│ ├── XGraphClient.java
│ ├── XMaze.java
│ └── XWordLadder.java
├── algs42
│ ├── BreadthFirstDirectedPaths.java
│ ├── DepthFirstDirectedPaths.java
│ ├── DepthFirstOrder.java
│ ├── Digraph.java
│ ├── DigraphGenerator.java
│ ├── DirectedCycle.java
│ ├── DirectedDFS.java
│ ├── DirectedEulerianCycle.java
│ ├── DirectedEulerianPath.java
│ ├── KosarajuSharirSCC.java
│ ├── MyDegrees.java
│ ├── MyEuler.java
│ ├── MyGarbageCollector.java
│ ├── SymbolDigraph.java
│ ├── Topological.java
│ ├── TransitiveClosure.java
│ ├── XAdjMatrixDigraph.java
│ ├── XBruteSCC.java
│ ├── XGabowSCC.java
│ ├── XKosarajuSharirReverseSCC.java
│ ├── XShortestDirectedCycle.java
│ ├── XTarjanSCC.java
│ ├── XTopologicalQueue.java
│ ├── XWarshallTC.java
│ ├── XWebCrawler.java
│ └── XWebCrawlerDFS.java
├── algs43
│ ├── BoruvkaMST.java
│ ├── Edge.java
│ ├── EdgeWeightedGraph.java
│ ├── KruskalMST.java
│ ├── LazyPrimMST.java
│ └── PrimMST.java
├── algs44
│ ├── AcyclicLP.java
│ ├── AcyclicSP.java
│ ├── AdjMatrixEdgeWeightedDigraph.java
│ ├── Arbitrage.java
│ ├── AssignmentProblem.java
│ ├── BellmanFordSP.java
│ ├── CPM.java
│ ├── DijkstraAllPairsSP.java
│ ├── DijkstraSP.java
│ ├── DirectedEdge.java
│ ├── EdgeWeightedDigraph.java
│ ├── EdgeWeightedDirectedCycle.java
│ ├── FloydWarshall.java
│ ├── XAdjMatrixEdgeWeightedDigraph.java
│ ├── XAssignmentProblemDense.java
│ └── XFloydWarshall.java
├── algs51
│ ├── Alphabet.java
│ ├── Count.java
│ ├── LSD.java
│ ├── MSD.java
│ ├── Quick3string.java
│ ├── XLSDInt.java
│ ├── XLSDLong.java
│ ├── XSqueeze.java
│ └── XSubsequence.java
├── algs52
│ ├── TST.java
│ ├── TrieST.java
│ ├── XSpellChecker.java
│ ├── XTrieSTWithCasts.java
│ └── XTrieTimer.java
├── algs53
│ ├── BoyerMoore.java
│ ├── KMP.java
│ ├── RabinKarp.java
│ ├── XBrute.java
│ ├── XKMPplus.java
│ ├── XManacher.java
│ └── XSystemSearch.java
├── algs54
│ ├── GREP.java
│ ├── NFA.java
│ └── XValidate.java
├── algs55
│ ├── BinaryDump.java
│ ├── Genome.java
│ ├── HexDump.java
│ ├── Huffman.java
│ ├── LZW.java
│ ├── PictureDump.java
│ └── RunLength.java
├── algs61
│ ├── CollisionSystem.java
│ └── Particle.java
├── algs62
│ ├── BTree.java
│ └── XBTreeWithCasts.java
├── algs63
│ ├── KWIK.java
│ ├── LRS.java
│ ├── SuffixArray.java
│ ├── XLCS.java
│ └── XManber.java
├── algs64
│ ├── BipartiteMatching.java
│ ├── FlowEdge.java
│ ├── FlowNetwork.java
│ ├── FordFulkerson.java
│ └── XHungarian.java
├── algs91
│ ├── ClosestPair.java
│ ├── FFT.java
│ ├── FarthestPair.java
│ ├── GaussianElimination.java
│ ├── GrahamScan.java
│ ├── Simplex.java
│ ├── XCholesky.java
│ ├── XGaussJordanElimination.java
│ ├── XGaussianEliminationRectangular.java
│ ├── XGrahamScanNondegenerate.java
│ ├── XInteractiveConvexHull.java
│ └── XInteractiveFarthestPair.java
├── module-info.java
└── stdlib
├── ArrayGenerator.java
├── BinaryIn.java
├── BinaryOut.java
├── DoublingTest.java
├── GraphvizBuilder.java
├── In.java
├── Out.java
├── Picture.java
├── StdAudio.java
├── StdDraw.java
├── StdIn.java
├── StdOut.java
├── StdRandom.java
├── StdStats.java
├── Stopwatch.java
├── Trace.java
├── XHistogram.java
└── XLinearRegression.java
41 directories, 476 files
tree v2.1.1 © 1996 - 2023 by Steve Baker and Thomas Moore
HTML output hacked and copyleft © 1998 by Francesc Rocher
JSON output hacked and copyleft © 2014 by Florian Sesser
Charsets / OS/2 support © 2001 by Kyosuke Tokoro