Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
import java.util.Scanner; class BNode
{ public E info; public BNode
left; public BNode
right; static int LEFT = 1; static int RIGHT = 2; public BNode(E info){ // konstruktor so eden argument, samo info poleto this.info = info; this.left = null; this.right = null; } public BNode(E info, BNode
left, BNode
right){ this.info = info; this.left = left; this.right = right; } } class BTree
{ public BNode
root; public BTree(){ root = null; } public BTree(E info){ root = new BNode
(info); } public BNode
addChild(BNode
Node, int where, E info){ BNode
temp = new BNode
(info); if(where == BNode.LEFT){ if(Node.left != null){ return null; } Node.left = temp; }else{ if(Node.right !=null){ return null; } Node.right = temp; } return temp; } public void InorderR(BNode
r){ if(r!=null){ InorderR(r.left); System.out.println(r.info.toString() + " "); InorderR(r.right); } } public void Inorder(){ System.out.print("INORDER: "); InorderR(root); System.out.println(); } public void PreorderR(BNode
r){ if(r!=null) { System.out.println(r.info.toString() + " "); InorderR(r.left); InorderR(r.right); } } public void Preorder(){ System.out.print("PREORDER: "); PreorderR(root); System.out.println(); } public void PostorderR(BNode
r){ if(r!=null) { InorderR(r.left); InorderR(r.right); System.out.println(r.info.toString() + " "); } } public void PostorderR(){ System.out.print("POSTORDER: "); PostorderR(root); System.out.println(); } int maximumHeightOfNode(BNode
node) { if(node == null) { return 0; } int leftSide = maximumHeightOfNode(node.left); int rightSide = maximumHeightOfNode(node.right); return Math.max(leftSide, rightSide) + 1; } int calculateDiameter(BNode
node) { if(node == null) { return 0; } int leftSide = maximumHeightOfNode(node.left); int rightSide = maximumHeightOfNode(node.right); int heightOfNode = leftSide + rightSide + 1; // eden od rezultatite int leftDiameter = calculateDiameter(node.left); int rightDiameter = calculateDiameter(node.right); int maxDiameter = Math.max(leftDiameter, rightDiameter); return Math.max(heightOfNode, maxDiameter); } } public class Main { public static void main(String[] args) { //BNode
root = new BNode
(10); BTree
drvo = new BTree
(10); drvo.addChild(drvo.root, drvo.root.LEFT, 5); drvo.addChild(drvo.root, drvo.root.RIGHT, 6); drvo.addChild(drvo.root.left, drvo.root.left.LEFT, 7); drvo.addChild(drvo.root.left, drvo.root.left.RIGHT, 9); drvo.addChild(drvo.root.right, drvo.root.right.RIGHT, 8); drvo.addChild(drvo.root.left.left, drvo.root.left.left.LEFT, 5); // drvo.InorderR(drvo.root); // int i= drvo.numLeaves1(drvo.root); System.out.println(drvo.calculateDiameter(drvo.root)); } }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)