# Data Structures: Unweighted Undirected Graphs

Home >
Unweighted Undirected Graph Data Structure

## What is an Unweighted Undirected Graph?

An **unweighted undirected graph** is a data structure that extends Unweighted Graph by assuming all edges to be bidirectional.
As an **undirected graph**, once an edge between vertex A and B is set, it meaks B will be connected to A as well.

## How can it be implemented?

This data structure merely completes Unweighted Graph specification and defines no further operations.
As a complete implementation, it must take a decision how to store vertexes inside. Options are same as those used in storing EDGES:

- Dynamic Array implementing List of VERTEX: very fast to iterate, very slow to search a value/vertex into. To be used if value inside vertex is not unique! If used, EDGES must use same storage option.
- Hash Table implementing Set of VERTEX: quite fast to iterate, very fast to search a value/vertex into. To be used if value inside vertex is unique! If used, EDGES must use same storage option.

If Hash Table implementing Set solution is chosen, two more operations
can be generalized for **unweighted undirected graph**, both executed in constant O(1) time:

**Operation** |
**Arguments** |
**Returns** |
**Description** |

contains |
DATA |
boolean |
Checks if graph contains a vertex whose value equals that of input. |

search |
DATA |
VERTEX |
Searches graph for a vertex whose value equals that of input. |