This is a Java data structure and algorithm course (CS61B) of UC Berkeley which contains tons of homework, labs, and projects. This repo records my solutions to every task for this course. You can refer to different topics in seperate folders in this repo.
For more information about homework/lab/project requirements and statements, please see below.
Homework Index | Detailed Requirements | Quick Link to My Solution |
---|---|---|
Homework 1 | Java Syntax and Sound Synthesis | hw1 |
Homework 2 | Percolation | hw2 |
Homework 3 | Hashing | hw3 |
Homework 4 | Puzzle Solver | hw4 |
Project Index | Detailed Requirements | Quick Link to My Solution |
---|---|---|
Project 0 | NBody Simulation | proj0 |
Project 1A | ArrayDeque & LinkedListDeque | proj1a |
Project 1B | Applying and Testing Data Structures | proj1b |
Project 2AB | Extrinsic PQ and KDTree | proj2ab |
Project 2C | Bear Maps | proj2c |
Project 3 | Bulid Your Own World | proj3 |
Note: clab corresponds to challenging lab
Lab Index | Detailed Requirements | Quick Link to My Solution |
---|---|---|
lab2setup | Setting Up IntelliJ | lab2setup |
lab2 | JUnit | lab2 |
lab3 | Testing and Debugging | lab3 |
lab5 | HugLife | lab5 |
lab6 | Disjoint Sets | lab6 |
clab6 | Falling Bubbles, it is actually a leetcode problem, please refer to LeetCode 803 Bricks Falling When Hit for more information | clab6 |
lab7 | TreeMap | lab7 |
clab7 | Binary Search Tree Performance | clab7 |
lab8 | HashMap | lab8 |
clab8 | Heaps and Hashes | clab8 |
lab9 | Tries | lab9 |
clab9 | Graphs | clab9 |
lab11 | Merge Sort and Quick Sort | lab11 |
clab11 | Bears and Beds | clab11 |
lab12 | Getting Started on Project 3 | lab12 (repo locates in project/proj3) |
lab13 | Interactivity in Project 3 | lab13 (repo locates in project/proj3) |
Reference: cs61B-spring 2019