CSCI 4041: Algorithms and Data Structures - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

CSCI 4041: Algorithms and Data Structures

Description:

CSCI 4041: Algorithms and Data Structures. Instructor: ... Ted Kaminski. Email: edinski_at_cs.umn.edu. Office hours: TBD. 2. Welcome to CSCI 4041. Text Book: ... – PowerPoint PPT presentation

Number of Views:379
Avg rating:3.0/5.0
Slides: 11
Provided by: cse169
Category:

less

Transcript and Presenter's Notes

Title: CSCI 4041: Algorithms and Data Structures


1
CSCI 4041 Algorithms and Data Structures
  • Instructor
  • Mohamed Mokbel (mokbel_at_cs.umn.edu)

2
Welcome to CSCI 4041
  • Your Host Mohamed F. Mokbel
  • Office EE/CS 4-207
  • Web www.cs.umn.edu/mokbel
  • Email mokbel_at_cs.umn.edu
  • (Include CSCI4041 on the Subject line)
  • Office Hours Tue, Thu 1230 PM 130 PM (or
    by appointment)
  • TA Daa-hey Woo
  • Email dwoo_at_cs.umn.edu
  • Office hours Tue, Thu, 1000 AM 1100 AM
  • Ted Kaminski
  • Email edinski_at_cs.umn.edu
  • Office hours TBD

3
Welcome to CSCI 4041
  • Text Book
  • Introduction to Algorithms (Second Edition)
  • ISBN 0-07-013151-1
  • Thomas Cormen, Charles Leisrson, Ronald Rivest,
    Clifford Stein
  • Book website www.introductiontoalgorithms.com
    Chapters 1, 2, 3, 4, 6, 7, 8, 10, 11, 12, 15,
    16, 18, 19, 21, 22, 23, 24, 35
  • Class web page
  • http//www-users.itlabs.umn.edu/classes/Fall-2008/
    csci4041/
  • Tentative schedule is in the course web site
  • Stay tuned for announcements, labs, homeworks,
    and grades

4
Grading Policy
  • Final Exam (25) Inclusive
  • Two Midterm Exams (25) Second midterm will
    cover only the topics presented after the first
    midterm.
  • Homeworks and Programming assignments (5 to 7)
    50.
  • No late submission is accepted. Only justified
    serious circumstances (e.g., medical reasons) can
    be accommodated.
  • Collaboration in homeworks Discussion is
    allowed, yet, please write your own solution
  • Collaboration in Exams Not allowed.

5
Topics To be Covered
  • PART I Foundations (Chapters 1 4)
  • Why we are studying algorithms.
  • How do we measure the efficiency of an algorithm
  • Getting the sense of a good/bad algorithm
  • PART II Sorting (Chapters 6 8)
  • Why we need sorting.
  • Why do we need to study various algorithms for
    sorting
  • Which algorithm to use at which scenario

6
Topics To be Covered
  • PART III Data Structures (Chapters 10 12)
  • Stacks, queues, linked list, hash tables, tree
    structures
  • Main functionalities Insertion, deletion,
    updating, and searching
  • Which data structure to use at which scenario
  • PART IV Advanced Design and Analysis Technique
    (Chapters 16, 17)
  • Greedy Algorithms
  • Dynamic Programming

7
Topics To be Covered
  • PART V Advanced Data Structures (Chapters 18,
    19, 21)
  • B-trees, Heaps, Disjoint Sets
  • Main functionalities Insertion, deletion,
    updating, and searching
  • Which data structure to use at which scenario
  • PART VI Graph Algorithms (Chapters 22-25)
  • Problems that can be represented as graphs
  • Searching/traversing a graph
  • Shortest path algorithms
  • Minimum spanning trees

8
Why we need to study Algorithms
  • Performance
  • Performance is a crucial part of software design
  • What other factors that could be more important
    than performance?
  • Programming Skills

9
Sorting Algorithms
  • Sorting is one of the classical problems where
    there are dozens of algorithms to solve
  • Input A set of numbers a1, a2, .an
  • Output A permutation of the input set a1, a2,
    .an where a1 lt a2lt .lt an
  • Example Sort the sequence 5, 2, 4, 6, 1, 3
  • What affects the performance of the sorting
    algorithm?

10
Algorithm Efficiency
  • Insertion Sort
  • Average analysis O(N2) ? c1N2
  • Merge Sort
  • Average analysis O(N Log2 N) ? c2 N Log2 N
  • Average analysis of an algorithm is the dominant
    factor regardless of the constants and computer
    power.
  • Example Sort 106 keys with Computer A (109
    instructions/sec, insertion sort with c12) Vs
    Computer B (107 instructions/sec, merge sort with
    c250)
Write a Comment
User Comments (0)
About PowerShow.com