1. Arrays and Strings:
- Arrays: One of the simplest data structures, arrays store elements of the same data type
sequentially in memory. They offer constant-time access to elements using their indices.
- Strings: Sequences of characters, often represented as arrays of characters. String
manipulation involves various operations like concatenation, substring extraction, and pattern
matching.
2. Linked Lists:
- singularly Linked Lists: Each entry in a singularly linked list has a data field and a
reference (pointer) to the next member in the chain.
- Doubly Linked Lists: Similar to singly linked lists, except each entry includes a reference to
the previous element, allowing for bidirectional traversal.
- Circular Linked Lists: The final element points back to the first, resulting in a circular
structure.
3. Stacks and Queues:
- Stacks use the Last In, First Out (LIFO) principle, which means that the last piece added is
the first to be withdrawn. Common procedures include push (addition) and pop (removal).
- Queues: Use the First In, First Out (FIFO) concept, with the first element added being the
first to be withdrawn. Operations include enqueue (adding) and dequeue (removing).
4. Trees:
- Binary Trees: Each node has a maximum of two children, known as the left and right
children.
- Binary Search Trees (BST) are binary trees in which the left child of a node includes keys
less than the node's key and the right child contains keys greater than the node's key.
- Balanced Trees: Trees such as AVL trees and Red-Black trees have a balance factor or color
feature that ensures effective operations.
- B-Trees: Balanced trees used in databases and file systems to improve disk access.
5. Graphs:
- Graph Representation: Adjacency matrices and adjacency lists are two ways to represent
graphs.
- Graph Traversal: Depth-First Search (DFS) and Breadth-First Search (BFS) are key
methods for studying and traversing graphs.
- Shortest Path Algorithms: Dijkstra's Algorithm and the Bellman-Ford Algorithm determine
the shortest path between nodes in weighted networks.
- Arrays: One of the simplest data structures, arrays store elements of the same data type
sequentially in memory. They offer constant-time access to elements using their indices.
- Strings: Sequences of characters, often represented as arrays of characters. String
manipulation involves various operations like concatenation, substring extraction, and pattern
matching.
2. Linked Lists:
- singularly Linked Lists: Each entry in a singularly linked list has a data field and a
reference (pointer) to the next member in the chain.
- Doubly Linked Lists: Similar to singly linked lists, except each entry includes a reference to
the previous element, allowing for bidirectional traversal.
- Circular Linked Lists: The final element points back to the first, resulting in a circular
structure.
3. Stacks and Queues:
- Stacks use the Last In, First Out (LIFO) principle, which means that the last piece added is
the first to be withdrawn. Common procedures include push (addition) and pop (removal).
- Queues: Use the First In, First Out (FIFO) concept, with the first element added being the
first to be withdrawn. Operations include enqueue (adding) and dequeue (removing).
4. Trees:
- Binary Trees: Each node has a maximum of two children, known as the left and right
children.
- Binary Search Trees (BST) are binary trees in which the left child of a node includes keys
less than the node's key and the right child contains keys greater than the node's key.
- Balanced Trees: Trees such as AVL trees and Red-Black trees have a balance factor or color
feature that ensures effective operations.
- B-Trees: Balanced trees used in databases and file systems to improve disk access.
5. Graphs:
- Graph Representation: Adjacency matrices and adjacency lists are two ways to represent
graphs.
- Graph Traversal: Depth-First Search (DFS) and Breadth-First Search (BFS) are key
methods for studying and traversing graphs.
- Shortest Path Algorithms: Dijkstra's Algorithm and the Bellman-Ford Algorithm determine
the shortest path between nodes in weighted networks.