COP 3530: Data Structures, Algorithms, - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

COP 3530: Data Structures, Algorithms,

Description:

f(n) = O(g(n)): Big Omega notation. f(n) is bounded below by g(n) Prerequisites ... Five Graded Projects. No drops permitted. Each worth 5% Exams: 75% Three ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 23
Provided by: root83
Category:

less

Transcript and Presenter's Notes

Title: COP 3530: Data Structures, Algorithms,


1
COP 3530 Data Structures, Algorithms,
Applications
  • Instructor Kristian Linn Damkjer

2
Course Overview
  • Syllabus Review

3
What The Course Is About
  • Applications are developed to solve real-world
    problems.
  • All programs manipulate data.
  • Programs must represent data in some way.
  • Data structures focuses on data representation
    and manipulation.
  • Data manipulation requires algorithms.
  • Algorithms are the fundamental elements in
    application development.

4
Prerequisites
  • Java
  • CIS 3020 or CIS 3022 CIS 3023
  • You should be proficient and self-sufficient
  • You must be capable of writing programs without
    the aid of a compiler.

5
Prerequisites
  • Asymptotic Complexity
  • COT 3100
  • We will use primarily O notation.
  • f(n) O(g(n)) Big Oh notation
  • f(n) is bounded above by g(n)
  • You should also be comfortable with T and O.
  • f(n) T(g(n)) Big Theta notation
  • f(n) is asymptotically equivalent to g(n)
  • f(n) O(g(n)) Big Omega notation
  • f(n) is bounded below by g(n)

6
Prerequisites
  • Strong Mathematical Reasoning
  • Any of the various flavors of Calculus 2.
  • At the very least you need to understand
  • Sequences
  • Series
  • Summations
  • Integration
  • Differentiation
  • Matrices
  • Vectors

7
Web Sites
  • http//www.cise.ufl.edu/kdamkjer/courses/su05/cop
    3530/
  • Announcements
  • Syllabus
  • Handouts
  • Exercise Solutions
  • Assignments
  • TAs and Discussions
  • http//www.cise.ufl.edu/sahni/cop3530/
  • Text
  • Source Codes
  • Past Exams
  • Past Exam Solutions

8
Assignments
  • Assignment guidelines
  • Submission procedures
  • Do Assignment 0 by Friday!

9
Source Codes
  • Read download and use instructions.
  • Read download and use instructions.
  • Must have Java 1.2 or higher
  • Hopefully you have 1.4.2 or 1.5.0 (5.0)
  • Review the source code documentation
  • ProgramIndex.html
  • AllNames.html
  • Other HTML files produced by Javadoc

10
Discussion Sections
  • Go to either one
  • TAs will answer your questions on lectures and
    assignments.
  • TAs will cover exercises from the text.
  • Web site lists topics and exercises for each
    discussion section.

11
Textbook
  • Its not rocket science (really)
  • Its computer science
  • There are three sections to the textbook
  • Background (Chapters 1-4)
  • Data Structures (Chapters 5-17)
  • Algorithms (Chapters 18-22)
  • What about Applications?
  • Well cover applications throughout the entire
    semester along with general theory and other
    concepts.

12
Grades
  • Assignments 25
  • Five Graded Projects
  • No drops permitted
  • Each worth 5
  • Exams 75
  • Three Exams
  • No drops permitted
  • Each worth 25

13
Grades
  • Historic Cutoffs
  • A 83
  • B 75
  • B 70
  • C 65
  • C 60
  • D 55
  • D 50

14
Classic Problem
  • Sorting

15
Classic Problem Sorting
  • Given a list of comparable elements
  • a0, a1, ,an-1
  • Rearrange the list into a specific order
  • Typically increasing or decreasing order.

16
Classic Problem Sorting
  • Given a list of comparable elements
  • a0, a1, ,an-1
  • Rearrange the list into a specific order
  • Typically increasing or decreasing order.
  • Objective
  • a0 a1 an-1
  • Examples
  • 8, 6, 9, 4, 3 ? 3, 4, 6, 8, 9
  • 8, 3, 6, 2, 8, 10, 2 ? 2, 2, 3, 6, 8, 8, 10

17
Sorting Methods
  • Insertion
  • Bubble
  • Selection
  • Count
  • Shaker
  • Shell
  • Heap
  • Merge
  • Quick

18
Sorting Methods
  • Insertion
  • Bubble
  • Selection
  • Count
  • Shaker
  • Shell
  • Heap
  • Merge
  • Quick

19
Inserting an Element
  • Given a sorted list (sequence), insert a new
    element
  • Given 3, 6, 9, 14
  • Insert 5
  • Result 3, 5, 6, 9, 14

20
Inserting an Element
  • Insert 5 into the list 3, 6, 9, 14
  • Compare new element (5) and last element in list
    (14)
  • Shift 14 right to get 3, 6, 9, , 14
  • Shift 9 right to get 3, 6, , 9, 14
  • Shift 6 right to get 3, , 6, 9, 14
  • Insert 5 to get 3, 5, 6, 9, 14

21
Inserting an Element
  • // insert t into a0i-1
  • int j
  • for (j i 1 j gt 0 t lt aj j--)
  • aj 1 aj
  • aj 1 t

22
Next Time in COP 3530
  • Read Chapters 14 for review of topics covered
    today
  • Performance Analysis and Measurement
  • We will start the Data Structures portion of this
    course
  • Start thinking about different ways to represent
    data
  • Read Chapter 5.15.2
  • Data Structure Linear Lists
Write a Comment
User Comments (0)
About PowerShow.com