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 SortingTopics
: 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 TreesTopics
: BST insertion, deletion, traversalsInteresting 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 TreesTopics
: AVL Tree operations, Heap operationsInteresting Problems
:- Finding median in O(1) time using a max-heap and a min-heap
- Huffman Coding
Homework 4
: Balanced Search Trees, Hashing and GraphsTopics
: 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.