Topic outline

• General

 Lecturer : Nor Bahiah Binti Hj Ahmad Dayang Norhayati Bte Abang Jawawi Semester : Semester I 2010/2011

Synopsis :

This course provides an introduction to data structure and algorithms, types of data structures and programming principles. Student will learn abstract data type concepts using class and apply ADT concept in the implementation of data structures. Recursive function, algorithm efficiency, order of magnitude analysis and Big O notation will be discussed. Students will implement operations that can be applied to data structures using various sorting and searching techniques. Further, students will be exposed to linear data structures such as linked lists, stack and queue. Non-linear data structures such as tree and graphs will also be discussed. At the end of the course, students should be able to implement and apply the theory and concepts of data structure in the mini project which is conducted in group.

• Topic 1

Introduction to Data Structure & Algorithm
• Introduction to data structures & algorithm involving problem solving, algorithm concept and data structure concept.
• Topic 2

Abstract Data Type and C++ Class
• Abstract data type concept and review C++ programming.

• Topic 3

Recursive & Algorithm Efficiency
• How to measure algorithm efficiency and the meaning of “big O notation”
• Problem solving using characteristics using recursive, trace the implementation of recursive function, and write recursive function in solving a problem.
• Topic 4

Sorting Algorithms
• The purpose of sorting technique, simple sort techniques in problem solving, divide and conquer sorting technique in problem solving, and how to analyze the efficiency of the sorting technique.
• Selection sort implementation , analysis, issue and algorithm complexity.
• The insertion sort strategy, implementation, insertion sort best case and worse case, insertion sort analysis and algorithm complexity.
• Bubble sort activity, implementation, analysis, improved bubble sort and algorithm complexity.
• Topic 5

• The quick sort operation, implementation, and quick sort analysis.
• The merge sort operation, implementation, and merge sort analysis.
• Topic 6

Searching Techniques
• Searching technique concept and the purpose of searching operation, the implementation of basic searching algorithm for sequential and binary , the efficiency and implementation searching technique in problem solving.
• Topic 7

• The linear list concept using array and linked list, list variation and basic operation, the implementation and operation and program that can implement linked list concept.

• Topic 9

Stack
• Stack concept and its structure, stack operation, and how to implement stack using array and linked list.
• Topic 10

Stack Continued...
• Topic 11

Queue
• The queue concept and applications, queue structure and operations that can be done on queue and how to implement queue using array and linked list : linear array, circular array, linear link and circular list.
• Topic 12

Tree
Tree concept and term related to tree, the characteristics of general tree, binary tree and binary search tree, basic operation of tree, and how to implement and apply tree in problem solving and in programming.
• Topic 13

Tree Continued...