* 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.
Original function does not work when input array is empty or contains a single value. In the revised code, base case has been augmented to support those. Works successfully for all these test cases: find_max([1, 12, 8, 5]), find_max([]), find_max([1])
First, congratulations for the work, the book is very instructive.
In this case, as described in the book, if the list is empty it returns zero, otherwise we apply recursion.
Co-authored-by: Aditya Bhargava <bluemangroupie@gmail.com>
* The original code did not consider the exit condition when the stations cannot perfectly cover the states_needed.
* The code in 09_dynamic_programming/python/01_longest_common_subsequence.py is completed. And the 02_longest_common_substring.py is added.