BCA203T : Data Structures
Introduction and Overview: Definition, Elementary data organization, Data Structures, data structures operations, Abstract data types, algorithms complexity, time-space tradeoff. Preliminaries: Mathematical notations and functions, Algorithmic notations, control structures, Complexity of algorithms, asymptotic notations for complexity of algorithms. String Processing: Definition, Storing Stings, String as ADT, String operations, word/text processing, Pattern Matching algorithms.
Arrays: Definition, Linear arrays, arrays as ADT, Representation of Linear Arrays in Memory, Traversing Linear arrays, Inserting and deleting, Sorting: Bubble sort, Insertion sort, Selection sort, Searching: Linear Search, Binary search, Multidimensional arrays,
Linked list: Definition, Representation of Singly linked list in memory, Traversing a Singly linked list, Searching a Singly linked list, Memory allocation, Garbage collection, Insertion into a singly linked list, Deletion from a singly liked list; Doubly liked list, Header liked list, Circular linked list.
Stacks – Definition, Array representation of stacks, Linked representation of stacks, Stack as ADT, Arithmetic Expressions: Polish Notation, Application of Stacks, Recursion, Towers of Hanoi, Implementation of recursive procedures by stack. Queues – Definition, Array representation of queue, Linked list representation of queues Types of queue: Simple queue, Circular queue, Double ended queue, Priority queue, Operations on Queues, Applications of queues.
Graphs: Graph theory terminology, Sequential representation of Graphs: Adjacency matrix, traversing a Graph. Tree – Definitions, Binary trees, Representing binary trees in memory, Traversing Binary Trees, Binary Search Trees, Searching, Inserting and Deleting in a Binary Search Tree.