Skip to content

About

Implementation of some common data structures in Go, based on the book "Estructuras de Datos con Java Moderno" by Canek Pelaez Valdez

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Data Structures in GoLang

In this repository you can find Golang implementations of all the data structures and exercises covered in the book "Estructuras de Datos con Java Moderno", written by Canek Peláez Valdez.

The objective of this work is to adapt the ideas and concepts of this book to the idiomatic characteristics of Go, offering clean, efficient and well-documented code.

This project is developed using literate programming, where the code and its documentation are interwoven in a single, narrative-driven Org-mode document. This approach blends human-readable explanations with executable Go code, making the development process transparent and the learning experience engaging.

What is Literate Programming?

Literate programming, pioneered by Donald Knuth, treats code as a narrative. Instead of separating code and documentation, they are written together in a way that prioritizes clarity and understanding. In this project, we use Org-mode (a powerful markup language from Emacs) to create a single document that combines detailed explanations, design decisions, and Go code. The code is then "tangled" into executable .go files and "woven" into readable documentation, ensuring that the development process is both functional and educational.

About its relation with the book that inspired it.

This is not a direct translation of the book but a reinterpretation of its concepts tailored to the traits and features of Go

Implemented:

To be implemented:

  • AVL Trees
  • Complete Binary Trees
  • Ordered Binary Trees
  • RB-trees
  • Utilities related to arrays
  • Queues
  • Stacks
  • Dictionaries (with some hash functions)
  • Sets
  • Graphs
  • Linked Lists
  • Binary Heaps
  • Fenwick Trees (this is not included in the book but I want to study them)
  • Segment Trees (idem)

About

Implementation of some common data structures in Go, based on the book "Estructuras de Datos con Java Moderno" by Canek Pelaez Valdez

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages