4G curriculum (older)
1333203 · Semester 3 · 4G scheme
Data Structures and Algorithms
Notes and solutions following the Gujarat Technological University (GTU) syllabus for 1333203. Independent material — not issued by the university.
Materials
Complete Book
The whole syllabus, unit by unit, written for the exam.
Complete Book
336 pages
Premium Preview · 65 pages
Problem Solver
Step-by-step solutions to typical problems.
Problem Solver
31 pages
Premium Preview · 3 pages
PYQ Solutions
Past university papers, fully solved.
Solved past papers — detailed answers
208 pages · English + ગુજરાતી
Premium Preview · 31 pagesSolved past papers — short answers
113 pages · English + ગુજરાતી
Premium Preview · 4 pages
Syllabus units
Unit 1: Unit 1
- 1.1 Data Structure Basic Concepts
- 1.2 Types of data structures
- 1.3 Analysis Terms (for the definitions purpose only): Time Complexity, Space Complexity, Asymptotic Notations, Big 'O', Notation, Best case Time Complexity, Average case Time Complexity, Worst case Time Complexity
- 1.4 OOPs Concepts
- 1.5 Class and Object
- 1.6 Constructors
- 1.7 Types of methods: Instance method, Class method, static method
- 1.8 Overview of Abstract data types
- 1.9 Concept of Recursive functions
Unit 2: Unit 2
- 2.1 Overview of Stack
- 2.2 Operations on Stack - Push, Pop
- 2.3 Implementation of Stack using List
- 2.4 Application of Stack - Infix, Prefix and Postfix Forms of Expressions, Evaluations of postfix expression, Recursive Functions (Factorial, Fibonacci series)
- 2.5 Overview of Queue
- 2.6 Operations on Queue - Enqueue and Dequeue
- 2.7 Implementation of Queue using List
- 2.8 Limitation of Single Queue
- 2.9 Concepts of Circular Queue
- 2.10 Application of queue
- 2.11 Differentiate circular queue and simple queue
Unit 3: Unit 3
- 3.1 Overview of Linked list
- 3.2 Types of Linked List
- 3.3 Basic operations on singly linked list: Insertion of a new node in the beginning of the list, at the end of the list, after a given node, before a given node, Deleting the first and last node from a linked list, Count the number of nodes in linked list
- 3.4 Overview of circular linked list
- 3.5 Difference between circular linked list and singly linked list
- 3.6 Overview of doubly linked list
- 3.7 Applications of linked list
Unit 4: Unit 4
- 4.1 Searching an element into List: Linear Search, Binary Search
- 4.2 Sorting Methods: Bubble Sort, Selection Sort, Quick Sort, Insertion Sort, Merge Sort
Unit 5: Unit 5
- 5.1 Binary trees: Complete Binary Tree, Basic Terms: level number, degree, in-degree and out-degree, leaf node
- 5.2 Binary Search Tree: Insertion of a node in binary tree, Deletion of a node in binary tree, Searching a node in binary tree
- 5.3 Tree Traversal: Inorder, Preorder, Postorder
- 5.4 Applications of Binary tree
About this course
Development of application systems and software that use underlying architecture of machines efficiently and effectively requires the ability to use and manipulate various types of Data Structures and other constructs. This being a fundamental ability which is language neutral yet requires use of a language for its implementation. This is a basic course which goes along with other programming courses to develop an integrated ability to efficient software development, hence this course is very important for computer engineers.