Coursera_2018_Data_Structures_and_Algorithms
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