Data Structure and File Processing
download syllabus
خطة المساق  
Course Description
Course Aims and objectives
Course outlines
Text book and references
Prerequisite
Grading policy
Instructors and office hours
Syllabus
Time table
Lecture Notes
Attached Files
Previous Exams
Course Description
Course Aims And Objective
By the completion of this course, the student should be able to design the data structure and choose the proper algorithm in order to implement a given task in an effective manner. Furthermore, the student should be able to use the C++ language to implement the algorithms presented in this course using the standard data structures. File processing is covered to let the student be able to deal with the most common operations related to file input and output.;
Course Outline
Fundamental data structures
o Class and array review. o Stacks by arrays. o Queues by arrays. o Pointers review. o Linked lists. o Stacks by Linked List. o Queues by Linked List. o Doubly Linked List. o Heaps. o Trees.
Data structures search and sort algorithms
o Sorting: � Selection, Insertion, Bubble, Quick and Heap sorting algorithm � Select a suitable sorting algorithm and algorithms time and space complexities. o Searching: � Linear, Linear with high probability, Binary search algorithms � Hashing
File Processing
* Write to a file. * Read from a file. * Text file and Binary file. * Using write statment. * Using read statment.
Text book and references
 
The Main Book
Title Data Structures and Program Design in C++
Author(s)
Edition 1999, International Edition
Publisher Prenice Hall
 
 
The References Book
Title C++ How to Program
Author(s)
Edition Third Edition or Fourth Edition
Publisher Prentice Hall
 
Grading Policy
 
Activity Weight
الامتحان الاول 20
الامتحان الثاني 20
المختبر 10
الامتحان النهائي 50
Instructors And Office Hours
 
The Instructors of the Course
Miscellaneous
 
Time Table
Subject Hours
Introduction and Review 9
Introduction to Stacks ? Section 2.1.1Lists and Arrays ? Section 2.1.2 Stacks ? Section 2.1.3 First Example: Reversing a list ? Section 2.1.5 The Standard Template Library ? 2.2 Implementation of Stacks ? Section 2.2.1 Specification of Methods for Stacks. ? Section 2.2.2 The Class Specification ? Section 2.2.3 Pushing, Popping, and other Methods 9
Queues ? Section 3.1 Definitions ? Section 3.1.1 Queue Operations ? Section 3.2 Implementations of Queues ? Section 3.3 Circular Implementation of Queues in C 9
Linked Stacks and Queues ? Section 4.1 Pointers and Linked Structures ? Section 4.1.1 Introduction and Survey ? Section 4.1.2 Pointers and Dynamic Memory in C ? Section 4.1.3 The Basics of Linked Structures ? Section 4.2 Linked Stacks 9
? Section 4.3 Linked Stacks with Safeguards ? Section 4.3.1 The Destructor ? Section 4.3.2 Overloading the Assignment operator ? Section 4.3.3 The Copy Constructor ? Section 4.3.4 The Modified Linked ? Stack Specification. 9
First Exam ? Section 4.4 Linked Queues ? Section 4.4.1 Basic Declarations ? Section 4.4.2 Extended Linked Queues 9
Review the exam with students Recursion ? Section 5.1 Introduction to Recursion ? Section 5.1.1 Stack Frames for Subprograms ? Section 5.1.2 Tree of Subprogram Calls ? Section 5.1.3 Factorials: A Recursive Definition ? Section 5.1.4 Divide and Conquer: The Towers of Hanoi ? Section 5.2 Principles of Recursion ? Section 5.2.1 Designing Recursive Algorithms ? Section 5.2.2 How Recursion Works ? Section 5.2.3 Tail Recursion ? Section 5.2.4 When not to use Recursion ? Section 5.4 Tree Structured Programs 18
Lists and Strings ? Section 6.1 List Definition ? Section 6.1.1 Method Specification ? Section 6.2 Implementation of Lists ? Section 6.2.1 Class Templates ? Section 6.2.2 Contiguous Implementation ? Section 6.2.3 Simply Linked Implementation ? Section 6.2.4 Variation: Keeping the Current Position ? Section 6.2.5 Doubly Linked Lists ? Section 6.2.6 Comparison of Implementations 18
Review the exam with students Second Exam Searching ? Section 7.1 searching (Introduction) ? Section 7.2 Sequential Search ? Section 7.3 Binary Search ? Section 7.3.1 Ordered Lists ? Section 7.3.2 Algorithm Development ? Section 7.3.3 The Forgetful Version ? Section 7.3.4 Recognizing Equality ? Hashing 18
Binary Trees Section 10.1 Binary Trees Section 10.1.1 Definitions Section 10.1.2 Traversal of Binary Trees Section 10.1.3 Linked Implementation of Binary Trees Section 10.2 Binary Search Trees Section 10.2.1 Ordered Lists and Implementations Section 10.2.2 Tree Search Section 10.2.3 Insertion into a Binary Search Tree Section 10.2.4 Tree Sort Section 10.2.5 Removal from a Binary Search Tree 9
Section 10.3 Building a Binary Search Tree Section 10.3.1 Getting Started Section 10.3.2 Declarations and the main Function Section 10.3.3 Inserting a Node Section 10.3.4 Finishing the Task Section 10.3.5 Evaluation Section 10.3.6 Random Search Trees and Optimality 18
Final exam Revision 9
Lecture Notes
 
Lecture Notes
Lecture 10.ppt View
Lecture1.ppt View
Lecture2.ppt View
sequentialSearch.ppt View
Lecture 11.ppt View
Lecture7&8.ppt View
Lecture3.ppt View
Lecture5&6.ppt View
Lecture
12
hashing.ppt View
Lecture 09.ppt View
Object Oriented Programming Using C-part1.doc View
Lecture4.ppt View
Input
output
files.doc View
Lectures.doc View
Lecture 12bst.ppt View
Attachment Files
Previous Exams
 
Previous Exams
DS(Final EXam).doc View
DS
second exam.doc View
DS
Second
exam.doc View
DS-First Exam.doc View
FS
DSFP
FE
2005.doc View
First Exam.doc View
DS(Final EXam)1.doc View
DS
Final exam 1 - 2005.doc View
Data
Raed
final1.doc View
Data
Raed
final.doc View
DS
SE
FS
2005.doc View