You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# C# ALGORITHMS
2
2
3
-
## Implementations of Data Structures and Algorithms in C#.
3
+
###Implementations of Data Structures and Algorithms in C#.
4
4
5
5
I started writing this organized collection of classes as part of my preparation for technical interviews. This is for educational purposes only. However, the source code is stable.
6
6
@@ -23,7 +23,7 @@ The third project is called MainProgram and it has all the tests for all the imp
23
23
24
24
#### Priority Queues:
25
25
26
-
***[Priority Queue](DataStructures/Heaps/PriorityQueue.cs).** Based on my *MaxHeap\<T\>*.
26
+
***[Min-Priority Queue](DataStructures/Heaps/MinPriorityQueue.cs).** Based on my *MinHeap\<T\>*.
27
27
***[Keyed Priority Queue](DataStructures/Heaps/KeyedPriorityQueue.cs).** Based on my *MaxHeap\<T\>*.
28
28
29
29
#### Heaps:
@@ -90,9 +90,10 @@ The third project is called MainProgram and it has all the tests for all the imp
90
90
```
91
91
92
92
#### Graphs:
93
-
* **[Depth-First Searcher](Algorithms/Graphs/DepthFirstSearcher.cs).** Implements the DFS algorithm in two ways: Iterative and Recursive. Provides multiple functions for traversing graphs: PrintAll(), VisitAll(Action\<T\> forEachFunc), FindFirstMatch(Predicate\<T\> match). The VisitAll() applies a function to every graph nodes. The FindFirstMatch() function takes searches the graph for a predicate match.
94
-
* **[Breadth-First Searcher](Algorithms/Graphs/BreadthFirstSearcher.cs).** Implements the DFS algorithm in an iterative fashion. Provides multiple functions for traversing graphs: PrintAll(), VisitAll(Action\<T\> forEachFunc), FindFirstMatch(Predicate\<T\> match). The VisitAll() applies a function to every graph nodes. The FindFirstMatch() function takes searches the graph for a predicate match.
95
-
* **[Breadth First Paths](Algorithms/Graphs/BreadthFirstPaths.cs).** A class that takes a Graph instance upon object-instantiation as a parameter, and then applies BFS to the graph. Meanwhile applying BFS to the graph, it extracts information about shortest-paths and connectivity. It provides the capability to find shortest-paths from single-sources and multiple-sources. Also, to check for reachable and unreachable nodes from the specified source-node(s).
93
+
* **[Depth-First Searcher](Algorithms/Graphs/DepthFirstSearcher.cs).** Implements the **DFS algorithm** in two ways: Iterative and Recursive. Provides multiple functions for traversing graphs: PrintAll(), VisitAll(Action\<T\> forEachFunc), FindFirstMatch(Predicate\<T\> match). The VisitAll() applies a function to every graph nodes. The FindFirstMatch() function takes searches the graph for a predicate match.
94
+
* **[Breadth-First Searcher](Algorithms/Graphs/BreadthFirstSearcher.cs).** Implements the **BFS algorithm** in an iterative fashion. Provides multiple functions for traversing graphs: PrintAll(), VisitAll(Action\<T\> forEachFunc), FindFirstMatch(Predicate\<T\> match). The VisitAll() applies a function to every graph nodes. The FindFirstMatch() function takes searches the graph for a predicate match.
95
+
* **[Breadth First Shortest Paths](Algorithms/Graphs/BreadthFirstShortestPaths.cs).** A class that takes a Graph instance upon object-instantiation as a parameter, and then applies **BFS algorithm** to the graph. Meanwhile applying BFS to the graph, it extracts information about shortest-paths and connectivity. It provides the capability to find shortest-paths from single-sources and multiple-sources. Also, to check for reachable and unreachable nodes from the specified source-node(s).
96
+
* **[Dijkstra Shortest Paths](Algorithms/Graphs/DijkstraShortestPaths.cs).** A class that behaves the same way as the breadth-first shortest path class, except that the Graph-object parameter has to be of a class that implements both IGraph\<T\> and IWeightedGrap\<T\>. It applies **Dijkstra's Algorithm** to the graph, and extracts the information about shortest-paths and connectivity.
96
97
97
98
#### Numeric:
98
99
* **[Catalan Numbers](Algorithms/Numeric/CatalanNumbers.cs).** A class that calculates the catalan numbers. A dynamic-programming solution.
0 commit comments