My Java programs from the Advanced Topics in Computer Science Honors course at my high school. Note: This contains code from my course. This repository is not intended for cheating or copying code. This is simply for reference and for learning purposes. Any violation of academic integrity off this code is not intended and the creator of this repository is not to be blamed for. If you utilize this repository to blindly copy-paste code for repeated assignments, you are only cheating yourself out of learning.
- Heaps are Trees, but unlike Binary Seach Trees, they are array-based ā with either the min or max value at the root.
- Implemented min-heap (smallest value at the root)
- Implemented max-heap (largest value at the root)
- Notable projects include:
- Implemented a
Tree
class from scratch with a custom-builtTreeNode
class - Wrote methods to add a
Node
to a BST, in order - Wrote methods to remove a
Node
from a binary tree - Wrote methods to find if a node/value is in a specific binary tree
- Wrote methods to print binary tree in in-order, pre-order, post-order, and reverse-order
- Wrote methds to find:
- Tree width
- Number of levels in a binary tree
- Smallest value a binary tree
- Largest value a binary tree
- Number of leaves in a binary tree
- Number of nodes in a binary tree
- If the tree is or is not full and complete
- Modeled Histograms with custom binary
Tree
s andTreeNode
s
- Implemented a
- Notable projects include:
- HashCodes
- HashTables
- Words
- Wrestler and Wrestling Team
- School Club Mapping
- HashPhone
- WareHouse (with
ArrayList
implementation as well)
- Notable projects include:
- Made a spanish-to-english dictionary mapping from a give
.dat
file - Modeled Histogram
- Modeled Relatives
- Modeled Acronyms
- Modeled Autoparts
- Modeled
Student
s with aStudent
gradeMap
- Made a spanish-to-english dictionary mapping from a give
- Notable projects include:
- Implemented a
Set
from scratch - Found Uniques and Dupes (Duplicates) with and without
iterator
s - Modeled a Coin Collection
- Implemented
MathSet
with union, intersection, symmetric diff and delta operators
- Implemented a
- Notable projects include:
- Writing
toString()
,getMin()
, andgetNaturalOrder()
methods for PQ - Modeled Swimmers with a PQ
- Modeled a Liver Transplant with a PQ
- Circular Array with a PQ
- Writing
- Notable projects include:
- Implemented a
Queue
from scratch - Implemented Circular
Queue
from scratch - Developed various methods to append, clone, reverse, and alternate, value in a
Queue
- Implemented a
- Notable projects include:
- Utilized functions such as pop to demonstrate how a Stack works with the analogy of a pile of books
- Reversed digits with a Stack
- Reversed a String with a Stack
- Modeled a single-lane driveway with a Stack
- Created a Deck of Cards in a Stack and developed numerous shuffle methods
- Made a program that evaluates algebraic expressions (in PEMDAS-order) with a Stack
- Notable projects include:
- Implemented
LinkedList
from scratch with a providedListNode
class - Operated through
LinkedList
s with aniterator
- Modeled fruits with
LinkedList
s - Modeled polynomials with
LinkedList
s - Modeled a restaurant with a singly
LinkedList
, implementing various methods - Create letter and letter counts to represent a histogram of data
- Implemented Doubly
LinkedList
s from my ownListNode
class
- Implemented
- Discussed and researched efficiency through Big-O notation and various algorithms and operations and each of their respective time complexities. Notable labs include: Quadratic Sort Lab*:
- Create 3 graphs using data from using bubble sort on 1) an array in random order, 2) an array in descending order, and 3) an array in order.
- Create 3 graphs using data from using insertion sort on 1) an array in random order, 2) an array in descending order, and 3) an array in order.
- Create 3 graphs using data from using selection sort on 1) an array in random order, 2) an array in descending order, and 3) an array in order.
- Create a chart and graph for a random array using 3 different sorts.
- Create a chart and graph for an ordered array using 3 different sorts.
- Create a chart and graph for an array in descending order for 3 different sorts.
- Explain why these are called quadratic sorts. Use the O(nĀ²) notation in your response.
- Which is the most efficient sort of a random array? Why? Which is the least efficient sort of a reverse ordered array? Why?
- Which of these sort situations will produce a linear relationship O(n). Why?
* Received perfect score.
- Notable projects include:
- Letter Pemutations
- General Recursion Methods
- Counting Letters in a Grid
- Maze
- Game of Chess