Some writers use rooted binary tree instead of binary tree to emphasize the fact that the tree is rooted, but as specify above, a binary tree is always rooted. In computer science, a binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child.

COMING SOON!

```
/*
* Generate numbers between 1 to N, in binary using a data-structure.
*/
#include <iostream>
#include <string>
#include <queue>
void print_n_binary(int n)
{
std::queue<std::string> q;
q.push("1");
int i = 1;
while (i++ <= n)
{
// append 0 and 1 to the existing binary string.
//
q.push(q.front() + "0");
q.push(q.front() + "1");
std::cout << q.front() << std::endl;
q.pop();
}
}
int main()
{
int n;
std::cout << "Enter number n:";
std::cin >> n;
print_n_binary(n);
return 0;
}
```