Fibonacci Cube Graph - GeeksforGeeks

24 Nov, 2021
You are given input as order of graph n (highest number of edges connected to a node), you have to find the number of vertices in a Fibonacci cube graph of order n.Examples :  
Input : n = 3
Output : 5
Explanation : 
Fib(n + 2) = Fib(5) = 5

Input : n = 2
Output : 3
 
A Fibonacci Cube Graph is similar to hypercube graph, but with a fibonacci number of vertices. In fibonacci cube graph only 1 vertex has degree n rest all has degree less than n. Fibonacci cube graph of order n has F(n + 2) vertices, where F(n) is a n-th fibonacci number, Fibonacii series : 1, 1, 2, 3, 5, 8, 13, 21, 34................... 
For input n as order of graph, find the corresponding fibonacci number at the position n + 2. where F(n) = F(n – 1) + F(n – 2)Approach : Find the (n + 2)-th fibonacci number.Below is the implementation of above approach :  
C++
Java
Python3
C#
PHP
Javascript
// CPP code to find vertices in a fibonacci// cube graph of order n#include<iostream>using namespace std;  // function to find fibonacci numberint fib(int n){    if (n <= 1)        return n;    return fib(n - 1) + fib(n - 2);}  // function for finding number of vertices // in fibonacci cube graphint findVertices (int n){    // return fibonacci number for f(n + 2)     return fib(n + 2);}  // driver programint main(){    // n is the order of the graph    int n = 3;    cout << findVertices(n);    return 0;}
// java code to find vertices in a fibonacci// cube graph of order npublic class GFG {          // function to find fibonacci number    static int fib(int n)    {        if (n <= 1)            return n;        return fib(n - 1) + fib(n - 2);    }          // function for finding number of vertices     // in fibonacci cube graph    static int findVertices (int n)    {        // return fibonacci number for f(n + 2)         return fib(n + 2);    }              public static void main(String args[]) {                  // n is the order of the graph        int n = 3;        System.out.println(findVertices(n));    }}  // This code is contributed by Sam007
# Python3 code to find vertices in # a fibonacci cube graph of order n   # Function to find fibonacci number def fib(n):       if n <= 1:         return n              return fib(n - 1) + fib(n - 2)   # Function for finding number of # vertices in fibonacci cube graph def findVertices(n):       # return fibonacci number     # for f(n + 2)     return fib(n + 2)   # Driver Codeif __name__ == "__main__":       # n is the order of the graph     n = 3    print(findVertices(n))   # This code is contributed # by Rituraj Jain
// C# code to find vertices in a fibonacci// cube graph of order nusing System;  class GFG {          // function to find fibonacci number    static int fib(int n)    {        if (n <= 1)            return n;        return fib(n - 1) + fib(n - 2);    }          // function for finding number of     // vertices in fibonacci cube graph    static int findVertices (int n)    {                  // return fibonacci number for        // f(n + 2)         return fib(n + 2);    }          // Driver code    static void Main()    {                  // n is the order of the graph        int n = 3;                  Console.Write(findVertices(n));    }}  // This code is contributed by Sam007
<?php// PHP code to find vertices in a // fibonacci cube graph of order n  // function to find fibonacci numberfunction fib($n){    if ($n <= 1)        return $n;    return fib($n - 1) + fib($n - 2);}  // function for finding number of  // vertices in fibonacci cube graphfunction findVertices ($n){    // return fibonacci number    // for f(n + 2)     return fib($n + 2);}  // Driver Code  // n is the order of the graph$n = 3;echo findVertices($n);       // This code is contributed by Sam007?>
<script>    // Javascript code to find vertices in a fibonacci// cube graph of order n  // function to find fibonacci numberfunction fib(n){    if (n <= 1)        return n;    return fib(n - 1) + fib(n - 2);}  // function for finding number of vertices // in fibonacci cube graphfunction findVertices (n){    // return fibonacci number for f(n + 2)     return fib(n + 2);}  // driver program// n is the order of the graphvar n = 3;document.write( findVertices(n));  </script>
5
 
Note that the above code can be optimized to work in O(Log n) using efficient implementations discussed in Program for Fibonacci numbers 
Sam007
rituraj_jain
rutvik_56
Fibonacci
Graph
Fibonacci
Graph
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Best First Search (Informed Search)
Vertex Cover Problem | Set 1 (Introduction and Approximate Algorithm)
Eulerian path and circuit for undirected graph
Find if there is a path between two vertices in a directed graph
Iterative Deepening Search(IDS) or Iterative Deepening Depth First Search(IDDFS)
Graph Coloring | Set 2 (Greedy Algorithm)
Printing Paths in Dijkstra's Shortest Path Algorithm
Longest Path in a Directed Acyclic Graph
Prim’s MST for Adjacency List Representation | Greedy Algo-6
Kruskal's Minimum Spanning Tree using STL in C++