昨天刷题的时候,刷到一个关于二叉树层次遍历的题,一直不理解为什么二叉树应用这么广泛,因为二叉树的英文名是Binary Tree(二进制数),让我觉得不解。
我发现,在二叉树的层次遍历中,每个层次的节点 都可以通过一个层次位的二进制数表示(根节点为0层),比如一颗满二叉树,从根节点到第三层要经过三次分叉,每次分叉有两个选择,我们假设左分叉为0,右分叉为1,则第三层的节点从左到右的二进制表示为:
000
001
010
011
100
101
110
111
转为10进制 则为0-7 的8(2的三次方)个节点,
由此 我们可用写个循环 for(int i=0;i<(2的层次次方);i++) 来遍历此层次的所有节点。