Implementation of several algorithms with Dart programming language.
Use dartdoc to generate documentation.
List data structures are implemented under the package lists.
lib/lists/singly_linked_list.dart
lib/lists/doubly_linked_list.dart
lib/lists/circular_singly_linked_list.dart and lib/lists/circular_doubly_linked_list.dart
lib/lists/stack.dart
lib/lists/queue.dart
All base classes are in lib/heaps/base.dart
lib/heaps/binary_heap.dart - BinaryHeap, MinHeap and MaxHeap
lib/sorts/common.dart contains helper functions and typedefs for sorting algorithms.
lib/sorts/exchange.dart - Bubble Sort, Odd-Even Sort, Gnome Sort, Quick Sort
lib/sorts/insertion.dart - Insertion Sort
lib/sorts/selection.dart - Heap Sort, Selection Sort
lib/sorts/distribution.dart - Pigeonhole Sort, Counting Sort, Radix Sort
lib/sorts/merge.dart - Merge Sort
lib/search/sequential.dart - Linear Search
lib/search/interval.dart - Binary Search
lib/trees/binary_search_tree.dart
lib/trees/avl_tree.dart
lib/trees/red_black_tree.dart
lib/math/common.dart - GCD, LCM, Factorial
lib/graph/graph.dart - Graph ADT
lib/graph/vertex.dart - Vertex
lib/graph/traversal.dart - Traversal ADT to represent graph traversal
results.
lib/graph/dfs.dart - Algorithm for DFS traversal on graphs.
lib/graph/bfs.dart - Algorithm for BFS traversal on graphs.
lib/graph/topological_sort.dart - Topological sort on acyclic digraphs.
lib/graph/bellman_ford.dart - Bellman Ford Algorithm
lib/graph/dijkstra.dart - Dijkstra's algorithm