Git Product home page Git Product logo

dsiml's Introduction

Introduction

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.

Motivation

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

Content

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

References

More detailed references given in the reference section of the book

Authors

  • Mihir Wadekar
  • Chaitenya Gupta

Contact Us

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]

dsiml's People

Contributors

mw2000 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.