Serg Gini 9ff7468e9e D solutions (#305)
* 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
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2025-05-01 18:24:42 -05:00
2017-03-15 16:05:38 -07:00
2016-05-25 15:59:16 -07:00
2024-12-07 08:28:56 -06:00

Grokking Algorithms

This is the code in my book Grokking Algorithms.

Check out Python Tutor, a great website that guides you through Python code line by line.

Errata

Here's the errata page.

Images

This repository contains every image in Grokking Algorithms in high resolution. These images are available for non-commercial use. If you use an image, please add "copyright Manning Publications, drawn by adit.io". You are welcome to use these images in any non-commercial materials (i.e. teaching materials, presentations, etc.)

Contributing

Thanks for wanting to contribute to this repo!

If you have found a mistake in the book or have a question, please email me as that will be the best way to get a response. My email is listed on my website, adit.io. If you would like to make a change, please go ahead and open a PR with your suggested change. I am quicker at responding to those than I am to issues.

It takes me a long time to respond to PRs. It's something I'm trying to get better at, but I apologize in advance for how long it will take. I will eventually get to it.

The contributions that are most useful are:

  • fixing errors in existing code
  • adding examples to new languages
  • modernizing code as the language evolves
  • making code easier to read.

I'm less likely to merge code that involves stylistic changes, and I'm very unlikely to merge PRs that add complex optimizations, as the main purpose of this repo is to have easy to read examples that help people understand concepts.

Thanks for contributing and I hope you're enjoying the book!

Description
No description provided
Readme 108 MiB
Languages
JavaScript 11.8%
Zig 10.6%
C# 6.3%
Java 6.1%
C++ 5.9%
Other 59.3%