62 views

Uploaded by Kalaivani Manoharan

data structure notes

- Data Structure and Algorithm by Y. Narahari
- Building Trading Systems Using Automatic Code Generation
- bscit202 or 204
- Untitled
- New Microsoft Word Document
- Amazon Interview Questions 2009
- dsaviva
- DMEE Format
- Ch5 cs 302
- Hierarchical Model of Trust in Contexts
- b.sc(Internet and Mobile Technologies)
- leetss-code questions
- Data Structures 1
- Data Structures and Algorithm Analysis 1005
- Data Structures
- vol.1.1.2.july.09
- cs2004
- León
- Set-Associative Cache Simulation Using Generalized
- JosineiMdice

You are on page 1of 33

Nor Bahiah Hj Ahmad & Dayang Norhayati A. Jawawi

Objectives:

By the end of the class, students are expected to understand the following: problem solving introduction algorithm concept data structure concept

Software engineering

Provides techniques to facilitate the development of computer program

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

Flowchart, pseudo code, language etc Factors for measuring good algorithm Running time Total memory usage

Data Structure

A way of storing and organizing data in a computer so that it can be used efficiently Choosing the right data structure will allow the most efficient algorithm to be used A well-designed data structure : allows a variety of critical operations to be performed anable to use few resources, both execution time and memory space, as possible

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

Integral

Boolean bool Enumeration enum Character char Integer short, int, long Floating point float, double

Data Types

Unsorted Linked List

Network Array Sorted Linked List

Graph

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

Unsorted linked list Sorted linked list

Binary Tree Graph

Queue

First-In-First-Out (FIFO) data structure the first element added to the queue will be the first one to be removed (post office, bank etc)

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

Linked list consists of:

a sequence of nodes, data fields one or two links or references pointing to the next and/or previous nodes

12

11

Sorted linked list

Data stored in ascending or descending order with no duplicates Insertion at front, middle or rear of the list Deletion will not affect the ascending / descending order of the list

A linked list with no ordering

Tree

A data structure based on a tree structure A tree structure is a way of representing the hierarchical nature of a structure in a graphical form a binary tree is a tree data structure in which each node has at most two children Used for searching big amount of data

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.

- Data Structure and Algorithm by Y. NarahariUploaded byRanveer Singh Gehlot
- Building Trading Systems Using Automatic Code GenerationUploaded byMichael R. Bryant
- bscit202 or 204Uploaded byapi-3782519
- UntitledUploaded byapi-127299018
- New Microsoft Word DocumentUploaded byPradeep Raja
- Amazon Interview Questions 2009Uploaded byShivendra Kumar
- dsavivaUploaded byMukesh Sharma
- DMEE FormatUploaded byKunalArunPawar
- Ch5 cs 302Uploaded byAbdur Rasyid
- Hierarchical Model of Trust in ContextsUploaded byVeronika Nosová
- b.sc(Internet and Mobile Technologies)Uploaded byUnify SoftTech
- leetss-code questionsUploaded byShawnJerryNemo
- Data Structures 1Uploaded bySauarbh Kumar
- Data Structures and Algorithm Analysis 1005Uploaded byBhagirat Das
- Data StructuresUploaded byMaharshi Shukla
- vol.1.1.2.july.09Uploaded byDeepika Chandrawanshi
- cs2004Uploaded byhimani23
- LeónUploaded byAbdulrahman Al-Molijy
- Set-Associative Cache Simulation Using GeneralizedUploaded byDíazGozue
- JosineiMdiceUploaded byPolipio Saturnio
- PrpUploaded byFacundo Nunes
- ALGORITHMS_AND_FLOWCHARTS-1.pdfUploaded byMariaBufnea
- Knapsack BacktrackUploaded byVlad Alexandru
- SolitaireUploaded byChampumaharaj
- Chap-BKT-BBUploaded byfirefly9x
- Linked ListsUploaded byRuthwik H Param
- MacieloUploaded bygabriel
- Data structutes using ‘C’Uploaded bySumitavo Nag
- Writing HintsUploaded byp4patelkeyur
- CS205 Data StructuresUploaded bysdvsdv

- Chapter 4 PDAUploaded byKalaivani Manoharan
- French Pop Quiz 1Uploaded byKalaivani Manoharan
- Chap04 Linked List (1)Uploaded byKalaivani Manoharan
- Chap 2 Abstract Data Types (1)Uploaded byKalaivani Manoharan
- Os Lab Project ReportUploaded byKalaivani Manoharan
- DASAR NEGARAUploaded byTuan Norihan
- ViewUploaded byKalaivani Manoharan
- What is a Smart HomeUploaded byKalaivani Manoharan
- What is a Smart HomeUploaded byKalaivani Manoharan

- GraphsUploaded byDavid Robertson
- Sparse Matrix SolutionUploaded byRonaldo Anticona Guillen
- Issn 1937 - 1055 Volume 4, 2009Uploaded byAnonymous 0U9j6BLllB
- Graphs: Shortest paths, Job Scheduling Problem, Huffman codeUploaded byVikalp Panseriya
- Prisoner EscapeUploaded byAchin Prakash
- Pseudoflow New Life for Lerchs-GrossmannUploaded byEfrain Mosqueyra
- 01.VertexCoverUploaded byTavishi Singh
- Zero forcing setsUploaded bydragance106
- Vlsi Final Notes Unit4Uploaded byRohitParjapat
- Syllabus Data StructureUploaded byapi-3747330
- e1071Uploaded byLuis Campos Airola
- Ergun Akleman- Topological Mesh ModelingUploaded byJemnasee
- Cs502 Collection of Old PapersUploaded bycs619finalproject.com
- Peter Hamburger and Attila Sali- 11 -Doilies with Vertex Sets Of Sizes 275,286,...,462Uploaded bySprite090
- Structural Complexity of Minerals Information StorUploaded byLuis Martins
- tikz2Uploaded bylupillorivera9981
- Logic StatementsUploaded byraviskumar2005
- DocumentUploaded bypravin deshatwar
- Graph Theory 0.3Uploaded byserdaryesilmurat
- Graphs 1Uploaded bySreekesh Ravindran
- Telling Compelling Stories With NumbersUploaded byAndré Lopes
- TSPUploaded bySuvankar Khan
- Aspects of Post-Tonal Canon SystemsUploaded bycomposicion1
- Advanced Functions 12 AnswersUploaded byKnoll711
- Graph Based Representation and Analysis of Text Document, A Survey of TechniquesUploaded byTheo
- An Introduction to Recursion, Part 1 – TopcoderUploaded byRaJu SinGh
- Peter Hamburger- Doodles and Doilies, Non-Simple Symmetric Venn DiagramsUploaded bySprite090
- lesson plan c finalUploaded byapi-241054379
- Brief introduction to algorithmsUploaded byJaney24
- TikZ Cheat SheetUploaded byteromortuga