COP 3530: Computer Science III - PowerPoint PPT Presentation

About This Presentation
Title:

COP 3530: Computer Science III

Description:

Skip lists, self-organizing lists, etc. Advanced tree structures. ... Determinism: the results of each step are unique and determined only by the ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 9
Provided by: marklle
Learn more at: http://www.cs.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: COP 3530: Computer Science III


1
COP 3530 Computer Science III Summer 2005
Introduction
Instructor Dr. Mark Llewellyn
markl_at_cs.ucf.edu CSB 242, (407)823-2790 Cours
e Webpage http//www.cs.ucf.edu/courses/cop3530/
sum2005
School of Computer Science University of Central
Florida
2
What You Should Already Know
  • Asymptotic analysis
  • Big-Oh (upper bound)
  • Big Omega (lower bound)
  • Big Theta (asymptotically equal)
  • Be able to program in Java.
  • Randomization and Probability Distributions.
  • Basic data structures and their implementations
  • Stacks
  • Queues
  • Lists
  • Trees
  • Graphs

3
What You Will Learn in CSIII
  • You will be exposed to a wide variety of advanced
    data structures that are based upon the classic
    data structures with which you are already
    familiar.
  • Advanced list structures.
  • Skip lists, self-organizing lists, etc.
  • Advanced tree structures.
  • 2-4 trees, red-black trees, splay trees, B-trees,
    etc.
  • Advanced graph applications and algorithms.
  • Network flow analysis, circuits, paths, etc.
  • You will deal with the design and analysis of
    algorithms in a more detailed manner than you
    experienced in CSII.
  • You will be introduced to parallel execution and
    parallel algorithms.

4
Syllabus
  • Link to course webpage and syllabus
  • http//www.cs.ucf.edu/courses/cop3530/sum2005

5
What is an Algorithm?
  • What is an algorithm?
  • A step-by-step procedure for performing some task
    in a finite amount of time.
  • Input algorithms typically receive input.
  • Output algorithms typically produce output.
  • Precision the steps are precisely stated.
  • Determinism the results of each step are unique
    and determined only by the input and the results
    of previous steps.
  • Finiteness the algorithm terminates after a
    finite number of steps.
  • Correctness the algorithm produces the correct
    results.
  • Generality algorithms typically apply to a set
    of possible inputs.

6
What is a Good Algorithm?
  • How do we determine what constitutes a good
    algorithm?
  • Time how long does it take the algorithm to
    solve the problem?
  • Space how much memory is required by the
    algorithm to solve the problem?
  • How are algorithms and data structures related?
  • What other factors influence algorithm design and
    execution?
  • Problem size
  • Computing machine
  • Quality of the implementation
  • Others

7
Methodologies for Analyzing Algorithms
  • How do we analyze an algorithms performance?
  • Experimentally if the algorithm has been
    implemented, just execute it and see how long it
    takes or how much memory it requires.
  • Are the test data sets representative of the
    actual data?
  • Difficult to compare the efficiency of two
    algorithms?
  • Requires implementing the algorithm.
  • Analytically a function f(n) is associated with
    each algorithm that characterizes the running
    time of the algorithm in terms of the input size
    n.
  • does not require implementation of the algorithm.
  • allows easy comparison of algorithms independent
    of hardware and software environments.
  • is independent of the input.

8
Next Class
  • Read Chapters 1 and 2 in the textbook.
  • Next topic
Write a Comment
User Comments (0)
About PowerShow.com