.
	├── 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