[Instructions] [Search] [Current] [Syllabus] [Links] [Handouts] [Outlines] [Labs] [More Labs] [Assignments] [Quizzes] [Exams] [Examples] [Book] [Tutorial] [API]
Assigned: Monday, 4 October 1999
Due: 10:00 a.m., Monday, 11 October 1999
Summary: In this assignment, you will further ground your study of recursion and Big-O analysis.
Turning it in: Send me a printed copy of anthing you do.
Collaboration: You should work on this individually. You may discuss ideas with fellow students and request help debugging, but each of you should write up your own solutions.
Do problems 24, 27, 28, and 29 of Chapter 5.
Determine the running time (Big-O notation) of each of the following algorithms. Note that you may have to come up with an appropriate metric for the size of each problem.
Suppose you have N locations connected by sidewalks. To find the shortest path from location A to location B ... List all the paths from A to B Find the distance of each path. Take the smallest of all those values.
To find the smallest value in a collection ...
Set smallestSoFar to one value in the collection
While unchecked values remain in the collectoin
Pick one
If that value is smaller than guess then
Set smallestSoFar to that value
Return smallestSoFar
To find the smallest value in a collection ... If the collection has only one element Return that element Otherwise Split the collection into two equal halves Find the smallest value in each half Return the smaller of those two values
To find the smallest difference between any two
different numbers in a collection ...
Set estimate to ``infinity''
For each value, v, in the collection
For each value, u, not equal to v
If |u-v| < estimate then
Set estimate to |u-v|
Return estimate
It's probably not worth your time, but you can obtain extra credit by implementing any of the algorithms in part 2 of the assignment.
[Instructions] [Search] [Current] [Syllabus] [Links] [Handouts] [Outlines] [Labs] [More Labs] [Assignments] [Quizzes] [Exams] [Examples] [Book] [Tutorial] [API]
Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.
This page may be found at http://www.math.grin.edu/~rebelsky/Courses/CS152/99F/Assignments/assign.03.html
Source text last modified Mon Oct 4 09:22:49 1999.
This page generated on Mon Oct 4 09:24:08 1999 by Siteweaver. Validate this page's HTML.
Contact our webmaster at rebelsky@grinnell.edu