Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur man gör Inorder Traversal i binärt träd i Java

    Java har inte ett binärt träd klass , men det är enkelt att presentera en version av datastruktur för att göra en inorder traversering . A " traversal " av ett binärt träd är en standardiserad procedur för att besöka varje nod på den binära trädstrukturen en gång . En inorder traversering kommer att göra detta i sorterad ordning . Traversal införs ofta som någon sorts iterator (som en lista iterator ) eller genom en metod som kommer att kalla en callback-metoden för varje nod . Du kan dock göra detta utan att använda återbesök eller iteratorer , i stället skriva till konsolen varje nod besökt . Instruktioner
    1

    Skapa en grundläggande binära klass sökträd . Vid denna punkt , behöver du bara en grundläggande konstruktormetod som initierar nodens värde och en insats metod . Insatsen metod kommer passera ett träd och göra en ny nod på rätt plats . " " public class binaryTREE { binaryTREE vänster , binaryTREE höger , int value ; offentliga binaryTREE ( int v ) { value = v ; } //Sätt ett värde i trädet public void insert ( int v ) {if ( v om ( vänster = = null ) vänster = ny binaryTREE ( v ) , annars left.insert ( v ) ;} else if ( v > värde ) {if ( höger == null ) höger = ny binaryTREE ( v ) , annars right.insert ( v ) , . . } } } " "
    2

    Skapa instansen ( nod ) i det binära trädet som blir roten noden Precis som alla andra nod behöver rotnoden att ha ett värde det är oftast bäst att välja ett värde nära medianen av de objekt du lagrar , som binära träd bör vara så balanserad som möjligt " " binaryTREE b = ny binaryTREE ( 50 ) , " . " Addera 3 < . . p > Infoga noder i trädet i specifik för att behålla balansen , eftersom det binära trädet är inte automatisk balansering detta exempel skapar minsta trädet möjligt för att bibehålla effektivitet " " b.insert ( 20 ) ; b.insert (40); b.insert ( 10 ); b.insert ( 5 ) ; b.insert ( 45 ) ; b.insert (70); b.insert ( 60 ) ; b.insert ( 80 ); b.insert ( 55 ) , b.insert ( 85 ) ; " "
    4

    Flytta över trädet med en inorder traversering den vänstra träd genomkorsas först , följt av root noden , och sedan den högra trädet är . passeras . Använda rekursion , är koden bara tre rader . eftersom rekursion tar stackutrymme , bör det användas försiktigt . med en liten och balanserat binärt träd , rekursion kommer inte svämma bunten .
    5

    Lägg till en ny metod för Java binaryTREE klass som heter inorder " " public void inorder ( ) {if ( vänster = null ! ) left.inorder ( ) , . System.out.println ( value ) ; ! if ( höger = null ) right.inorder ( ) ;} " "
    6

    Ring inorder metoden efter dina insatser för att skriva ut noderna i sorterad ordning . " " b.inorder ( ) ; "
    Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du sätter din Java koden till Android Code
    ·Hur berätta om en webbplats är Java-baserade
    ·Hur man gör en användare Avslutade Loop i Java
    ·Om Java Virtual Machine
    ·Hur du väljer ett värde från ComboBox i Java
    ·Handledning för NetBeans Desktop Application
    ·Hur att hitta ett annat talsystem Port Använda Java
    ·Hur får värde från en kod till XML på en Android
    ·Hur man klarar genom hänvisning i Java
    ·Hur man skapar JAS med beroenden
    Utvalda artiklarna
    ·Introduktion till UML
    ·Hur du returnerar ett värde i en Multi Kolumn Listbox
    ·Hantera rollback-segment
    ·Den Java-kod för att räkna antalet ord i en Array
    ·Hur Räkna i binärt för Total nybörjare
    ·Hur man läser heltal i Perl
    ·Hur Acceptera indata Med Python
    ·PHP till XML-konvertering
    ·Hur man bygger en kö ut på en lista
    ·Vad är ETL-verktyg
    Copyright © Dator Kunskap http://www.dator.xyz