This is a book designed to help in basic understanding of popular ADTs in the modern languages of Rust and Go. With the growing importance of Go in Silicon Valley and the cult like usage of powerful, fast and safe Rust, understanding and implementing data structures in these languages become a skill of paramount importance. While it can be argued, that translating ADTs from C++, Java or Python code to Rust and Go is easy, we wanted to make the book in such a way that the reader learns the ADT's first in Rust and Go itself rather than C++, Java or Python.
Both co-authors took the class ECS 36C - Data Structures and Algorithms, at UC Davis taught by Prof. Joel Porquet. The homework assignments and engaging and exciting lectures really encouraged the co-authors to improve upon their data-structure knowledge and at the same time help people who are new to this topic. This is when they decided to write this book, to serve the following purposes
- Increase the reader's understanding in Go and Rust
- Improve the reader's application of Data Structures
- Serve as a future guilde for students studying Data Stuctures in Go and Rust
This book contains the following popular ADTs:
- Fixed List
- Dynamic List
- Singly Linked List
- Doubly Linked List
- Stack
- Queue
- Deque
- Steque
- Multi-Child Tree
- BST
- AVL Trees
- Binary Heap
- Priority Queue
- Indexed Priority Queue
- Graph
- Seperate Chaining Hash Table
- Open Adressing Hash Table
- ECS 36C - Data Structures and Alogrithms, Spring 2019, taught by Joel Porquet
- https://github.com/mw2000/RustDataStructs
- https://github.com/Chaitenyag/GoDataStructs
More detailed references given in the reference section of the book
- Mihir Wadekar
- Chaitenya Gupta
Want to contribute to this project? Don't see a popular ADT that you love? Wanna report a bug? Email us at [email protected] or [email protected]