Instructions

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 19

Scroll down to view the document on your mobile browser.
Module: Divide and Conquer (Week 4 out of 5)Course: Algorithmic Toolbox (Course 1 out of 6)Specialization: Data Structures and AlgorithmsProgramming Assignment 3:Divide-and-ConquerRevision: October 23, 2016IntroductionIn this programming assignment, you will be practicing implementing divide-and-conquer solutions.Learning OutcomesUpon completing this programming assignment you will be able to:1. Apply the divide-and-conquer technique to solve various computational problems efficiently. This willusually require you to design an algorithm that solves a problem by splitting it into several disjointsubproblems, solving them recursively, and then combining their results to get an answer for the initialproblem.2. Design and implement efficient algorithms for the following computational problems:(a) searching a sorted data for a key;(b) finding a majority element in a data;(c) improving the quick sort algorithm;(d) checking how close a data is to being sorted;(e) organizing a lottery;(f) finding the closest pair of points.Passing Criteria: 2 out of 6Passing this programming assignment requires passing at least 2 out of 6 code problems from this assignment.In turn, passing a code problem requires implementing a solution that passes all the tests for this problemin the grader and does so under the time and memory limits specified in the problem statement.1

Navigation menu