Lecturer : Nor Bahiah Binti Hj Ahmad
Dayang Norhayati Bte Abang Jawawi
Semester : Semester I 2010/2011
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.
This work,SCJ2013 Data Structure and Algorithm by Nor Bahiah Binti Hj Ahmad and Dayang Norhayati Bte Abang Jawawi is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
- Topic 1
Topic 1Introduction 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
Topic 3Recursive & 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
Topic 4Sorting 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
Topic 5Advanced Sort
- The quick sort operation, implementation, and quick sort analysis.
- The merge sort operation, implementation, and merge sort analysis.
- Topic 6
Topic 6Searching 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
Topic 7Linked List
- 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 8
Topic 8Linked List Continued...
- Topic 9
- Stack concept and its structure, stack operation, and how to implement stack using array and linked list.
- Topic 10
Topic 10Stack Continued...
- Topic 11
- 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
Topic 12TreeTree 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
Topic 13Tree Continued...