Upload
shahzad-jalbani
View
219
Download
0
Embed Size (px)
Citation preview
7/28/2019 Data Structures Outline
1/5
Detailed Course out line ofData Structures and Algorithms(Course Code) Page1of5
SUKKUR INSTITUTE OFBUSINESSADMINISTRATIONSUKKUR
FFaaccuullttyyooffIInnffoorrmmaattiioonnTTeecchhnnoollooggyy
DDaattaaSSttrruuccttuurree&& AAllggoorriitthhmmss((CCSS--222222))
Programs & Clas :BE- Semeste :Spring 201Credit Hours: Class Work:
Lab Work: 1Total: 4
Instructo : Mr Muham ad Asif Ali+923337007123
Pr -requisite Courses:1. Introduction to Programming (CS-201)2. Object Oriented Programming
Pos-requisite Courses:
Evaluation
1. Sessional Assignmetns
Quizes
Class Participation
2
5. Mid-Term E amination 40. Final Examinatio 40
Recommended Books:
Data Structure AndAlgorithms In Java
Robert Lafor ndedition
Reference Books:
1 Data Structures andAlgorithms in C++
Michael T. Goodrich, RobertoTamassia and David Mount
ndEdtion
Introduction toAlgorithms
Thomas H. Cormen,Leiserson, Rivest, and Stein(CLRS).
rdEdition
7/28/2019 Data Structures Outline
2/5
Detailed Course out line ofData Structure & Algorithms (CSC 222) Page2of5
Course Objectives:
This course is an extension of the knowledge of algorithm design and programming gained in programming courses
with continued emphasis on the logic underlying the transition from specification to program. Particular attention is
paid to issues arising in the implementation of larger programs: introduction of data structures and data abstraction;
Introduction of recursion as a design tool. Introduction of algorithmcomplexity analysis. Students will learn about
well-known data structures as listed below in course outline. This course will enable students to:
Understand the working of Abstract Data Types such as Lists, Queues etc.
Understand and program Stack operations (Push, Pop, isEmpty)
Understand and implement Queue Operations (Insert, Remove) using Linked Lists
Describe binary Trees
Understanding the working of slow sorting techniques such as Bubble sort, Insertion Sort, Selection Sort
Understanding the working of recursion and fast sorting techniques such as Merge Sort, Heap Sort.
Expected Outcomes:
1. Implementthese structures as classes in Java;
2. Determinewhich structures are appropriate in various situations;3. Confidentlylearn new structures beyond what are presented in this class.
4. To develop an ability to make critical analysis of any problem and suggest the feasible algorithm if available or
design algorithm from already studied in the course.
Lab Work
Every week lab exercises related to topic covered in that week would be given. Students would be required to
complete the lab work sheets and get that signed after due working and demonstration.
Students Conduct:
1. I expect students to arrive on-time for the class. Classroom participation constitutes 4% of the grade in this class.
You will be expected to have previously read the reading assignment before the class, and to be able to participate in
classroom discussions.
2. Mobile phones and other communication devices must be in switched off or inactive during class hours.
3. Other policies would be conveyed to you in class from time to time. Remember that rules, regulation and policies
of the institute will supersede in any case.
7/28/2019 Data Structures Outline
3/5
Detailed Course out line ofData Structure & Algorithms (CSC 222) Page3of5
Lecture Hours:
Dependant on Time Table
Lab Hours:
Dependant on Time Table
Office Hours:
2 hours right after the regular class sessions and by appointment on rest of other week days
Office:Academic Block-1, Research LabCubicle 08
7/28/2019 Data Structures Outline
4/5
Detailed Course out line ofData Structure & Algorithms (CSC 222) Page4of5
Sessionwise Details:
WeekNo
Topic Text Book Referenc
Introduction to Data Structures
Need of Data Structures
Arrays
List Data Structure with help of arrayso Insert()o Remove()o Find()
Data Structure And Algorithms InJava
Chapter 1,2
2 Array based Stacko Push()o Pop()o Peek()o Print_all()
Array based Queue.
Data Structure And Algorithms InJava
Chapter 4
3 Functions of Queue
Priority Queueo Insert_Priority()
Introduction to Sorting
Data Structure And Algorithms InJava
Chapter 4
Sorting Techniqueso Bubble Sorto Insertion Sorto Selection Sort
Data Structure And Algorithms InJava
Chapter 3
5 Introduction to Algorithms
Micro and Macro issues
Asymptotic Notations
Running Time Analysiso Best Caseo Worst Caseo Average Case
7 Brute Force algorithm for finding 2D maxima
Plane Sweep algorithm for finding 2D maxima
Analysis of Plane Sweep algorithm
Analysis of slow sorting techniques- Linked Lists
o Insertion in listo Deletion in listo Find in list
Abstract Data Typeso Queues (with functions)o Stacks (with functions)
Data Structure And Algorithms InJava
Chapter 5
1 Recursion
MergeSort
Analysis of MergeSorto Worst Case running time analysiso Best Case running time analysis
Data Structure And Algorithms InJava
Chapter 6
7/28/2019 Data Structures Outline
5/5
Detailed Course out line ofData Structure & Algorithms (CSC 222) Page5of5
11 HeapSort
o Worst Case running time analysiso Best Case running time analysis
Data Structure And Algorithms InJava
Chapter 12
12 Optimization problems
Introduction to Greedy Algorithms
13
Money counting problem Huffman Encoding
Data Structure And Algorithms InJava
Chapter 8
1 Binary Search Treeso Insert()o Find()o inOrder()o preorder()o postOrder()
Binary Tree traversal
Data Structure And Algorithms InJava
Chapter 8
15o
Revisio