Go Data Structures: Introduction


I have been asked to teach a series of courses on basic computer science data structures. The target audience of this series is young developers, mostly working in javascript.

The issue that I ran into as I began to prepare was that javascript lacked many of the core constructs needed to teach such lessons — namely pointers. This is not to say that such data structures could not be implemented in javascript, but from a purely academic perspective, it would be less educational than a language like C/C++ where they could be implemented with direct memory control.

Truth be told, I have no issues with C++. In fact, I have done my fair share of work in it over the years. But for a group of javascript developers, having to contend with the fundamentals of C++ would likely overshadow the lessons at hand.

For these reasons, I decided to write these lessons in a language which has recently become a large part of my coding life and should be more immediately accessible to developers without a background in computer science– Go.

These lessons will follow the outline below: (I will convert them to links as the lessons materialize)

  1. Structs
  2. Pointers
  3. Lists
    1. Singly Linked List
    2. Doubly Linked List
    3. ArrayList
  4. Stacks/Queues
  5. Sets
    1. HashSet
    2. TreeSet
  6. Trees
    1. RedBlackTree
    2. AVLTree
    3. BTree
  7. Maps
    1. HashMap
    2. TreeMap

Leave a Reply

Your email address will not be published. Required fields are marked *