Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Syllabus for Design and Analysis of Algorithms. | CS 324, Study notes of Computer Science

Material Type: Notes; Class: Design and Analysis of Algorithms.; Subject: COMPUTER SCIENCE; University: Ball State University; Term: Fall 2007;

Typology: Study notes

2009/2010

Uploaded on 03/28/2010

koofers-user-5kx-1
koofers-user-5kx-1 🇺🇸

1

(1)

10 documents

1 / 9

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
CS 324
Analysis and Design of Algorithms
Fall Semester 2007
Chris Lüer
clueer@bsu.edu
324-1-2
Administrative Things
•Roster
Syllabus
–Topics
Prerequisites
121 Programming
124 Discrete Math
Math 217 Linear Algebra
Textbook
Mathematical class…
–Dont be afraid
Be interactive, work with me and the class
Come to my office, email me
Work consistently
Read the textbook, take your time with homework
If you have taken this class before, come see me
pf3
pf4
pf5
pf8
pf9

Partial preview of the text

Download Syllabus for Design and Analysis of Algorithms. | CS 324 and more Study notes Computer Science in PDF only on Docsity!

CS 324

Analysis and Design of Algorithms

Fall Semester 2007

Chris Lüer

clueer@bsu.edu

324-1-

Administrative Things

  • Roster
  • Syllabus
    • Topics
    • Prerequisites
      • 121 Programming
      • 124 Discrete Math
      • Math 217 Linear Algebra
    • Textbook
  • Mathematical class…
    • Don’t be afraid
    • Be interactive, work with me and the class
    • Come to my office, email me
    • Work consistently
    • Read the textbook, take your time with homework
    • If you have taken this class before, come see me

324-1-

Algorithms

  • What is an algorithm?
  • Why do we care about it?
  • How do we write it down?
  • What can we find out about it?
  • How do we invent one?

Title: Applesauce Oatmeal Cookies Categories: Cookies Yield: 36 servings

1 3/4 c Flour 1/2 ts Salt 1 ts Cinnamon 1/2 ts Nutmeg 1/2 ts Powdered cloves 1 c Applesauce 1 ts Baking soda 1/2 c Shortening 1 c White sugar 1 Egg 1 c Seedless raisins 1 c Rolled oats; quick cooking

Mix shortening with sugar and egg until creamy. Combine applesauce with soda. Mix well add rest of ingredients and mix well. Drop by teaspoon 2" apart on greased cookie sheet. Bake 350~ 20 minutes or until golden brown.

324-1-

What are Algorithms Good for?

  • Searching the Web
    • String matching
    • Hashing
  • Genome databases
    • Pattern matching
    • Searching
  • Protein folding
  • Internet routing (TCP/IP)
  • Cryptography
    • Factorization
    • Cryptographic hashes
    • Secure Web sites, passwords
  • Production Scheduling
  • Shortest distance on a road map
  • Ray tracing

324-1-

Topics in this Class

  • O-Notation
  • Greedy Algorithms
  • Divide-and-Conquer
  • Dynamic Programming
  • Graphs
  • Probabilistic Algorithms
  • String Matching
  • Computational Complexity

324-1-

Example: Multiplication

  • Multiply 981 with 1234
  • Algorithm?
    • Steps?
    • Precise?
    • Input / output?
    • General?
    • Repeatable?
    • Fast?
    • Needs space?
  • Is there another way to do it?
    • A better way???

324-1-

Multiplication à la Russe

_________

324-1-

Multiplication the 3rd

  • Divide-and-Conquer multiplication
  • 9 * 12

shift 0 1 2 0.. 0 2 1 0. 9 1 1 9. 9 2 0 18


108

324-1-

Multiplication – Summary

  • Three very different ways
    • elementary school way
    • à la Russe
    • divide-and-conquer
    • more exist…
  • Advantages? Disadvantages?
    • speed?
    • space?
    • simplicity?
    • basic operations?
  • Recursion versus looping?

324-1-

Math Review

  • set
    • empty set
    • subset
    • union
    • intersection
    • pair
    • Cartesian product
  • relation
    • examples: <, =, divides
  • function
    • domain
    • image
  • quantifiers
  • logarithm
    • base 10
    • base 2

324-1-

Logarithm Rules (Review)

  • ax^ = y x = loga y (definition of logarithm)
  • log (^) a (xy) = log (^) a x + logay
  • log (^) a 1 = 0
  • log (^) a (1/x) = - loga x
  • log (^) a x = logbx * (1/logba)
  • derivative: (loga x)’ = 1/ (x ln a)
  • lg x := log 2 x