Syllabus
UNIT-I: Basic Concepts, Introduction to data structures,
Arrays
Basic Concepts: Pointers and dynamic memory allocation,
Algorithm-Definition and characteristics, Algorithm Analysis-
Space Complexity, Time Complexity, Asymptotic Notation
Introduction to Data structures: Definition, Types of Data
structure, Abstract Data Types (ADT), Difference between
Abstract Data Types, Data Types, and Data Structures.
Arrays: Concept of Arrays, Single dimensional array, Two
dimensional array, Operations on arrays with Algorithms
(searching, traversing, inserting, deleting)
UNIT-II: Linked List, Implementation of Linked List ADT
Linked List: Concept of Linked Lists, Representation of
linked lists in Memory, Comparison between Linked List and
Array, Types of Linked Lists - Singly Linked list, Doubly
Linked list, Circularly Singly Linked list, Circularly Doubly
Linked list.
Implementation of Linked List ADT: Creating a List,
Traversing a linked list, Searching linked list, Insertion and
deletion into linked list (At first Node, Specified Position, Last
node), Application of linked lists
UNIT-III: Stacks, Recursion vs Iteration, Queues
Stacks: Introduction to stack ADT, Representation of stacks
with array and Linked List, Implementation of stacks,
Application of stacks - Polish Notations - Converting Infix to
Post Fix Notation - Evaluation of Post Fix Notation - Tower of
Hanoi,
Recursion: Concept and Comparison between recursion and
Iteration
Queues: Introduction to Queue ADT, Representation of
Queues with array and Linked List, Implementation of Queues,
Application of Queues Types of Queues- Circular Queues, De-
queues, Priority Queue
UNIT-IV: Searching, Sorting
Searching: Linear or Sequential Search, Binary Search and
Indexed Sequential Search
Sorting: Selection Sort, Bubble Sort, Insertion Sort, Quick Sort
and Merge Sort
UNIT-V: Binary Trees, Graphs
Binary Trees: Concept of Non- Linear Data Structures,
Introduction Binary Trees, Types of Trees, Basic Definition of
Binary Trees, Properties of Binary Trees, Representation of
Binary Trees, Operations on a Binary Search Tree, Binary Tree
Traversal, Applications of Binary Tree.
Graphs: Introduction to Graphs, Terms Associated with
Graphs, Sequential Representation of Graphs, Linked
Representation of Graphs, Traversal of Graphs (DFS, BFS),
Application of Graphs.
UNIT-I
ESSAY QUESTIONS -10M
1. What are pointers in C? Explain. (or) Write a brief note on Pointers in C.
*2. What is dynamic memory allocation in C? Explain. (or) Write about
Dynamic Memory Allocation.
3. What is an Algorithm? Explain the important features of an Algorithm. (or)
What is an algorithm? Explain its characteristics.
*4. What do you mean by Algorithm Analysis? Write different types of
Analysis.
*5. Define Algorithm and explain how to measure algorithm complexity. (or)
How to find complexity of an algorithm? What is relation between time and
complexity of an Algorithm.
*6. Write about Asymptotic notation.
*7. What is the efficiency of algorithm? How to represent it using Big O
notation?
*8. Define Data Structure. What are the characteristics of a data structure?
9. What is Data Structure? What are the advantages and disadvantages of Data
Structure.
*10. Explain the terms - data types and data structures
11. Explain the classification of Data Structures. (or) Explain about Primitive
and Non-primitive Data Structures.
12. Explain different primitive data types.
13. Explain about Linear and non - Linear data structures.
*14. What is Abstract Data Type (ADT)? Explain (or) Write about Abstract Data
Types (ADT).
15. Write the Difference between Abstract Data Types, Data Types and Data
Structures.
16. What is an array? Explain giving examples.
*17. Explain various operations on Arrays (Algorithms)
*18. What are the various types of arrays? (Or) Explain one dimensional and
two-dimensional arrays.
19. Write algorithms for searching in an array.
20. Write algorithm for traversing the array. Write c implementation also.
21. Write algorithm for inserting an element in an array? Give C
implementation.
22. Write algorithm for deleting an element from array.
23. Write about Multidimensional array.
SHORT ANSWER QUESTIONS – 4M
*1. What are the different types of data structures ? Explain each of them with
suitable example.
2. What are linear and non-linear data structures ?
3. What are the various operations that can be performed on different Data
Structures?
4. What is Data Structure ?
*5. Explain the following terms.
(i) Data types;
(ii) Abstract data type(ADT);
(iii) Data structures.
6. What are the benefits of learning data structures?
7. Pointers.
*8. Dynamic Memory Allocation.
*9. Comparison between Static and Dynamic Memory Allocation.
10. Linear Vs Non-linear Data Structures.
11. List out the area in which data structures are applied extensively?
12. Data structure Operations
13. Representation of Data Structures.
*14. Abstract Data Types (ADT).
15. Data Types.
*16. Big O notation.
17. Arrays.
18. Advantages and disadvantages of Arrays.
19. Terminology of Arrays.
UNIT-II
ESSAY QUESTIONS – 10M
1. Define Linked Lists. Write its advantages and disadvantages and applications.
2. Write about Representation of linked lists in Memory.
*3. Write the differences between Linked List and Array.
*4. What is linked list? Explain different types of linked lists. (or)
Explain the following giving example for each.
(a) Singly linked list,
(b) Doubly linked list,
(c) Circular linked list.
5. Define List. Write the Basic Linked List Operations.
*6. What are Single Linked lists? Explain the operations of Single Linked lists.
*7. What are Doubly Linked lists? Explain the operations of Doubly Linked
lists. Mention its advantages.
*8. Explain about circular linked list with example. (or) What is a circular single
linked list? Explain.
9. Write an algorithm for inserting an element into a linked list.
10. Write an algorithm to delete an element from a linked list.
11. How a linked list can be implemented using arrays?
SHORT ANSWER QUESTIONS – 4M
*1. Compare linked lists and arrays
*2. Mention some applications of linked lists.
*3. Explain about various types of linked lists.
4. Write an algorithm to insert and delete a node from doubly linked list.
5. What is Linked List?
6. Basic terminology of Linked Lists.
7. Why do we need linked lists?
*8. Advantages and Disadvantages of Array over linked list.
9. Circular Linked List.
*10. Difference between Single Linked List and Doubly Linked List
UNIT-III
ESSAY QUESTIONS – 10M
*1. Explain Stack as an Abstract Data Type (ADT) and its operations. What are
the features of stack?
*2. Briefly explain stacks and its operations. (Or) What is Stack? Explain
various operations of Stack. (or) Write algorithms for stack operations.
3. What is Stack? How to Representation of stacks through array?
4. Explain Linked List implementation of Stacks. (or) Write about
representation of Stacks through linked lists.
5. What are the applications of stacks?
*6. Define Polish Notations. Write the various types of Notations.
*7. Explain the procedure of conversion of infix expression to postfix
expression with example. (or) Write algorithms to convert infix expression to
postfix expression using stack.
*8. Write about evaluation of Postfix Expressions. (or) Write an algorithm to
evaluate postfix expression using stack.
*9. Write about Tower of Hanoi. (or) What is towers of Hanoi problem? Give
the C implementation using stacks.
*10. Describe the Concept and Comparison between recursion and Iteration.
11. Explain the relation between the stacks and recursion.
12. What is recursion? Explain various types of recursion.
*13. Explain Queue ADT.
*14. What is Queue? Explain about different types of Queues in detail.
15. Explain the implementation algorithms for queue using arrays.
16. How can you implement Queue operations using linked list.
17. What is Circular Queue? Write algorithms for insertion and deletion
operations.
19. Explain Double ended queue and its operations. (or) Write algorithms to
implement insert and delete operations on Double Ended Queue.
20. What is Priority Queue? Explain with example. (or) What is a priority
queue? Explain the algorithms to implement it.
SHORT ANSWER QUESTIONS – 4M
1. What is Stack and its importance
2. Write the applications of stacks.
*3. Write a procedure for PUSH and POP operations.
4. Write ADT of Stack and Queue.
*5. What are infix and postfix notations? Explain with suitable examples.
*6. What is polish notation? Explain infix, prefix and postfix notations.
7. Explain the differences between iteration and recursion.
8. What is recurrence? Explain.
9. Explain how stack is helpful in recursive function calls.
*10. Differentiate between stacks and queues with examples.
11. Queues.
12. Applications of Queues.
*13. State the Algorithm to insertion and delete an element from queue.
14. Circular Queues.
15. Double Ended Queues / De-queues.
16. Applications of Priority Queues.
UNIT-IV
ESSAY QUESTIONS – 10M
1. Explain about searching and sorting.
2. What is searching? Explain different types of searching techniques.
*3. Explain about Linear or Sequential Search Algorithm with example.
*4. What is Binary Search? Write an algorithm for Binary Search. (or) What is
binary search? Explain its mechanism and algorithm.
5. What is Indexed Sequential Search? Write an algorithm for Indexed Sequential
Search.
6. What is sorting? Write different types of Sorting Techniques.
7. Explain Selection Sort technique with example. (Algorithm and Example)
*8. How do Bubble Sort works? Explain with example. (Algorithm and Example)
9. Explain Insertion Sort technique with an example. (Algorithm and Example)
*10. Explain Quick Sort algorithm with example.
*11. Explain Merge Sort with algorithm. (or) Explain the merge sort technique
with suitable example.
12. Write a C program for bubble sort.
13. Write a C program for insertion sort.
*14. Write a C program for merge sort
15. Write a C program for selection sort.
16. Write a C program for quick sort.
*17. Write a C program for binary search.
18. Write a C program for linear (sequential) search.
SHORT ANSWER QUESTIONS – 4M
1. Define Searching.
*2. Linear or Sequential Search.
*3. Explain binary search giving an example.
4. Indexed Sequential Search.
5. Distinguish between Binary search and indexed sequential search.
*6. Linear Search vs Binary Search.
7. What are the advantages and disadvantages of sequential (Linear) search.
8. Write a program for Linear or Sequential Search.
9. Define sorting. What are the advantages and disadvantages of merge sort.
10. Write algorithm for selection sort and give an example.
*11. Write algorithm for bubble sort (or) Write a logic for Bubble Sort.
12. Write algorithm for insertion sort.
19. Features of Sorting.
22. Quick Sort.
*23. Merge Sort advantages and disadvantages.
UNIT-V
ESSAY QUESTIONS – 10M
1. Write about Non-Linear Data Structures.
2. What are non linear data structures? Explain the differences in between linear
and non linear data structures.
3. What is Tree? Explain different types of Binary Trees. (Or) Discuss about
Binary Tree as a non-linear data structure.
4. What is a tree? Define the following.
(a) Node (b) Degree (c) Leaf or terminal (d) Siblings (e) Ancestors
(f) Level (g) Height or Depth (h) Forest.
5. What is Binary Tree? Write the terminology of Binary Tree. Explain
properties of binary trees.
6. Explain the following terms with regard to binary tree:
(a) Root (b) Parent (c) Child (d) Leaf (e) Subtree (f) Visiting (g) Traversing
(h) Levels (i) Keys.
7. Define Binary Tree. How it is represented in memory? Explain with an
example.
*8. Explain the following: (a) Strictly binary tree
(b) Fullbinary tree (c) Complete binary tree.
9. List the properties of binary search tree. Write an algorithm to search an
element from a binary search tree.
10. What is BST? Explain different operations of BST with an example. (or)
What is a binary search tree? Explain giving an example. What are the various
operations that can be performed on binary search tree ?
11. Define Binary Search Tree? Show how to insert and delete an element from
binary search tree.
*12. Write about Tree traversals techniques. (Or) Explain the tree traversals
algorithms with examples.
*13. Write an algorithm for preorder traversal of a tree.
*14. Write an algorithm for inorder traversal of a tree.
*15. Write an algorithm for postorder traversal of a tree.
16. What are applications of trees and binary trees ?
17. Define Graph. What are the terms Associated with Graphs. (or)
What is graph? Define the following terms in relation to graphs.
(a) Adjacency, (b) Paths, (c) Connected Graphs, (d) Directed Graph,
(e) Weighted Graph.
18. What is Graph? Explain various representation of Graphs.
19. Explain different Graph traversal algorithms with example.
*20. Explain Depth First Search (DFS) procedure
*21. Explain Breadth First Search (BFS) procedure
22. Write the differences between DFS and BFS.
SHORT ANSWER QUESTIONS – 4M
15. Trees.
16. Types of Trees.
17. Properties of Binary Trees.
1. Write about searching and inserting in Binary search tree.
2. Explain about tree traversals.
3. Find the inorder, preorder, postorder for the below tree.
(Tree diagram)
4. Write a short note on extended binary tree?
*5. What is a complete binary tree ?
6. Write the expression tree for (a + b)* (c + d*e).
7. What are various applications of binary and binary search trees ?
21. Differentiate between General Tree and Binary Tree.
22. Spanning Tree.
*8. What are the common graph applications
*9. Explain the Graph ADT
23. What is a Graph? Explain the properties of Graphs.
24. Explain different types of Graphs.
25. What are the differences between Sequential represent-tation graph and
linked representation of graph?
26. Explain Applications of Graphs.
28. Linked representation of a Graph.
30. Directed Graph and Undirected Graph.
31. Difference between Tree and Graph.