Student Hub
Institute of Engineering
Home
Programs
Courses
Colleges
Links
Menu
Home
Programs
Courses
Colleges
Links
Source on GitHub
Home
Courses
ENCT252
Syllabus
ENCT252
Data Structures and Algorithms
Overview
Syllabus
Old questions
Syllabus
Concept of data structure
Introduction: data types, data structures and abstract data types
Introduction to algorithms
The Stack and Queue
Stack operation
Stack application: Evaluation of Infix, Postfix and Prefix expressions
Operations in queue, Enqueue and Dequeue
Linear and circular queue
Priority queue
List
Definition
Static and dynamic list structure
Array implementation of lists
Queues as list
Linked lists
Dynamic implementation
Operations in linked list
Linked stacks and queues
Doubly linked lists and its applications
Recursion
Principle of recursion
TOH and Fibonacci sequence
Applications of recursion
Trees
Concept
Operation in Binary tree
Tree search, insertion/deletions
Tree traversals (pre-order, post-order and in-order)
Height, level and depth of a tree
AVL balanced trees and Balancing algorithm
The Huffman algorithm
B-Tree
Red Black Tree
Sorting
Types of sorting: internal and external
Insertion and selection sort
Exchange sort
Merge and Redix sort
Shell sort
Heap sort as a priority queue
Big ‘O’ notation and Efficiency of sorting
Searching
Search technique
Sequential, Binary and Tree search
General search tree
Hashing
Hash function and hash tables
Collision resolution technique
Growth Functions
Asymptotic notations: notations and their properties
Graphs
Representation and applications
Transitive closure
Warshall’s algorithm
Graphs type
Graph traversal and Spanning forests
Depth First Traversal and Breadth First Traversal
Topological sorting: Depth first, Breadth first topological sorting
Minimum spanning trees, Prim’s, Kruskal’s and Round-Robin algorithms
Shortest-path algorithm
Greedy algorithm
Dijkstra’s Algorithm