Coursera_2018_Data_Structures_and_Algorithms icon indicating copy to clipboard operation
Coursera_2018_Data_Structures_and_Algorithms copied to clipboard

Coursera 2018/ data structures and algorithms / 6 course specialization by University of California, San Diego & National Research University Higher School of Economics

Coursera: Data Structures and Algorithms

My Python3 solutions to Course 1 & 2 of the specialization for reference. Later courses in the specialization will be added.

Course 1/Algorithmic Toolbox

Introduction

  • Small Fibonacci Number
  • Last Digit of a Large Fibonacci Number
  • Greatest Common Divisor
  • Least Common Multiple
  • Huge Fibonacci Number modulo m
  • Sum of Fibonacci Numbers
  • Partial Sum of Fibonacci Numbers

Greedy Algorithms

  • Changing Money
  • Maximizing the Value of a Loot
  • Maximizing Revenue in Online Ad Placement
  • Collecting Signatures
  • Maximizing the Number of Prize Places in a Competition
  • Maximizing Your Salary

Divide and Conquer

  • Implementing Binary Search
  • Finding a Majority Element
  • Improving Quick Sort
  • How Close a Data is To Being Sorted?
  • Organizing a Lottery
  • Finding the Closest Pair of Points

Dynammic Programming

  • Primitive Calculator
  • Take as Much Gold as Possible
  • Compute the Edit Distance Between Two Strings
  • Maximize the Value of an Arithmetic Expression
  • Longest Common Subsequence of Three Sequences

Course 2/Data Structures

Basic Data Structures

  • Check brackets in the code
  • Compute tree height
  • Network packet processing simulation

Priority Queues and Disjoint Sets

  • Convert array into heap
  • Parallel processing
  • Merging tables

Hash Tables and Hash Functions

  • Phone book
  • Hashing with chains
  • Find pattern in text

Binary Search Trees

  • Binary tree traversals
  • Is it a binary search tree?
  • Is it a binary search tree? Hard version
  • Set with range sums
  • Rope