Escolar Documentos
Profissional Documentos
Cultura Documentos
Lecture : 01
Date : 5th August,
2008
Session Outline and Learning Outcomes
The learning outcomes of the session are
to:
Understand the contents and requirements of
the course
Understand the fundamental concepts
behind computer programs
Define Data Structures and their purpose
along with their associated operations
Understand and practically apply the
Performance Measures of Algorithms through
Time Complexity Analysis
Life Lines for Course Execution
Instructor: Kiran Ijaz
Office: N -111B
email: kiran.ijaz@nu.edu.pk
Online course content & coordination:
Course Folder:
\margala\DS_C&D_Fall08
Group Home Page:
Will be announced in next calss
Course Yahoo Group Email:
Will be announced in next calss
Data Structures+Algorithms=Programs
Data structures let the input and output be
represented in a way that can be handled
efficiently and effectively.
Array
Linked List
Queue
Tree
Stack
Data Structures: Formal Definition
Data may be organized in different ways
Design Issue:
select and design appropriate data types.
(This is the real essence of OOP.)
Data Structure
Operations
Traversing
Accessing each record exactly once so that certain items in the
record may be processed
Searching
Finding the location of the record with the given key value or finding
the location of all records which satisfy one or more conditions
Insertion
Adding a new record to the structure
Deletion
Removing a record from the structure
Sorting
Arrange the records in a logical order
Merging
Combining records from two or more files or data structures into one
Program Efficiency & Complexity
Analysis of Algorithms
Steps Involved In Writing A Computer
Program
Problem formulation & specification
Design of solution
Implementation
Testing
Documentation
N = 10 => 53 steps
N = 100 => 503 steps
N = 1,000=> 5003 steps
N = 1,000,000 => 5,000,003 steps