Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

IMSE 351 Data Structures and Algorithm Analysis, Lecture notes of Data Structures and Algorithms

Description Survey of object-oriented design, programming and algorithm analysis techniques; survey of data structures such as lists, stacks, queues, heaps, ...

Typology: Lecture notes

2022/2023

Uploaded on 05/11/2023

ebby
ebby 🇺🇸

4.2

(17)

243 documents

1 / 1

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Winter Semester 2009
IMSE 351
Data Structures and Algorithm Analysis
Description Survey of object-oriented design, programming and algorithm analysis techniques;
survey of data structures such as lists, stacks, queues, heaps, trees, and graphs. A “neutral”
programming language will be used, with occasional reference to C++.
Objectives:
1. Learn how to analyze the efficiency and running speed of algorithms.
2. Understand concepts pertaining to and usage of various data structures.
3. Study a wide variety of algorithms analytically.
Required text:
Cormen, Thomas H., Charles E. Leiserson, and Ronald L. Rivest. 2003. Introduction to
Algorithms, 2
nd
edition. Cambridge, Massachusetts: The MIT Press.
Recommended references:
Dale, Nell. 2003. C++ Plus Data Structures, 3
rd
ed. Sudbury, Massachusetts: Jones and
Bartlett Publishers.
Deitel, H. M., and P. J. Deitel. 2005. C++ How to Program, 5
th
ed. Englewood Cliffs, New
Jersey: Prentice-Hall, Incorporated.
Friedman, Frank L., and Elliot B. Koffman. 2003. Problem Solving, Abstraction, and Design
Using C++, 4
th
edition. Reading, Massachusetts: Addison Wesley Longman, Incorporated.
Course Outline:
1. Chapter 1 – Overview – the importance of efficient algorithms.
2. Chapter 2 – Getting started with basic analysis of insertion sort and selection sort.
3. Chapter 3 – Growth of functions.
4. Chapters 6-8 – Sorting: heapsort, Shell sort, bubble sort, quicksort, sorting in linear time.
5. Chapters 10-12 – Basic data structures: stacks, queues, linked lists, hash tables, binary search
trees (omit 11.5 and 12.4).
6. Chapters 22-23 – Definitions pertinent to graphs, basic graph algorithms and their practical
importance.
7. If time permits, a peek into chapter 34.
Grading Administration:
Assignments 30%
Midterm examination (9 March) 30%
Final examination (27 April) 35%
Participation 5%
Statement from Office of the Provost on academic ethics. Specifically, this class runs under the
honor code governing all College of Engineering classes.

Partial preview of the text

Download IMSE 351 Data Structures and Algorithm Analysis and more Lecture notes Data Structures and Algorithms in PDF only on Docsity!

Winter Semester 2009

IMSE 351

Data Structures and Algorithm Analysis

Description Survey of object-oriented design, programming and algorithm analysis techniques; survey of data structures such as lists, stacks, queues, heaps, trees, and graphs. A “neutral” programming language will be used, with occasional reference to C++.

Objectives:

  1. Learn how to analyze the efficiency and running speed of algorithms.
  2. Understand concepts pertaining to and usage of various data structures.
  3. Study a wide variety of algorithms analytically.

Required text: Cormen, Thomas H., Charles E. Leiserson, and Ronald L. Rivest. 2003. Introduction to Algorithms, 2 nd^ editi on. Cambridge, Massachusetts: The MIT Press.

Recommended references: Dale, Nell. 2003. C++ Plus Data Structures, 3 rd^ ed_._ Sudbury, Massachusetts: Jones and Bartlett Publishers. Deitel, H. M., and P. J. Deitel. 2005. C++ How to Program , 5th^ ed. Englewood Cliffs, New Jersey: Prentice-Hall, Incorporated. Friedman, Frank L., and Elliot B. Koffman. 2003. Problem Solving, Abstraction, and Design Using C++ , 4th^ edition. Reading, Massachusetts: Addison Wesley Longman, Incorporated.

Course Outline:

  1. Chapter 1 – Overview – the importance of efficient algorithms.
  2. Chapter 2 – Getting started with basic analysis of insertion sort and selection sort.
  3. Chapter 3 – Growth of functions.
  4. Chapters 6-8 – Sorting: heapsort, Shell sort, bubble sort, quicksort, sorting in linear time.
  5. Chapters 10-12 – Basic data structures: stacks, queues, linked lists, hash tables, binary search trees (omit 11.5 and 12.4).
  6. Chapters 22-23 – Definitions pertinent to graphs, basic graph algorithms and their practical importance.
  7. If time permits, a peek into chapter 34.

Grading Administration: Assignments 30% Midterm examination (9 March) 30% Final examination (27 April) 35% Participation 5%

Statement from Office of the Provost on academic ethics. Specifically, this class runs under the honor code governing all College of Engineering classes.