Clique of size k in a graph g is a complete subgraph with k vertices. Write a program that will find and
output the number of cliques of size k (3 ≤ k ≤ number of vertices) in an undirected graph with n vertices.
You need to have a graph class that has the following public methods:
constructor with a string (file name) as an argument. The constructor will build a graph using the data in
the file.
Graph (filename: string)
method that will return the number of vertices
num_vertices → integer
method that will create an edge given 2 vertices
create_edge(v1: vertex, v2: vertex)
method that will determine whether an edge exists
has_edge(v1: vertex, v2: vertex) → boolean
Hints:
represent your vertices as integers 0 .. n-1 for n vertices
For a brute force algorithm, you will need to need to be able to determine all possible combinations of k
vertices. The tree structure at the end of this document illustrates one way of determining these
combinations