Skip to content

Commit 31fb333

Browse files
Merge pull request #23 from justcoding121/master
Beta
2 parents c86054b + 88c2b07 commit 31fb333

File tree

252 files changed

+10178
-5392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

252 files changed

+10178
-5392
lines changed

.build/setup.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function Install-DocFx()
3636
{
3737
if(!(Test-Path $env:ChocolateyInstall\lib\docfx\tools*))
3838
{
39-
choco install docfx
39+
choco install docfx --version 2.40.1
4040
}
4141
$env:Path += ";$env:ChocolateyInstall\lib\docfx\tools"
4242
}

README.md

+9-23
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ Supports
4747
### HashSets
4848

4949
- [X] HashSet (using [separate chaining](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/HashSet/SeparateChainingHashSet.cs) optionally with [open address linear probing](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/HashSet/OpenAddressHashSet.cs)) ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/HashSet/HashSet.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/HashSet/HashSet_Tests.cs))
50-
- [X] Sorted HashSet ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/HashSet/SortedHashSet.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/HashSet/SortedHashSet_Tests.cs))
50+
- [X] Ordered HashSet ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/HashSet/OrderedHashSet.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/HashSet/OrderedHashSet_Tests.cs))
5151

5252
### Dictionaries
5353

5454
- [X] Dictionary (using [separate chaining](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Dictionary/SeparateChainingDictionary.cs) optionally with [open address linear probing](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Dictionary/OpenAddressDictionary.cs)) ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Dictionary/Dictionary.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Dictionary/Dictionary_Tests.cs))
55-
- [X] Sorted Dictionary ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Dictionary/SortedDictionary.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Dictionary/SortedDictionary_Tests.cs))
55+
- [X] Ordered Dictionary ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Dictionary/OrderedDictionary.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Dictionary/OrderedDictionary_Tests.cs))
5656

5757
### Stack
5858

@@ -61,12 +61,8 @@ Supports
6161
### Queue
6262

6363
- [X] Queue (using [dynamic array](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Queues/ArrayQueue.cs) and optionally using [doubly linked list](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Queues/LinkedListQueue.cs)) ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Queues/Queue.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Queues/Queue_Tests.cs))
64+
- [X] Priority queue ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Queues/PriorityQueue.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Queues/PriorityQueue_Tests.cs))
6465

65-
#### Priority queue
66-
67-
- [X] Min priority queue ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MinPriorityQueue.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Queues/PriorityQueue/MinPriorityQueue_Tests.cs))
68-
- [X] Max priority queue ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Queues/PriorityQueue/MaxPriorityQueue.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Queues/PriorityQueue/MaxPriorityQueue_Tests.cs))
69-
7066
### Linked list
7167

7268
- [X] Singly linked list ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/LinkedList/SinglyLinkedList.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/LinkedList/SinglyLinkedList_Tests.cs))
@@ -75,23 +71,13 @@ Supports
7571

7672
### Heap
7773

78-
#### Min
79-
80-
- [X] Binary min heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Min/BMinHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Min/BMinHeap_Tests.cs))
81-
- [X] d-ary min heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Min/d-aryMinHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Min/D-aryMinHeap_Tests.cs))
82-
- [X] Binomial min heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Min/BinomialMinHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Min/BinomialMinHeap_Tests.cs))
83-
- [X] Fibornacci min heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Min/FibornacciMinHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Min/FibornacciMinHeap_Tests.cs))
84-
- [X] Pairing min heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Min/PairingMinHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Min/PairingMinHeap_Tests.cs))
85-
86-
#### Max
87-
88-
- [X] Binary max heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Max/BMaxHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Max/BMaxHeap_Tests.cs))
89-
- [X] d-ary max heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Max/d-aryMaxHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Max/D-aryMaxHeap_Tests.cs))
90-
- [X] Binomial max heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Max/BinomialMaxHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Max/BinomialMaxHeap_Tests.cs))
91-
- [X] Fibornacci max heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Max/FibornacciMaxHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Max/FibornacciMaxHeap_Tests.cs))
92-
- [X] Pairing max heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/Max/PairingMaxHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/Max/PairingMaxHeap_Tests.cs))
74+
- [X] Binary heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/BHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/BHeap_Tests.cs))
75+
- [X] d-ary heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/d-aryHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/D-aryHeap_Tests.cs))
76+
- [X] Binomial heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/BinomialHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/BinomialHeap_Tests.cs))
77+
- [X] Fibornacci heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/FibornacciHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/FibornacciHeap_Tests.cs))
78+
- [X] Pairing heap ([implementation](https://github.com/justcoding121/Advanced-Algorithms/blob/master/src/Advanced.Algorithms/DataStructures/Heap/PairingHeap.cs) | [tests](https://github.com/justcoding121/Advanced-Algorithms/blob/master/tests/Advanced.Algorithms.Tests/DataStructures/Heap/PairingHeap_Tests.cs))
9379

94-
Note: It is observed that among the implementations here in practice, with the exclusion of DecrementKey/IncrementKey operation regular Binary Heap & d-ary Heap outperforms other in theory superiors. Likely because it don't have pointer juggling overhead and hey arrays are faster!
80+
Note: It is observed that among the implementations here in practice, with the exclusion of UpdateKey (decrement/increment) operation regular Binary Heap & d-ary Heap outperforms other in theory superiors. Likely because it don't have pointer juggling overhead and hey arrays are faster!
9581

9682
### Tree
9783

docs/api/Advanced.Algorithms.Binary.BaseConversion.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Class BaseConversion
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Binary.Gcd.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Class Gcd
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Binary.Logarithm.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Class Logarithm
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Binary.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Namespace Advanced.Algorithms.Binary
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Combinatorics.Combination.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Class Combination
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Combinatorics.Permutation.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Class Permutation
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Combinatorics.Subset.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Class Subset
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Combinatorics.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Namespace Advanced.Algorithms.Combinatorics
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Compression.HuffmanCoding-1.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Class HuffmanCoding&lt;T&gt;
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

docs/api/Advanced.Algorithms.Compression.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<meta name="viewport" content="width=device-width">
1111
<meta name="title" content="Namespace Advanced.Algorithms.Compression
1212
| Advanced Algorithms ">
13-
<meta name="generator" content="docfx 2.40.0.0">
13+
<meta name="generator" content="docfx 2.40.1.0">
1414

1515
<link rel="shortcut icon" href="../favicon.ico">
1616
<link rel="stylesheet" href="../styles/docfx.vendor.css">

0 commit comments

Comments
 (0)