Term
What are some of the advantages that linked lists have over arrays? |
|
Definition
A linked list can easily grow or shrink in size. In fact, the programmer doesn’t need to know how many nodes will be in the list. They are simply created in memory as they are needed. Also, when a node is inserted into or deleted from a linked list, none of the other nodes have to be moved. |
|
|
Term
What advantage does a lined list have over the STL vector? |
|
Definition
The advantage that linked lists have over vectors, however, is the speed at which a node may be inserted into or deleted from the list. To insert a value into the middle of a vector requires all the elements below the insertion point to be moved one position toward the vector’s end, thus making room for the new value. Likewise, removing a value from a vector requires all the elements below the removal point to be moved one position toward the vector’s beginning. When a node is inserted into, or deleted from a linked list, none of the other nodes have to be moved. |
|
|
Term
|
Definition
A pointer that simply points to the first node in the list. |
|
|
Term
What is a self-referential data structure? |
|
Definition
A data structure that has a pointer to a structure of the same type. |
|
|
Term
How is the end of a linked list usually signified? |
|
Definition
The last node in the list usually points to address 0, the null address. |
|
|
Term
Name five basic linked list operations. |
|
Definition
The basic linked list operations are appending a node, traversing the list, inserting a node, deleting a node, and destroying the list. |
|
|
Term
What is the difference between appending a node and inserting a node? |
|
Definition
Appending a node means that a new node is added to the end of the list. Inserting a node means that a new node is inserted somewhere in the middle of the list. |
|
|
Term
What does "traversing the list" mean? |
|
Definition
To travel through the list, node by node. |
|
|
Term
What are the two steps required to delete a node from a linked list? |
|
Definition
- Remove the node from the list without breaking the links created by the next pointers. - Deleting the node from memory. |
|
|
Term
What is the advantage of using a template to implement a linked list? |
|
Definition
The list can hold values of any data type. |
|
|
Term
What is a singly linked list? What is a doubly linked list? What is a circularity linked list? |
|
Definition
In a singly linked list each node is linked to a single other node. In a doubly linked list each node not only points to the next node, but also the previous one. In a circularly linked list the last node points to the first, |
|
|
Term
What type of linked list is the STL list container? |
|
Definition
|
|
Term
The_______ points to the first node in a linked list. |
|
Definition
|
|
Term
A data structure that points to an object of the same type as itself is known as a(n) _________ data structure. |
|
Definition
self-referential data structure |
|
|
Term
After creating a linked list's head pointer, you should make sure it points to _________ before using it in any operations. |
|
Definition
|
|
Term
After creating a linked list's head pointer, you should make sure it points to __________ before using it in any operations. |
|
Definition
|
|
Term
________ a node means adding it to the end of a list. |
|
Definition
|
|
Term
______ a node means adding it to a list, but not |
|
Definition
|
|
Term
In a(n) __________ list, the last node has a pointer to the first node. |
|
Definition
|
|
Term
In a(n) _________ list, each node has a pointer to the one before it and the one after it. |
|
Definition
|
|