1.4.2 Data Structures Flashcards
Which of the following data structures are ordered?
- List
- Record
- Tuple
- Array
List
Array
Tuple
Which of the following data structures can store multiple data types?
- List
- Record
- Tuple
- Array
List
Record
Tuple
Which of the following data structures are immutable (read-only)?
- List
- Record
- Tuple
- Array
Tuple
Contents cannot be modified at run-time
Which of the following data structures have no predefined scope?
- List
- Record
- Tuple
- Array
List
Which of the following data structures can store multiple values under one identifier?
- List
- Record
- Tuple
- Array
All of them
List
Record
Tuple
Array
Which of the following data structures are accessed using an index?
- List
- Record
- Tuple
- Array
List
Tuple
Array
Which of the following data structures can have multiple dimensions?
- List
- Record
- Tuple
- Array
Array
2D | 3D
How many pointers are used in a queue?
2 - Front and Rear
How many pointers are used in a stack?
1 - Top
What pointer is impacted when you enqueue an item
Rear/Tail - Incremented by one
What pointer is impacted when you dequeue an item
Front/Head - incremented by one
Which data structure operates on a FIFO basis?
Queue
First in first out
Which data structure operates on a LIFO basis?
Stack
Last in first out
Where might a queue be used?
Printer Queue
Keyboard Buffer
Where might a stack be used?
Web Browser History
Undo button in a word processor
What is the process for pushing an item to a stack?
- If stack is full then report error and stop.
- Else increment pointer
- Add data item at position ‘pointer’
What type of error could occur if an item is added to a full stack or queue?
Overflow Error
What type of error could occur if an item is removed from to an empty stack or queue?
Underflow Error
What is the process for enqueuing an item to a queue?
- If queue is full then report error and stop.
- If not full then increment tail by 1
- Add item to tail index
(Assuming that the pointer is set to point at last item, and not the space after)
What is the process for dequeuing an item from a queue?
- Check if the queue is empty, If it is then output message reporting an error.
- If it is not empty, then output the element located at the head
- Increment head by 1
What is the process for popping an item from a stack?
- If stack is empty then report error & stop.
- Else output the data at the top
- decrement the top pointer.