IT204 Data Structures & Algorithms
Overview
- Introduction to Data Structures and Abstract Data Types (ADT).
- Analysis of algorithms and the big-O notation.
- Java Review: arrays, classes, interfaces, exceptions, static and dynamic data allocation, simple I/O, inheritance, polymorphism, casting and generics.
- Linear structures: Stacks, Queues, Priority queues, Lists, and Sequences (Array and linked).
- Non-Linear Structures: Trees and Graphs.
- Searching and sorting algorithms.
Objectives
- To explain the concepts of data structures and Abstract Data Types (ADT).
- To Apply methods of algorithm’s analysis to assess different algorithms used in various data structures.
- To be able to implement Abstract Data Types (ADT) using JAVA.
- To be able to describe the different methods of sorting and searching.
- To be able to analyze algorithms used for searching and sorting.
- To Write stack and queue applications using ADTs.
- To be able to write efficient searching and sorting algorithms and compare them in terms of complexity and efficiency.
Topics
click here to view topics covered
-
Linear Structures: Stacks & Queues
-
Linked Structures: Linked Lists
-
Non-Linear Data Structures: General Trees & Binary Trees
-
Quick-Sort & Selection Sort
-
Graphs
-
Analysis of Algorithms:The Big-O Notation & time complexity problems
I taught this course for several semesters from 2009 through 2016 at University of Business and Technology