* Added 1 and 2 chapters
for D lang
* [D] Added recursion code
All examples were ported from the Python code directly to D.
Naming convention of Dlang is not allowing to run code files, which started with numbers. To run examples rename the files
* [D] quicksort code
* [D] Added hashtable example
Based on the Python code
* Create 01_breadth_first_search.d
Added D example for breadth-first search
* Create 01_filesystem_dfs.d
Filesystem example in D
* Create 01_dijkstras_algorithm.d
Added Dijkstras algorithm implementation for D
* Create 01_set_covering.d
Added greedy algorythm for D
* Create 01_longest_common_sub.d
Added dynamic programming example for D language.
The code is based on Rust example
* Added modules definition
Required to run code with names starting with numbers
* Fixed proper unsigned handling
* Update 04_recursive_max.js with fix for alternative solution
Current alternative solution works only for arrays of natural numbers and for empty arrays it returns 0 instead of null or Error. This commit fixes these problems.
* Considering comments from the author
---------
Co-authored-by: Ilia Poliakov <ilia.poliakov@macys.com>
The original code did not work correctly out of the box. It generated a (4,5) grid instead of a (5,4) grid as the book's answer grid shows. Also on line 10 of my code I changed `dp_table[i-1][i-1] + 1` to `dp_table[i-1][j-1] +1`. I also updated the display to display by row.
Co-authored-by: WhileRested <148598154+WhileRested@users.noreply.github.com>
* fix: corrected method return value following Dart's newest linter version
* feat: added Dart recursion examples for chapter 3
* feat: added quicksort example in Dart for chapter 4
* feat: added examples in Dart for the chapter 5
* feat: added Dart example for chapter 6 bfs
* feat: added djikstra example in Dart for chapter 7
* feat: added example of set covering in Dart for chapter 8
* feat: added examples for dynamic programming in dart for chapter 9
Problem with max definition. If in input list last element is the biggest, the present algorithm is'n count it. I solved this problem by changing the return in the case if length == 1 from return 1 to first element of list.
* add zig examples
* improved zig binary search
This commit improves the binary search code in zig. The function has
been made generic and the logic has been cleaned up a bit.
The code has been updated to work with zig versions >= 0.9
* simplify zig selection sort
This commit simplifies the logic of the zig selection sort. It now swaps
in place the elements of the array instead of creating another array.
This avoids allocating heap memory.
The code has also been upgraded to zig version 0.9.1
* make zig recursion examples generic
This commit modifies the zig examples for the recursion chapter to be
generic. It also updates the code to zig version 0.9.1
* update chapter 4 examples
This commit updates the zig examples in chapter 4. In particular
examples have been made generic where possible. The code has been
updated to zig version 0.9.1
* update zig hash table examples
This commit updates the examples for the chapter 5 about hash tables.
Some improvements have been done (using a set instead of a map). The
code has been updated to zig version 0.9.1
* update breadth first search zig example
This commit updates the zig example for the breadth first search
algorithm. It adds a unit test and updates the code to zig version 0.9.1
* revamp zig dijkstra example
* add comments in dijkstra zig
* fix zig greedy algorithm
* add test for zig dijkstra
* add test for zig greedy algorithm
* improve zig chapter 9 exercise
This commit improves the zig exercise to comput the longest common
subsequence.
A main function has been added and the allocator code has been extracted
from the `subsequence` function.