Utility Methods
Add Node

Adds a new node, without creating connections with existing nodes. It involves creating the node and updating adjacency information, ensuring accurate representation of relationships. The process allows dynamic graph growth, and time complexity is typically O(1) for creating and connecting nodes.

Add Edge

The add edge method in an undirected graph creates a link between two nodes. It ensures symmetry by updating the adjacency information for both nodes, reflecting their mutual connection. The time complexity is typically O(1) as it involves updating adjacency lists or matrices to represent the new edge.

Delete Node

Deleting a node in an undirected graph requires removing the node and its associated edges. The time complexity depends on the implementation but is generally O(d + e), where d is the degree of the node (number of edges connected to it) and e is the number of edges in the graph. This ensures proper maintenance of the graph structure after node deletion.

Delete Edge

The delete edge method in an undirected graph removes the link between two nodes, ensuring symmetry. It involves updating the adjacency information for both nodes to reflect the absence of the edge. The time complexity is typically O(d), where d is the degree of the nodes involved in the edge, as it requires updating adjacency lists or matrices. This maintains the integrity of the graph structure after edge deletion.

Undirected Graph Search
Depth First

Depth-First Search (DFS) is a graph traversal algorithm that explores as far as possible along each branch before backtracking. It starts at an initial node, visits adjacent nodes, and continues deeper until it reaches a leaf node. Then, it backtracks and explores other branches. DFS has a time complexity of O(V + E), where V is the number of vertices and E is the number of edges in the graph.

Breadth First

Breadth-First Search (BFS) is a graph traversal algorithm that systematically explores all the vertices at the current level before moving on to the next level. Starting from an initial node, BFS visits its neighbors, then the neighbors' neighbors, and so on, until all reachable nodes are visited. The time complexity of BFS is O(V + E), where V is the number of vertices, and E is the number of edges in the graph.

Utility Methods
Add Node

Inserting a node in a directed graph is a constant time operation, typically O(1), as it involves creating a new vertex.

Add Edge

Deleting a node in a directed graph requires updating adjacency lists and removing connected edges. The time complexity is O(d + e), where d is the out-degree of the node and e is the total number of edges.

Delete Node

Inserting an edge involves updating the outgoing edges of the source node, resulting in a time complexity of O(1).

Delete Edge

Deleting an edge in a directed graph is a constant time operation, typically O(1), as it involves removing the directed connection between two nodes.

Directed Graph Search
Depth First

Depth-First Search (DFS) is a graph traversal algorithm that explores as far as possible along each branch before backtracking. It starts at an initial node, visits adjacent nodes, and continues deeper until it reaches a leaf node. Then, it backtracks and explores other branches. DFS has a time complexity of O(V + E), where V is the number of vertices and E is the number of edges in the graph.

Breadth First

Breadth-First Search (BFS) is a graph traversal algorithm that systematically explores all the vertices at the current level before moving on to the next level. Starting from an initial node, BFS visits its neighbors, then the neighbors' neighbors, and so on, until all reachable nodes are visited. The time complexity of BFS is O(V + E), where V is the number of vertices, and E is the number of edges in the graph.