1 12
2
3
16
17
14
18
4
5
6
11 13 7
8
9
15
10

Crossword: Abstract Data Structures

Across

1. Used in priority queues for efficient access to max/min elements.

2. A tree traversal algorithm that visits the left subtree first, then the right subtree, and finally the root node.

3. A FIFI data structure, with wraparound code forming a circular arrangement.

4. A tree structure where the nodes are arranged in a skewed manner, potentially degenerating into a linked list and adversely affecting operation time complexity.

5. A function defined within a class that describes the behavior of instances of that class.

6. The basic building block of the tree, which holds data and references to its left and right children.

7. A data structure that allows insertion and deletion of elements with different priorities.

8. Can be more complex as it requires careful consideration of the node's children, with different cases arising depending on whether the node to be deleted has zero, one, or two children.

9. A tree structure that maintains a height difference of at most one between its left and right subtrees, promoting efficient performance for operations.

10. A tree where all levels are fully filled except possibly for the last level, which is filled from left to right.

Down

11. Involves adding a new node while maintaining the tree's properties by placing the new node in the correct position based on its value.

12. A concept in OOP that allows defining complex systems while hiding unnecessary details.

13. A node that has one or more children. Every node, except the root, has one parent.

14. The ability of different classes to be treated as instances of the same class through a common interface, allowing for flexibility in code.

15. The top node in a hierarchical structure.

16. A node that has no children, meaning it is at the end of a branch.

17. A method of visiting nodes in a tree data structure by exploring all nodes at the current depth level before moving on to nodes at the next depth level.

18. A mechanism that allows a new class to inherit properties and behavior from an existing class, promoting code reuse.


🖶

Shortcuts

Left: ⇤ Right: ⇥ Up: ↑ Down: ↓