/Cpp_Algorithms_and_Data_Structures

My solutions for Bilkent University CS202 Fundamental Structures of Computer Science homework assignments (Spring 2019).

Primary LanguageC++MIT LicenseMIT

Bilkent University CS 202 Homeworks (Spring 2019)

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 Assignments:

  • 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.