Die Implementierungen in Java von Christopher Schölzel sind auch auf Github verfügbar.
Teil I: Grundbegriffe
Kapitel 1: Algorithmen
Kapitel 2: Qualität von Algorithmen
Kapitel 3: Daten und ihre Strukturen
- LexicalFirst JavaScalaSwift
- FArray JavaScalaSwift
- FListPTR JavaScalaSwift
- FListADT JavaScalaSwift
- ListSum JavaScalaSwift
- GGT JavaScalaSwift
- FIter JavaScalaSwift
- StructuralRecursion JavaScalaSwift
- QuickSort JavaScalaSwift
- Traversing JavaScalaSwift
Teil II: Algorithmen in den Gärten der Strukturen
Kapitel 4: Listen: Immer einer nach dem anderen
- MinWeight Java
- Stack Imp JavaScalaSwift
- Queue Imp JavaScalaSwift
- RandomAccessList JavaScalaSwift
- QuickSortFunctional JavaScalaSwift
- List Iterator JavaScalaSwift
- Permutationen JavaScalaSwift
- PermSort JavaScalaSwift
- InsertionSortFunctionalList JavaScalaSwift
- QueueFunctional JavaScalaSwift
Kapitel 5: Bäume: Immer einer über dem anderen
- SimpleTreeAlgorithms JavaScalaSwift
- PreorderTraversal JavaScalaSwift
- InorderTraversal JavaScalaSwift
- InorderProcess JavaScalaSwift
- InorderIterTrav JavaScala
- TreeInorderIterator JavaScalaSwift
- TreeBreadthFirstIterator JavaScalaSwift
- BinarySearchTree JavaScalaSwift
- Trie ScalaSwift
- ArrayHeap JavaScalaSwift
- ExpressionTree JavaScalaSwift
- ExpressionEvaluationWithStack JavaScalaSwift
Kapitel 6: Graphen: Jeder mit jedem
- DepthFirstTraversalImp ScalaSwift
- DepthFirstTraversalFunc ScalaSwift
- MaxReachable JavaJavaScalaSwift
- VampInfluencer ScalaSwift
- TopoSortFunc JavaScalaSwift
- TopoSortImp JavaScalaSwift
Teil III: Probleme und ihre Lösungen
Kapitel 7: Sortieren
- SelectionSortOrdered ScalaSwift
- SelectionSortOrdering Scala
- Mergesort ScalaSwift
- QuickSort ScalaSwift
- QuickSortRandom ScalaSwift
- SortWithPrioritiyQueue ScalaSwift
- CountingSort ScalaSwift
- SortByDigit ScalaSwift
- RadixSort ScalaSwift
- BubbleGnomeInsertionSort ScalaSwift
Kapitel 8: Rucksack packen
- KnapsackGreedy ScalaSwift
- KnapsackBruteForce ScalaSwift
- KnapsackRek ScalaSwift
- KnapsackBnB ScalaSwift
- KnapsackDynProg ScalaSwift
- KnapsackDomi ScalaSwift
- KnapsackApprox ScalaSwift
Kapitel 9: Mengen und ihre Speicherung
- SetImpArrayBased Swift
- SetFuncListBased Swift
- Equals01 ScalaSwift
- Equals02 ScalaSwift
- RabbitMutableObjectHash ScalaSwift
- HashTable ScalaSwift
- RedBlackTree ScalaSwift
Kapitel 10: Verbindungen finden
- ShortestPaths ScalaSwift
- ShortestPathsWithPath ScalaSwift
- Dijkstra ScalaSwift
- ConnectedComponents ScalaSwift
- SpanningTree ScalaSwift
Teil IV: Algorithmische Techniken
Kapitel 11: Probleme totschlagen
- PermutationSortRabbits ScalaSwift
- TwoQueensArrangement ScalaSwift
- EightQueensExhaustiveSearch ScalaSwift
- RecursiveLoopGeneration ScalaSwift
- BinTreePaths ScalaSwift
- NQueensBackTtrack ScalaSwift
- TupelIteratorQueensN ScalaSwift
- BacktrackingStateSpace ScalaSwift
- MazeBacktrackImp ScalaSwift
- MazeBranchAndBoundImp ScalaSwift
- VertexCoverNonDeterministicSearch ScalaSwift
Kapitel 12: Teilen und Herrschen
Kapitel 13: Dynamisches Programmieren
- MaxSubSumBF ScalaSwift
- MaxSubSumInc ScalaSwift
- MaxSumArray ScalaSwift
- MaxSumList ScalaSwift
- MaxSumMem ScalaSwift
- MaxSumGrowing ScalaSwift
- MaxSubSumKadane ScalaSwift
- MinDP ScalaSwift
- Fibonacci ScalaSwift
- EditDistanceDivideConquer ScalaSwift
- AlignmentDivideConquer ScalaSwift
- NeedlemanWunsch ScalaSwift
- KadaneDP ScalaSwift
- GetAlgnment ScalaSwift
Kapitel 14: Näherungslösungen
- InterpolationSearch ScalaSwift
- Astar ScalaSwift
- TSPGreedy ScalaSwift
- TSPLocalSearch ScalaSwift
- SetCovering ScalaSwift