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 använder en Skeva Heap i Java

    En skev heap är en abstrakt datastruktur . Även Java inte innehåller ett binärt träd klass , kan den skeva högen ses som ett självorganiserande binärt sökträd . Java Skeva Heap klass implementerar Jämförbar gränssnitt så förteckningar över SkewHeap objekt kan sorteras lätt . Instruktioner
    1

    Skriv skelettet av SkewHeap klassen . Variablerna av intresse är värde ( nodens värde) och vänster och höger ( vänster och höger barn) . TMP och strecksats statiska variabler används för tillfällig plats i kopplingen och metoder ut . Konstruktorn initierar värde och lämnar åt vänster och höger som null " " public class SkewHeap implementerar Jämförbar { int value ; . SkewHeap vänster , höger , statisk LinkedList tmp , static int strecksatsen = 0; offentliga SkewHeap ( int val ) { value = val ; } } " "
    2

    Använd compareTo metoden som ett sätt att uppfylla den jämförbara interface och låta listor över SkewHeap objekt som skall sorteras . Den compareTo Metoden ska returnera ett negativt tal , noll eller positivt tal , beroende på hur de två föremålen ska sorteras . Uppnå detta genom att utföra en subtraktion på de två nodernas värden så att noder med mindre värden sorteras innan noder av större värde " " public int compareTo ( SkewHeap h ) {return value - h.value ;} " . "

    3

    Komponera chop metoden , en viktig metod som används av merge . När en sammanfogning utförs , är både högar hackas sönder ner på höger sida . . Chop metoden utför att hacka och lägger resterande subheaps till TMP listan " " public void chop ( ) { SkewHeap R = höger , höger = null; if ( r = null ! ) R.chop ( ) ; tmp.addLast ( detta ) ; } " "
    4

    Skapa kopplingen metoden . Insatsen och removeHead metoder både användning samman för att utföra sitt uppdrag . Den samman- metoden kommer att hugga både högar som ska slås samman , som lagrar alla subheaps i tmp .
    5

    Utför sortering av TMP länkad lista och kombinera subheaps genom att ta bort de sista två högar från listan . Tillsätt en som rätt barnet av den andra , byta höger och vänster barn och lägg högen tillbaka till slutet av listan . På detta sätt är hackade subheaps återmonteras till en enda balanserad högen. Vänster noder är alltid garanterad att vara mindre än den högra noder och underordnade noder har ett större värde än överordnade noder " " offentliga SkewHeap merge ( SkewHeap h ) { //Hacka noder på rätt väg tmp = new LinkedList ( ) . ; hacka ( ) ; h.chop ( ) , //Sortera noderna Collections.sort ( TMP ) , //Slå ihop subheaps samtidigt ( tmp.size ( ) > 1 ) { SkewHeap a = tmp.removeLast ( ) ; SkewHeap b = tmp.removeLast (); b.right = b.left ; b.left = a; tmp.addLast ( b );} retur tmp.getFirst (); } " "

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur utträde ur ett program om något är fel i Java
    ·Hur man beräknar din Scrabble Betyg i Java
    ·Java Splash Screen Tutorial
    ·Java Basics Tutorial
    ·Avinstallera Sun Java JRE 1.6
    ·Hur man använder JavaMail att Skicka ett HTML-e
    ·Vad är funktionen av Java
    ·Hur man gör Exponentials i Java
    ·Lägga till en Utcheckad Android koden till en Eclipse …
    ·Hur till Ändra Java 1.6 till Java 1.5 för Mac
    Utvalda artiklarna
    ·Så här visar dynamisk information på webbsidor med J…
    ·Komma åt Long Binära data
    ·Hur du använder bläckfisk med PHP
    ·Hur man använder Struts Layout
    ·Perl 5.10 Vs . 5.8.8
    ·Hur man skapar en array med objekt i PHP
    ·Så här visar du en lista med punkter i WPF
    ·Hur man skriver 64 - bitars kompatibel kod
    ·Hur man programmerar PHP med MacBook
    ·Hur man gör en spets axelryckning
    Copyright © Dator Kunskap http://www.dator.xyz