Programming assignments for Data Structures and Algorithms Specialization.
This specialization is a mix of theory and practice: you will learn algorithmic techniques for solving various computational problems and will implement about 100 algorithmic coding problems in a programming language of your choice.
The specialization contains two real-world projects: Big Networks and Genome Assembly. You will analyze both road networks and social networks and will learn how to compute the shortest route between New York and San Francisco (1000 times faster than the standard shortest path algorithms!) Afterwards, you will learn how to assemble genomes from millions of short fragments of DNA and how assembly algorithms fuel recent developments in personalized medicine.
Assignment | Name | Score |
---|---|---|
Week 1 | Programming Challenges | 100/100 |
Week 2 | Algorithmic Warmup | 100/100 |
Week 3 | Greedy Algorithms | 100/100 |
Week 4 | Divide and Conquer | 100/100 |
Week 5 | Dynamic Programming 1 | 100/100 |
Week 6 | Dynamic Programming 2 | 67/100 |
-
- Maximum Amount of Gold
- Partitioning Souvenirs
- Maximum Value of an Arithmetic Expression
Assignment | Name | Score |
---|---|---|
Week 1 | Basic Data Structures | 100/100 |
Week 3 | Priority Queues and Disjoint Sets | 100/100 |
Week 4 | Hash Tables | 100/100 |
Week 6 | Binary Search Trees | 60/100 |
-
- Binary tree traversals
- Is it a binary search tree?
- Is it a binary search tree? Hard version
- Set with range sums
- Rope
Assignment | Name | Score |
---|---|---|
Week 1 | Decomposition of Graphs 1 | 100/100 |
Week 2 | Decomposition of Graphs 2 | 100/100 |
Week 3 | Paths in Graphs 1 | 100/100 |
Week 4 | Paths in Graphs 2 | 100/100 |
Assignment | Name | Score |
---|---|---|
Week 1 | Suffix Trees | 60/100 |
Week 2 | Burrows-Wheeler Transform and Suffix Arrays | 100/100 |
-
- Construct a Trie from a Collection of Patterns
- Implement TrieMatching
- Extend TrieMatching
- Construct the Suffix Tree of a String
- Find the Shortest Non-Shared Substring of Two Strings
This is only for discussion and communication. Please don't use this for submission of assignments.