> For the complete documentation index, see [llms.txt](https://tomthestrom.gitbook.io/cs61b-fall-2022/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tomthestrom.gitbook.io/cs61b-fall-2022/cs61b-fall-2022.md).

# CS61B Fall 2022

This is a place, where I share my solutions of labs and projects that are included in CS61B, Fall 2022 course by UC Berkeley. I might add (digitize) my notes at a later time.

## CS 61B: Data Structures

Official course site: <https://fa22.datastructur.es/index.html>

My GitHub repo including all the solutions: <https://github.com/tomthestrom/cs61b>

## About

I decided to take this course in order to learn about some basic data structures and algorithms.&#x20;

The first third of the course deals with introducing Java while going through List Abstract Data Type - SLL, DLL, AL and implementing unit tests (timing and randomized). While not being a Java class, Java is explained to the extent that's needed to be able to successfully complete the assignments.

The class as a whole is not that programming heavy in my opinion (except for Project 3), but you get to implement and practice what's being explained during the lectures.

## Quick Intro to Assignments (aka, some highlights):

* Implementing various types of Lists - notably a [Deque in Project 1](/cs61b-fall-2022/project-1-deques.md) - the basic ADT for a GuitarHero Simulator:
  * The **Deque** was implemented in 2 ways.

    * using a[ **Doubly Linked List**](/cs61b-fall-2022/project-1-deques.md#1-linked-list-deque) with a **sentinel node**
    * using a [**circular array**](/cs61b-fall-2022/project-1-deques.md#2-array-deque) **- the first mindblowing experience :)**

* **Disjoined Sets** - implementing a [Percolation Simulator in Homework 2](/cs61b-fall-2022/hw-2-percolation.md).

* **Trees** - concept used in multiple places - [Implemented a  BSTMap in Lab 07.](/cs61b-fall-2022/lab-07-bstmap.md)

* **HashMaps** - one of the most used datastructures - [implemented in Lab 08](/cs61b-fall-2022/lab-08-hashmap.md).

* **Graphs -** [implementing a Graph](/cs61b-fall-2022/project-2b-ngordnet-wordnet.md#implementation) as an underlying data structure for[ WordNet ](https://en.wikipedia.org/wiki/WordNet)in [Project 2b](/cs61b-fall-2022/project-2b-ngordnet-wordnet.md)**.**

* A Game Generator in [Project 3 ](/cs61b-fall-2022/project-3-byow.md)- implemented however you'd like.
  * [Phase 1: Implement a Pseudorandom dungeon generator](/cs61b-fall-2022/project-3-byow/phase-1-world-generation.md).
  * Phase 2: Add Interactivity - not implemented yet.
