/coursera-data-structures-algorithms

Coursera: Data Structures and Algorithms Specialization

Primary LanguagePython

Coursera: Data Structures and Algorithms Specialization

Programming assignments for Data Structures and Algorithms Specialization.

Introduction

  1. Small Fibonacci Number
  2. The Last Digit of a Large Fibonacci Number
  3. Greatest Common Divisor
  4. Least Common Multiple
  5. Huge Fibonacci Number modulo m

Greedy algorithms

  1. Changing Money
  2. Fractional Knapsack
  3. Covering Segments by Points
  4. Pairwise Distinct Summands

Divide and conquer

  1. Binary Search
  2. Majority Element
  3. Sorting: 3-Way Partition
  4. Number of Inversions
  5. Points and Segments

Dynamic programming

  1. Primitive Calculator
  2. Take as Much Gold as Possible
  3. Compute the Edit Distance Between Two Strings
  4. Maximize the Value of an Arithmetic Expression
  5. Longest Common Subsequence of Three Sequences

Basic Data Structures

  1. Check brackets in the code
  2. Compute tree height
  3. Network packet processing simulation

Priority Queues and Disjoint Sets

  1. Convert array into heap
  2. Parallel processing
  3. Merging tables

Hash Tables and Hash Functions

  1. Phone book
  2. Hashing with chains
  3. Find pattern in text

Binary Search Trees

  1. Binary tree traversals
  2. Set with range sums
  3. Rope