ITEC 2620M Introduction to Data Structures - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

ITEC 2620M Introduction to Data Structures

Description:

2b Estimation and Complexity analysis non-recursive algorithms ... Efficiency and time-space tradeoffs (linkages between algorithms and data structures) ... – PowerPoint PPT presentation

Number of Views:402
Avg rating:3.0/5.0
Slides: 14
Provided by: mathY
Category:

less

Transcript and Presenter's Notes

Title: ITEC 2620M Introduction to Data Structures


1
ITEC 2620MIntroduction to Data Structures
  • Instructor Prof. Z. Yang
  • Course Website http//people.math.yorku.ca/zyang
    /itec2620m.htm
  • Office Tel 3049

2
Course Objective
  • Course is about concepts
  • what you can program, not how
  • Traditionally, second course in computer science
  • still separates top third of programmers
  • not taught in any known college diploma program
  • Learn and use efficient programming patterns
  • an efficient programmer can often produce
    programs that run five times faster than an
    inefficient programmer

3
Textbooks
  • A Practical Introduction to Data Structures and
    Algorithm Analysis Java Edition by Clifford A.
    Shaffer
  • Lecture notes and announcements will be made
    available at
  • http//people.math.yorku.ca/zyang/itec2620m.htm

4
Marking Scheme
  • Assignment 1 10
  • Midterm 30
  • about 1/3 code, 2/3 concepts
  • Final 60
  • about 1/3 code, 2/3 concepts
  • Late Policy
  • The assignment is optional. Late assignments will
    NOT be accepted. If you miss it, the weight will
    be added to the weight of the TWO PROGRAMMING
    QUESTIONS in the final exam. No medical note is
    required. A make-up midterm will NOT be provided.
    If you miss the midterm, the weight will be
    added to the weight of the final exam.

5
Schedule
  • Lecture Topic
  • 1a Introduction
  • 1b Searching
  • 2a Sorting non-recursive algorithms
  • 2b Estimation and Complexity analysis
    non-recursive algorithms
  • 3a More complexity analysis, Complexity
    estimation non-recursive algorithms
  • 3b Linked lists
  • 4a Doubly linked lists and Binary trees
  • 4b Recursion and Binary tree operations

6
Schedule (Contd)
  • Lecture Topic
  • 5a Sorting recursive algorithms
  • 5b Link list and BST operations
  • 6a Complexity estimation recursive
    algorithms
  • 6b Midterm review
  • 7a MIDTERM
  • 7b Estimation of recursive algorithm, abstract
    data types and Stacks
  • 8a Stack based recursion, Queues, Priority
    Queues
  • 8b Midterm solution discussion

7
Schedule (Contd)
  • Lecture Topic
  • 9a Heaps and Heapsort
  • 9b Graphs and Graph algorithm
  • 10a Hashing
  • 10b 2-3 trees
  • 11a B-trees
  • 11b Btrees
  • 12a Review
  • 12b Review

8
Course Organization
  • Key concepts first
  • searching, sorting, complexity analysis, linked
    structures
  • Concrete to concept
  • searching ? sorting ? complexity analysis
  • binary tree ? recursion

9
Chapter 1
  • Introduction

10
Need for Data Structure
  • Computer
  • Store and retrieve information
  • Perform calculation
  • Costs and benefits
  • A data structure requires a certain amount of
    space for each data item it stores, a certain
    amount of time to perform a single basic
    operation, and a certain amount of programming
    effort.

11
Problem, Algorithms and Programs
  • Problem a task to be performed
  • Algorithm a method or a process followed to
    solve a problem
  • Program an instance, or concrete representation,
    of an algorithm in some programming language.

12
Algorithm Efficiency
  • Design goals
  • Design an algorithm that is easy to understand,
    code, and debug.
  • Design an algorithm that makes efficient use of
    the computers resources.
  • Algorithm analysis

13
Three keys to programming
  • Algorithm Design
  • Sequence, branching, looping flowcharts and
    pseudocode
  • Efficiency and time-space tradeoffs (linkages
    between algorithms and data structures)
  • Data Organization
  • objects and classes
  • data structures
  • Modularization
  • methods (modularization of algorithms)
  • classes and inheritance (modularization of
    data/objects)
Write a Comment
User Comments (0)
About PowerShow.com