0% found this document useful (0 votes)
27 views16 pages

CS23231-Data Structure - 2mark (Unit I - III)

The document provides an overview of data structures, focusing on linear structures such as linked lists, stacks, and queues, as well as non-linear structures like trees. It defines key concepts, operations, advantages, and disadvantages of these data structures, alongside their applications and comparisons. Additionally, it covers specific types of trees, including binary trees and AVL trees, and discusses traversal techniques and properties of these structures.

Uploaded by

bellaversa17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views16 pages

CS23231-Data Structure - 2mark (Unit I - III)

The document provides an overview of data structures, focusing on linear structures such as linked lists, stacks, and queues, as well as non-linear structures like trees. It defines key concepts, operations, advantages, and disadvantages of these data structures, alongside their applications and comparisons. Additionally, it covers specific types of trees, including binary trees and AVL trees, and discusses traversal techniques and properties of these structures.

Uploaded by

bellaversa17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

CS 23231- DATA STRUCTURES

2 Marks with Answer


UNIT I – LINEAR STRUCTURES -LIST

1. Define Data Structures


Data Structures is defined as the way of organizing all data items that consider not
only the elements stored but also stores the relationship between the elements.

2. Define Linked Lists


Linked list consists of a series of structures, which are not necessarily adjacent in memory.
Each structure contains the element and a pointer to a structure containing its successor. We call
this theNext Pointer. The last cell’sNext pointer points to NULL.

3. State the different types of linked lists


The different types of linked list include singly linked list, doubly linked list and
circular linked list.

4. List the basic operations carried out in a linked list


The basic operations carried out in a linked list include:
• Creation of a list
• Insertion of a node
• Deletion of a node
• Modification of a node
• Traversal of the list

5. List out the advantages of using a linked list


• It is not necessary to specify the number of elements in a linked list during
its declaration

1
• Linked list can grow and shrink in size depending upon the insertion and deletion that
occurs in the list
• Insertions and deletions at any place in a list can be handled easily and efficiently
• A linked list does not waste any memory space

6. List out the disadvantages of using a linked list


• Searching a particular element in a list is difficult and time consuming
• A linked list will use more storage space than an array to store the same
number of elements

7. List out the applications of a linked list


Some of the important applications of linked lists are manipulation of
polynomials, sparse matrices, stacks and queues.

8. State the difference between arrays and linked lists


Arrays Linked Lists
Size of an array is fixed Size of a list is variable
Itis necessary to specify the It is not necessary to specify the
number of elements during number of elements during
declaration. declaration
Insertions and deletions are Insertions and deletions are carried
somewhat difficult out easily
It occupies less memory than a It occupies more memory
linked list for the same number of
elements

9. Define an Abstract Data Type (ADT)


An abstract data type is a set of operations. ADTs are mathematical abstractions; nowhere
in an ADT’s definition is there any mention of how the set of operations is implemented. Objects
such as lists, sets and graphs, along with their operations can be viewed as abstract data types.

10. What are the advantages of modularity?


• It is much easier to debug small routines than large routines

2
• It is easier for several people to work on a modular program simultaneously
• A well-written modular program places certain dependencies in only
one routine, making changes easier

11. What are the objectives of studying data structures?


• To identify and create useful mathematical entities and operations to determine what
classes of problems can be solved using these entities and operations
• To determine the representation of these abstract entities and to implement
the abstract operations on these concrete representation

3
UNIT II - LINEAR DATA STRUCTURES – STACKS, QUEUES

1. What are the types of queues?


• Linear Queues – The queue has two ends, the front end and the rear end. The rear end is
where we insert elements and front end is where we delete elements. We can traverse in a
linear queue in only one direction ie) from front to rear.
• Circular Queues – Another form of linear queue in which the last position is connected
to the first position of the list. The circular queue is similar to linear queue has two ends,
the front end and the rear end. The rear end is where we insert elements and front end is
where we delete elements. We can traverse in a circular queue in only one direction ie)
from front to rear.
• Double-Ended-Queue – Another form of queue in which insertions
and deletions are made at both the front and rear ends of the queue.

2. List the applications of stacks


• Towers of Hanoi
• Reversing a string
• Balanced parenthesis
• Recursion using stack
• Evaluation of arithmetic expressions

3.. List the applications of queues


• Jobs submitted to printer
• Real life line
• Calls to large companies
• Access to limited resources in Universities
• Accessing files from file server

4. Define a stack
Stack is an ordered collection of elements in which insertions and deletions are
restricted to one end. The end from which elements are added and/or removed is referred

4
to as top of the stack. Stacks are also referred as piles, push-down lists and last-in-first-
out (LIFO) lists.

5. List out the basic operations that can be performed on a stack


The basic operations that can be performed on a stack are
• Push operation
• Pop operation
• Peek operation
• Empty check
• Fully occupied check
6. State the different ways of representing expressions
The different ways of representing expressions are
• Infix Notation
• Prefix Notation
• Postfix Notation

7. State the rules to be followed during infix to postfix conversions


• Fully parenthesize the expression starting from left to right. During
parenthesizing, the operators having higher precedence are first
parenthesized
• Move the operators one by one to their right, such that each operator
replaces their corresponding right parenthesis
• The part of the expression, which has been converted into postfix is to
be treated as single operand
8. Mention the advantages of representing stacks using linked lists than arrays
• It is not necessary to specify the number of elements to be stored in a stack during its
declaration, since memory is allocated dynamically at run time when an element is added
to the stack
• Insertions and deletions can be handled easily and efficiently
• Linked list representation of stacks can grow and shrink in size without wasting
memory space, depending upon the insertion and deletion that occurs in the list
• Multiple stacks can be represented efficiently using a chain for each stack

5
9. Mention the advantages of representing stacks using linked lists than arrays
• It is not necessary to specify the number of elements to be stored in a stack during its
declaration, since memory is allocated dynamically at run time when an element is added
to the stack
• Insertions and deletions can be handled easily and efficiently
• Linked list representation of stacks can grow and shrink in size without wasting
memory space, depending upon the insertion and deletion that occurs in the list
• Multiple stacks can be represented efficiently using a chain for each stack

10. Define a queue


Queue is an ordered collection of elements in which insertions are restricted to one end
called the rear end and deletions are restricted to other end called the front end. Queues are also
referred as First-In-First-Out (FIFO) Lists.

11. Define a priority queue


Priority queue is a collection of elements, each containing a key referred as the priority for
that element. Elements can be inserted in any order (i.e., of alternating priority), but are arranged
in order of their priority value in the queue. The elements are deleted from the queue in the order
of their priority (i.e., the elements with the highest priority is deleted first). The elements with the
same priority are given equal importance and processed accordingly.

12. State the difference between queues and linked lists


The difference between queues and linked lists is that insertions and deletions may occur
anywhere in the linked list, but in queues insertions can be made only in the rear end and
deletions can be made only in the front end.

13.. Define a Deque


Deque (Double-Ended Queue) is another form of a queue in which insertions and deletions
are made at both the front and rear ends of the queue. There are two variations of a deque,
namely, input restricted deque and output restricted deque. The input
restricted deque allows insertion at one end (it can be either front or rear) only. The
output restricted deque allows deletion at one end (it can be either front or
rear)
6
14. What is the need for Priority queue?
In a multiuser environment, the operating system scheduler must decide which of the
several processes to run only for a fixed period of time. One algorithm uses queue. Jobs are
initially placed at the end of the queue. The scheduler will repeatedly take the first job on the
queue, run it until either it finishes or its time limit is up and place it at the end of the queue if it
does not finish. This strategy is not appropriate, because very short jobs will soon to take a long
time because of the wait involved in the run.
Generally, it is important that short jobs finish as fast as possible, so these jobs should
have precedence over jobs that have already been running. Further more, some jobs that are not
short are still very important and should have precedence. This particular application seems to
require a special kind of queue, known as priority queue. Priority queue is also called as Heap or
Binary Heap.

7
UNIT III – NON LINEAR DATA STRUCTURES – TREES

1. Define a tree
A tree is a collection of nodes. The collection can be empty; otherwise, a tree consists of a
distinguished node r, called the root, and zero or more nonempty (sub) trees T1, T2,…,Tk, each
of whose roots are connected by a directed edge from r.

2. Define root
This is the unique node in the tree to which further sub-trees are attached.

Here, A is the root.

3. Define degree of the node


The total number of sub-trees attached to that node is called the degree of the
node.

For node A, the degree is 2 and for B and C, the degree is 0.

4. Define leaves
These are the terminal nodes of the tree. The nodes with degree 0 are always the
leaves.

Here, B and C are leaf nodes.

8
5. Define internal nodes
The nodes other than the root and the leaves are called internal nodes.

Here, C is the internal node.


6. Define parent node
The node which is having further sub-branches is called the parent node of those
sub-branches.

Here, node C is the parent node of D and E

7. Define depth and height of a node


For any node ni, the depth of ni is the length of the unique path from the root to ni. The
height of ni is the length of the longest path from ni to a leaf.

8. Define depth and height of a tree


The depth of the tree is the depth of the deepest leaf. The height of the tree is
equal to the height of the root. Always depth of the tree is equal to height of the tree.

9. What do you mean by level of the tree?


The root node is always considered at level zero, then its adjacent children are
supposed to be at level 1 and so on.
Here, node A is at level 0, nodes B and C are at level 1 and nodes D and E
are at level 2.

9
10. Define forest
A tree may be defined as a forest in which only a single node (root) has no
predecessors. Any forest consists of a collection of trees.

11. Define a binary tree


A binary tree is a finite set of nodes which is either empty or consists of a root
and two disjoint binary trees called the left sub-tree and right sub-tree.

12. Define a path in a tree


A path in a tree is a sequence of distinct nodes in which successive nodes are
connected by edges in the tree.

13. Define a full binary tree


A full binary tree is a tree in which all the leaves are on the same level and
every non-leaf node has exactly two children.

14. Define a complete binary tree


A complete binary tree is a tree in which every non-leaf node has exactly two
children not necessarily to be on the same level.

15. State the properties of a binary tree


• The maximum number of nodes on level n of a binary tree is 2n-1, where n≥1.
• The maximum number of nodes in a binary tree of height n is 2n-1, where n≥1.
• For any non-empty tree, nl=nd+1 where nl is the number of leaf nodes and nd is the
number of nodes of degree 2.
10
16. What is meant by binary tree traversal?
Traversing a binary tree means moving through all the nodes in the binary tree,
visiting each node in the tree only once.

17. What are the different binary tree traversal techniques?


• Preorder traversal
• Inorder traversal
• Postorder traversal
• Levelorder traversal

18. What are the tasks performed during inorder traversal?


• Traverse the left sub-tree
• Process the root node
• Traverse the right sub-tree

19. What are the tasks performed during postorder traversal?


• Traverse the left sub-tree
• Traverse the right sub-tree
• Process the root node

20. State the merits of linear representation of binary trees.


• Storage method is easy and can be easily implemented in arrays
• When the location of a parent/child node is known, other one can be
determined easily
• It requires static memory allocation so it is easily implemented in
all programming language

21. State the demerit of linear representation of binary trees.


Insertions and deletions in a node take an excessive amount of processing time
due to data movement up and down the array.

11
22. State the merit of linked representation of binary trees.
Insertions and deletions in a node involve no data movement except the
rearrangement of pointers, hence less processing time.

23. State the demerits of linked representation of binary trees.


• Given a node structure, it is difficult to determine its parent node
• Memory spaces are wasted for storing null pointers for the nodes, which have one or no
sub-trees
• It requires dynamic memory allocation, which is not possible in
some programming language

24. Define a binary search tree


A binary search tree is a special binary tree, which is either empty or it should satisfy the
following characteristics:
Every node has a value and no two nodes should have the same value i.e) the
values in the binary search tree are distinct
• The values in any left sub-tree is less than the value of its parent node
• The values in any right sub-tree is greater than the value of its parent node
• The left and right sub-trees of each node are again binary search trees

25. What is the use of threaded binary tree?


In threaded binary tree, the NULL pointers are replaced by some addresses. The left
pointer of the node points to its predecessor and the right pointer of the node points to its
successor.

26. Traverse the given tree using Inorder, Preorder and Postorder traversals.

Inorder : D H B E A F C I G J

12
Preorder: A B D H E C F G I J
Postorder: H D E B F I J G C A

27. In the given binary tree, using array you can store the node 4 at which location?

At location 6
1 2 3 - - 4 - - 5

where LCn means Left Child of node n and RCn means Right Child of node n

28. Define AVL Tree.


An empty tree is height balanced. If T is a non-empty binary tree with TL and
TR as its left and right subtrees, then T is height balanced if
i) TL and TR are height balanced and
ii) │hL - hR│≤ 1
Where hL and hR are the heights of TL and TR respectively.

29. What do you mean by balanced trees?


Balanced trees have the structure of binary trees and obey binary search tree properties.
Apart from these properties, they have some special constraints, which differ from one data
structure to another. However, these constraints are aimed only at reducing the height of the tree,
because this factor determines the time complexity.
Eg: AVL trees, Splay trees.

30.What are the categories of AVL rotations?


Let A be the nearest ancestor of the newly inserted nod which has the balancing factor ±2.
Then the rotations can be classified into the following four categories:
Left-Left: The newly inserted node is in the left subtree of the left child of A.
Right-Right: The newly inserted node is in the right subtree of the right child
of
13
A. Left-Right: The newly inserted node is in the right subtree of the left child of A.

14
Right-Left: The newly inserted node is in the left subtree of the right child of A.

31.What do you mean by balance factor of a node in AVL tree?


The height of left subtree minus height of right subtree is called balance factor of a node in
AVL tree.The balance factor may be either 0 or +1 or -1.The height of an empty tree is -1.

32. Define splay tree.


A splay tree is a binary search tree in which restructuring is done using a scheme called
splay. The splay is a heuristic method which moves a given vertex v to the root of the splay tree
using a sequence of rotations.

33. What is the idea behind splaying?


Splaying reduces the total accessing time if the most frequently accessed node is moved
towards the root. It does not require to maintain any information regarding the height or balance
factor and hence saves space and simplifies the code to some extent

15
16

You might also like