more paper 1 stuff Flashcards
How does a hash function contribute to the performance of a hash table
A hash function maps keys to indices in the hash table, ensuring even distribution of elements and efficient retrieval
Explain how a priority queue can be implemented using an array
A priority queue can be implemented using arrays where elements are sorted based on their priority levels, allowing efficient insertion and removal
Discuss the impact of hash collisions on the performance of a hash table
Hash collisions can degrade performance by increasing lookup time and necessitating collision resolution techniques like chaining or open addressing
Explain how dynamic arrays handle resizing when they run out of space.
Dynamic arrays resize by allocating a larger block of memory, copying existing elements, and deallocating the old memory block, ensuring efficient resizing.
Discuss the advantages and disadvantages of using a dictionary for key-value storage
ADV:
- Fast Lookup Time: Dictionaries offer constant-time (O(1)) average-case lookup time for retrieving values based on their keys.
- Flexible Key Types: Dictionaries allow keys to be of various types, including strings, integers, tuples
- Dynamic Resizing: Many dictionary implementations automatically resize themselves as more elements are added,
DISADV:
- Memory Overhead: Dictionaries can consume more memory compared to other data structures
- Hash collisions
-
What is representational abstraction?
Removing (unnecessary) details;
What is abstraction by generalisation?
Grouping by common characteristics /
Explain what is meant by procedural decomposition
Breaking a problem into smaller sub-problems;
- Each of which solves an identifiable task;
Each of which might be further subdivided;
explain how a single stack can be used to reverse the order of the items in a queue
repeatedly remove the front item from the queue and push it into the stack
repeatedly pop items from the stack and add them to the rear of the queue
state two characteristics that make a tree a binary tree
- has a root node
- each node has a maximum of 2 children