数据结构与算法之完全二叉树的节点个数
生活随笔
收集整理的這篇文章主要介紹了
数据结构与算法之完全二叉树的节点个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據結構與算法之完全二叉樹的節點個數
目錄
1. 數據結構與算法之完全二叉樹的節點個數
(一)思路
(二) 代碼實現
public class Code_CompleteTreeNodeNumber {public static class Node {public int value;public Node left;public Node right;public Node(int data) {this.value = data;}}public static int nodeNum(Node head) {if (head == null) {return 0;}return bs(head, 1, mostLeftLevel(head, 1));}public static int bs(Node node, int level, int h) {if (level == h) {return 1;}if (mostLeftLevel(node.right, level + 1) == h) {return (1 << (h - level)) + bs(node.right, level + 1, h);} else {return (1 << (h - level - 1)) + bs(node.left, level + 1, h);}}public static int mostLeftLevel(Node node, int level) {while (node != null) {level++;node = node.left;}return level - 1;}public static void main(String[] args) {Node head = new Node(1);head.left = new Node(2);head.right = new Node(3);head.left.left = new Node(4);head.left.right = new Node(5);head.right.left = new Node(6);System.out.println(nodeNum(head));}}總結
以上是生活随笔為你收集整理的数据结构与算法之完全二叉树的节点个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构与算法之判断一棵树是否为搜索二叉
- 下一篇: 数据结构与算法之RandomPool结构