1 / 8

Analysis of Algorithms and Data Structures Course Overview

Analysis of Algorithms and Data Structures Course Overview. CSE 680 Prof. Roger Crawfis. Course Vitals. Grading Policy, assignments, schedule, etc. are on the web page and will be updated throughout the quarter . Do not print them out and refer to them. Course Web site:

yonah
Download Presentation

Analysis of Algorithms and Data Structures Course Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Analysis of Algorithms and Data StructuresCourse Overview CSE 680 Prof. Roger Crawfis

  2. Course Vitals • Grading Policy, assignments, schedule, etc. are on the web page and will be updated throughout the quarter. • Do not print them out and refer to them. • Course Web site: http://www.cse.ohio-state.edu/~crawfis/cse680/ • Your Instructor • Your Grader

  3. Goals of the Course • What is this course about? • Algorithms • Design - How do you create an algorithm? • Analysis – How efficient is it? • Correctness – How sure are you that it works for all input? • Data Structures • Role in efficient algorithms • Data structures for common problems

  4. Algorithm • Algorithm: any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output. A sequence of computational steps that transform the input into the output. Algorithm Input Output Typically, an algorithm must also halt.

  5. Computational Problem • We will look at several recurringproblems in a vast set of application domains: networking, AI, data mining, graphics, manufacturing, etc. • Sample problems: • Sort a sequence of numbers. • Given a set of points in the plane, find the closest two. • Given a set of locations, find a route that visits each location once. • Given a sorted set of numbers, determine whether a given number exists in the set. • Given a pattern for a dress, determine the planar layout of the individual pieces on a fabric.

  6. Some Definitions • Problem Instance consists of the input (satisfying whatever constraints are imposed in the problem statement) needed to compute a solution to the problem. • Correct Algorithm for every input instance it halts with the correct output. A correct algorithm solves the given computational problem. Definitions from the book and: http://highered.mcgraw-hill.com/sites/0070131511/student_view0/chapter1/glossary.html

  7. Group Activity • Gather in groups of 4. • Come up with two fundamentally different algorithms to sort a deck of cards (15 minutes). Do not try to be fancy or recall algorithms from earlier classes, just ask yourself, what would I do. • Taking a card from the bottom versus the top is not fundamentally different. • See which group can come up with the most unique algorithm to sort a deck of cards.

  8. Group Activity • Share each sorting algorithm • Is it an algorithm? • How many unique algorithms? • How do you verify whether an algorithm is correct? • How do we pick one and claim it is the best!

More Related