The Tradition of Sharing

Help your friends and juniors by posting answers to the questions that you know. Also post questions that are not available.

To start with, Sr2Jr’s first step is to reduce the expenses related to education. To achieve this goal Sr2Jr organized the textbook’s question and answers. Sr2Jr is community based and need your support to fill the question and answers. The question and answers posted will be available free of cost to all.


Linda Null ,julia Lobur
Data Structures And The Computer
Question:1 | ISBN:9780763704445 | Edition: 3


1. Give at least one example of applications where each of the following data structures would be most suitable:

a) Arrays

b) Queues

c) Linked lists

d) Stacks

e) Trees



a) Arrays:

  • Arrays are suitable for applications where there is a need for random access to elements and when the size of the collection is known or fixed.
  • Arrays are commonly used in algorithms that require efficient indexing or direct access to elements based on their position.
  • For example, arrays are often used in mathematical computations, image processing algorithms, and data structures like matrices or grids.

b) Queues:

  • Queues are suitable for applications that follow a First-In-First-Out (FIFO) order, where elements are processed in the same order as they arrive.
  • Queues are commonly used in scenarios where there is a need to manage tasks or events in a sequential manner.
  • For example, task scheduling, job queues, message queues, or process management systems often employ queues to handle requests in a fair and ordered manner.

c) Linked lists:

  • Linked lists are suitable for applications that require efficient insertion and deletion operations at arbitrary positions, as well as when the size of the collection can vary dynamically.
  • Linked lists are often used in scenarios where elements need to be inserted or removed frequently, such as implementing dynamic data structures, managing memory allocation, or implementing data structures like stacks and queues.

d) Stacks:

  • Stacks are suitable for applications that follow a Last-In-First-Out (LIFO) order, where the last element inserted is the first one to be removed.
  • Stacks are commonly used in scenarios that involve nested function calls, expression evaluation, backtracking algorithms, or handling recursive data structures. They are also employed in compiler implementations for parsing and evaluating arithmetic expressions.

e) Trees:

  • Trees are suitable for applications that involve hierarchical or nested data structures, where elements have parent-child relationships.
  • Trees are commonly used in areas such as file systems, database indexing, organization charts, decision trees, and representing hierarchical relationships in various domains. They provide efficient search, insertion, and deletion operations for structured data. 
  • It's worth noting that these examples represent general use cases, and the suitability of data structures can vary based on the specific requirements of an application. Additionally, in some cases, combinations of data structures may be used together to solve more complex problems.
0 0


Post the discussion to improve the above solution.