Chapter 2 Introduction To Data Structure
Chapter 2 Introduction To Data Structure
Objectives:
By the end of the class, students are expected to understand the following: problem solving introduction algorithm concept data structure concept
Problem solving
Taking the statement of a problem and develop a computer program to solve problems. The entire process requires to pass many phases, from understanding the problem, design solution and implement the solution.
Problem Solving
A solution to a problem is computer program written in programming language which consist of modules.
Type of Modules:
A single, stand-alone function A method of a class A class Several functions or classes working closely together Other blocks of code
Problem Solving
A good solution consists of : Modules that
organize data collection to facilitate operations must store, move, and alter data use algorithms to communicate with one another
Modularity
Advantage of module:
Constructing programs small/large modules Debugging programs task of debugging large programis reduced to small modular program. Reading programs- easier to understand compared to large program Modifying programs reduce large modification by concentrating on modules Eliminating redundant code by calling the modules will avoid the same code to be written multiple times
Modularity Example
book title year author publisher price getData() print() checkPrice() checkPublisher()
produce
12/8/2011
Algorithm
Module implements algorithms Algorithm: a step-by-step recipe for performing a task within a finite period of time Algorithms often operate on a collection of data, which is stored in a structured way in the computer memory (Data Structure) Algorithms: Problem solving using logic
Algorithm
Well-defined instructions in algorithm includes: 1. when given an initial state, (INPUT) 2. proceed through a well-defined series of successive states, (PROCESS) 3. eventually terminating in an end-state (OUTPUT)
Algorithm
Algorithm
3 types of algorithm basic control structure
Sequential Selection Repeatition (Looping)
Algorithm
Basic algorithm characteristics Finite solution Clear instructions Has input to start the execution Has output as the result of the execution Operate effectively
Data Structure
Operations to the Data Structure
Traversing- access and process every data in data structure at least once Searching search for a location of data Insertion insert item in the list of data Deletion - delete item from a set of data Sorting sort data in certain order Merging merge multiple group of data
Data Types
2 data types
1. Basic data types and 2. structured data types
Data Types
Unsorted Linked List
Network Array Sorted Linked List
Storage Structure
Structure (struct)
Queue
State Structure
Stack
Data Types
Structured Data Types
Array can contain multiple data with the same types Struct can contain multiple data with different type
typedef struct { int age; char *name; enum {male, female} gender; } Person;
Data Types
Linked Data Structure
Linear Data Structure with restriction
Queue & Stack
Queue Application
Stack
Based on the principle of Last In First Out (LIFO) Stacks are used extensively at every level of a modern computer system (compiler etc.)
In Out Top
Stack Application
12
11
Tree
Root Children of node 20 vertex
leaf
Sibling
Graph
A graph consists of a set of vertices, and a set of edges, such that each edge is a connection between a pair of vertices. Some applications require visiting every vertex in the graph exactly once.
Graph
The application may require that vertices be visited in some special order based on graph topology. Examples: Artificial Intelligence Search (Breadth-first search, depth first search) Shortest paths problems Web sites containing a link to and from other websites. Graph that represent courses and the pre-requisites.
Graph Example
Directed
Undirected graph
Network
Network is a directed graph. Can be used to represent a route. Example :
A route for an airline. A route for delivery vehicles.
Network Example
Weighted network that represents a route for a delivery truck. The route shows all cities in Johor for the truck to deliver items and the time taken for a journey from one city to another.
Conclusion
In this class you have learned about: Problem solving is the entire process of taking the statement of a problem and develop a computer program to solve problems. Algorithm is step-by-step recipe for performing a task operate on a collection of data Data structure is a way of storing and organizing data in a computer, it allows efficient algorithm to be used The knowledge given is to ensure that you are able to provide good solution to problem solving
References
Frank M. Carano, Janet J Prichard. Data Abstraction and problem solving with C++ Walls and Mirrors. 5th edition (2007). Addision Wesley. Nor Bahiah et al. Struktur data & algoritma menggunakan C++. Penerbit UTM. 2005.