COP 3530: Data Structures, Algorithms, & Applications Instructor: Kristian Linn Damkjer.

Slides:



Advertisements
Similar presentations
Advanced Data Structures Sartaj Sahni
Advertisements

Data Structures & Algorithms Richard Newman Clip Art Sources s s s s
Analysis of Algorithms intro.  What is “goodness”?  How to measure efficiency? ◦ Profiling, Big-Oh  Big-Oh: ◦ Motivation ◦ Informal examples ◦ Informal.
Data Structures & Algorithms What The Course Is About s Data structures is concerned with the representation and manipulation of data. s All programs.
1 Review for Midterm Exam Andreas Klappenecker. 2 Topics Covered Finding Primes in the Digits of Euler's Number Asymptotic Notations: Big Oh, Big Omega,
Chapter 2: Fundamentals of the Analysis of Algorithm Efficiency
Time Complexity s Sorting –Insertion sorting s Time complexity.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
CHAPTER 2 ANALYSIS OF ALGORITHMS Part 1. 2 Big Oh and other notations Introduction Classifying functions by their asymptotic growth Theta, Little oh,
Chapter 2: Algorithm Analysis Big-Oh and Other Notations in Algorithm Analysis Lydia Sinapova, Simpson College Mark Allen Weiss: Data Structures and Algorithm.
CPSC 411 Design and Analysis of Algorithms Andreas Klappenecker.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
CSE 373 Data Structures and Algorithms Lecture 4: Asymptotic Analysis II / Math Review.
Algorithm Design and Analysis Liao Minghong School of Computer Science and Technology of HIT July, 2003.
Instructor Neelima Gupta
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
CHEMISTRY 10123/10125 Spring 2007 Instructor: Professor Tracy Hanna Phone: Office: SWR 418
CSE 373: Data Structures and Algorithms Lecture 4: Math Review/Asymptotic Analysis II 1.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Program Performance & Asymptotic Notations CSE, POSTECH.
CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a lgorithms.
For Wednesday Read Weiss chapter 3, sections 1-5. This should be largely review. If you’re struggling with the C++ aspects, you may refer to Savitch, chapter.
Data Structures, Algorithms, & Applications
Discrete Structures Lecture 11: Algorithms Miss, Yanyan,Ji United International College Thanks to Professor Michael Hvidsten.
Introduction to Algorithms Jiafen Liu Sept
Lecture 2 Computational Complexity
COMP 232 Intro Lecture. Introduction to Course Me – Dr. John Sigle Purpose/goals of the course Purpose/goals Prerequisites - COMP 132 (Java skill & Eclipse)
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
CSC 171 – FALL 2001 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Asymptotic Notation (O, Ω, )
MS 101: Algorithms Instructor Neelima Gupta
Fundamentals of Algorithms MCS - 2 Lecture # 8. Growth of Functions.
© 2004 Pearson Addison-Wesley. All rights reserved October 19, 2007 Sorting ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor:
Data Structures Engr. Umbreen sabir What The Course Is About s Data structures is concerned with the representation and manipulation of data. s All programs.
Chapter 5 Algorithms (2) Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Chapter 2 Computational Complexity. Computational Complexity Compares growth of two functions Independent of constant multipliers and lower-order effects.
Asymptotic Performance. Review: Asymptotic Performance Asymptotic performance: How does algorithm behave as the problem size gets very large? Running.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
Data Structures and Algorithms Dr. Manuel E. Bermudez Alter ego to Dr. Sartaj Sahni.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
1 Discrete Structures – CNS2300 Text Discrete Mathematics and Its Applications Kenneth H. Rosen (5 th Edition) Chapter 2 The Fundamentals: Algorithms,
Data Structures, Algorithms, & Applications Instructor: Babak Alipour Slides and book: Sartaj Sahni.
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
Data Structures and Algorithms in Java AlaaEddin 2012.
Big O David Kauchak cs302 Spring Administrative Assignment 1: how’d it go? Assignment 2: out soon… Lab code.
1 Chapter 2 Algorithm Analysis All sections. 2 Complexity Analysis Measures efficiency (time and memory) of algorithms and programs –Can be used for the.
Algorithms Lecture #05 Uzair Ishtiaq. Asymptotic Notation.
1 Chapter 2 Algorithm Analysis Reading: Chapter 2.
Data Structures Dai Tian-Shyr
Complexity of Algorithms Fundamental Data Structures and Algorithms Ananda Guna January 13, 2005.
CSCI 6212 Design and Analysis of Algorithms Which algorithm is better ? Dr. Juman Byun The George Washington University Please drop this course if you.
Data Structures, Algorithms, & Applications
Mathematical Foundations (Growth Functions) Neelima Gupta Department of Computer Science University of Delhi people.du.ac.in/~ngupta.
Data Structures, Algorithms, & Applications
Chapter 2 Algorithm Analysis
Big-O notation.
DATA STRUCTURES Introduction: Basic Concepts and Notations
O-notation (upper bound)
Asymptotic Notations Algorithms Lecture 9.
Data Structures, Algorithms, & Applications
Sorting October 20, 2006 ComS 207: Programming I (in Java)
BIG-OH AND OTHER NOTATIONS IN ALGORITHM ANALYSIS
Fundamentals of Algorithms MCS - 2 Lecture # 9
CS 201 Fundamental Structures of Computer Science
Advanced Analysis of Algorithms
Asst. Dr.Surasak Mungsing
Data Structures, Algorithms, & Applications
Sorting Rearrange a[0], a[1], …, a[n-1] into ascending order.
G.PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY
Advanced Analysis of Algorithms
Presentation transcript:

COP 3530: Data Structures, Algorithms, & Applications Instructor: Kristian Linn Damkjer

Course Overview Syllabus Review

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.

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.

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 Θ and Ω.  f(n) = Θ(g(n)) : Big Theta notation  f(n) is asymptotically equivalent to g(n)  f(n) = Ω(g(n)) : Big Omega notation  f(n) is bounded below by g(n)

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

Web Sites   Announcements  Syllabus  Handouts  Exercise Solutions  Assignments  TAs and Discussions   Text  Source Codes  Past Exams  Past Exam Solutions

Assignments  Assignment guidelines  Submission procedures  Do Assignment 0 by Friday!

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

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.

Textbook  It’s not rocket science (really)  It’s 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?  We’ll cover applications throughout the entire semester along with general theory and other concepts.

Grades  Assignments: 25%  Five Graded Projects  No drops permitted  Each worth 5%  Exams: 75%  Three Exams  No drops permitted  Each worth 25%

Grades  Historic Cutoffs  A≥ 83%  B+≥ 75%  B≥ 70%  C+≥ 65%  C≥ 60%  D+≥ 55%  D≥ 50%

Classic Problem Sorting

Classic Problem: Sorting  Given a list of comparable elements:  a 0, a 1, …,a n−1  Rearrange the list into a specific order  Typically increasing or decreasing order.

Classic Problem: Sorting  Given a list of comparable elements:  a 0, a 1, …,a n−1  Rearrange the list into a specific order  Typically increasing or decreasing order.  Objective:  a 0 ≤ a 1 ≤ … ≤ a n−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

Sorting Methods  Insertion  Bubble  Selection  Count  Shaker  Shell  Heap  Merge  Quick

Sorting Methods  Insertion  Bubble  Selection  Count  Shaker  Shell  Heap  Merge  Quick

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

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

Inserting an Element // insert t into a[0:i-1] int j; for (j = i – 1; j >= 0 && t = 0 && t < a[j]; j--) a[j + 1] = a[j]; a[j + 1] = a[j]; a[j + 1] = t;

Next Time in COP 3530…  Read Chapters 1–4 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.1–5.2  Data Structure: Linear Lists