Given a number K, the task is to print the fibonacci numbers present at Kth level of a Fibonacci Binary Tree.
Input: K = 3 Output: 2, 3, 5, 8 Explanation: Fibonacci Binary Tree for 3 levels: 0 / \ 1 1 /\ / \ 2 3 5 8 Numbers present at level 3: 2, 3, 5, 8 Input: K = 2 Output: 1, 1 Explanation: Fibonacci Binary Tree for 2 levels: 0 / \ 1 1 Numbers present at level 2: 1, 1
Naive Approach: The naive approach is to build a Fibonacci Binary Tree (binary tree of Fibonacci numbers) and then get elements at a particular level K.
However, this approach is obsolete for large numbers as it takes too much time.
Efficient approach: Since the elements which would be present at some arbitrary level K of the tree can be found by finding the elements in the range [2K – 1, 2K – 1]. Therefore:
- Find the Fibonacci numbers up to 106 using Dynamic Programming and store them in an array.
- Calculate the left_index and right_index of the level as:
left_index = 2K - 1 right_index = 2K - 1
- Print the fibonacci numbers from left_index to right_index of fibonacci array.
Below is the implementation of the above approach:
13 21 34 55 89 144 233 377
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Prime Numbers present at Kth level of a Binary Tree
- Print nodes between two given level numbers of a binary tree
- Find maximum level sum in Binary Tree
- Find maximum level product in Binary Tree
- Find Maximum Level Sum in Binary Tree using Recursion
- Find if given vertical level of binary tree is sorted or not
- Find the maximum node at a given level in a binary tree
- Queries to find the maximum Xor value between X and the nodes of a given level of a perfect binary tree
- Difference between sums of odd level and even level nodes of a Binary Tree
- Sum of numbers in the Kth level of a Fibonacci triangle
- Count the Number of Binary Search Trees present in a Binary Tree
- Check if max sum level of Binary tree divides tree into two equal sum halves
- Given level order traversal of a Binary Tree, check if the Tree is a Min-Heap
- Get Level of a node in a Binary Tree
- Smallest value in each level of Binary Tree
- Sum of all nodes at Kth level in a Binary Tree
- Largest value in each level of Binary Tree
- Nodes at Kth level without duplicates in a Binary Tree
- Insertion in a Binary Tree in level order
- Height of binary tree considering even level leaves only
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.