(a) Explain the concept of a pointer and how it is used within a suitable data structure such as a linked list.
(b) A queue data structure can be implemented using a linked list. Explain how the enqueue (adds a new element to the queue) algorithm works, by making references to pointer manipulation.
(c) A hash table is a data structure that can store and retrieve data items quickly and efficiently. Within this context: (i) explain the main characteristics of such a data structure;
(ii) mention two characteristics of a “good” hash function;
(iii) give an example of a typical hash function.
(d) A hash table can be simply implemented using an array data structure, however collisions can result in inefficiencies and need to be resolved. Within this context:
(i) explain the meaning of the term collision;
(ii) explain how a strategy such as chaining (or open hashing) can be used to resolve collisions.
Leave an answer