Repository contains my solutions for Bilkent University's Fundamental Structures of Computer Science II homework assignments. The course introduces fundamental data structures and algorithms with C++ programming language.
- Homework 1: Algorithm Efficiency and Sorting- Topics: Solving recurrence relationships, Selection sort, Insertion sort, Bubble sort, Quick sort, Merge sort, Radix sort
- Performance Analysis on various data types
 
- Homework 2: Binary Search Trees- Topics: BST insertion, deletion, traversals
- Interesting Problems:
- Check whether an array sequence contained within BST
- Counting nodes deeper than a specific level
- Maximum height of the balanced tree if we remove minimum number of nodes from the current tree to make it height balanced.
 
- Homework 3: Heaps and AVL Trees- Topics: AVL Tree operations, Heap operations
- Interesting Problems:
- Finding median in O(1) time using a max-heap and a min-heap
- Huffman Coding
 
- Homework 4: Balanced Search Trees, Hashing and Graphs- Topics: Expected running times of unsorted array, red-black tree, hashing, min-heap, sorted linked list,
- Graph traversals
- 2-3-4 Tree Operations
- Interesting Problems:
- Building an Airport Flight System Graph from given text file
- It involves performing BFS to find shortest destination between two airports.