Limite inferiore sul numero di percorsi "corti" in un albero radicato con dimensioni polinomiali


10

Sia un albero binario radicato. Ogni percorso dalla radice di T ad una foglia ha lunghezza n . Ogni nodo di T ha sempre un nodo figlio sinistro e uno destro ma è possibile che siano uguali (quindi ci sono sempre 2 n percorsi possibili). La dimensione di T è limitata da O ( p o l y ( n ) ) . Un nodo con diversi nodi figlio è chiamato nodo ramificato .TTnT2nTO(poly(n))

Diciamo che due percorsi sono diversi se esiste un nodo di diramazione condiviso e un percorso va al nodo figlio sinistro e l'altro percorso al nodo figlio destro. È chiaro che esiste almeno un percorso in con nodi di diramazione O ( log n ) . In caso contrario, ci sarebbero troppi nodi in T .TO(logn)T

Esiste un limite inferiore migliore sul numero di percorsi con nodi di diramazione se so che ci sono nodi di ramificazione ω ( log n ) nella struttura?O(logn)ω(logn)


@Marc: La lettera (5a riga) deriva ovviamente da `` troppi nodi in "(7a riga)?T
Oleksandr Bondarenko,

@Marc: Potresti, per favore, rendere più precisa la tua affermazione "due percorsi sono diversi se usano nodi figlio diversi in un nodo ramificato". Vuoi dire che sono diversi se esiste un nodo così ramificato in cui usano nodi figlio diversi?
Oleksandr Bondarenko,

Modifico la domanda e provo a renderla più precisa.
Marc Bury,

Che dire dell'albero che ha solo un percorso (e nodi)? È permesso? n
Peter Shor,

Questa è una buona domanda È consentito, ma non è questo il caso interessante :) Quindi dovremmo fare un limite inferiore al numero di nodi ramificati nella struttura, ad esempio nodi ramificati. ω(logn)
Marc Bury,

Risposte:


9

Il limite inferiore è percorsi con O ( log n ) nodi ramificati, se nella struttura sono presenti almeno Ω ( log n ) nodi ramificati.Ω(logn)O(logn)Ω(logn)

Ciò può essere ottenuto: utilizzare un albero che ha un percorso lungo (lunghezza ) tutti i cui nodi sono nodi ramificati, senza altri nodi ramificati nella struttura.n

Ecco uno schizzo del limite inferiore.

Innanzitutto, compattate l'albero contraendo qualsiasi nodo interno che non sia un nodo ramificato. Se la dimensione originale dell'albero era , il nuovo albero deve essere ancora < n c , poiché hai ridotto solo il numero di nodi. Ora, la profondità di una foglia è il numero di nodi ramificati sul percorso originale di quella foglia e abbiamo un albero binario completo (ogni nodo ha un grado 2 o 0).<nc<nc

Se non ci sono foglie di profondità , il numero di percorsi è uno in più rispetto al numero di nodi di diramazione, che è Ω ( log n ) , quindi possiamo supporre che almeno una foglia abbia profondità Ω ( log n ) .Ω(logn)Ω(logn)Ω(logn)

Quindi, ricorda la disuguaglianza di Kraft. Se la profondità di una foglia in un albero binario completo è , allora Σ v l e a f 2 - d ( v ) = 1 .d(v)Σv leaf2d(v)=1

Ora, abbiamo meno di foglie. Vogliamo dimostrare che ne abbiamo molti a profondità O ( log n ) . Supponiamo di eliminare dalla considerazione quelli che sono almeno log 2 ( n c + 1 ) = ( c + 1 ) log 2 n . Ciò rimuove al massimo il peso 1 / n dalla somma della disuguaglianza di Kraft, quindi per quelle foglie v in profondità al massimo d ( v ) ( c +ncO(logn)log2(nc+1)=(c+1)log2n1/nv , abbiamo Σ v l o w d e p t h l e un f 2 - d ( v ) > 1 - 1d(v)(c+1)log2n . Abbiamo ancheΣvlowdepthleunf2-d(v)<1(poiché almeno un'anta ha profondità troppo grande per essere inclusi in questa somma).v low depth leaf2d(v)>11nv low depth leaf2d(v)<1

È abbastanza facile dimostrare che ottenere una somma di numeri rigorosamente tra 1 e 1 - 12k1 , abbiamo bisogno diregistrarnealmeno2n. Questo mostra che ci sonopercorsiΩ(logn)connodi ramificatiO(logn).11nlog2nΩ(logn)O(logn)


Se qualcuno si sta chiedendo perché sto definendo un'equazione una disuguaglianza, la disuguaglianza di Kraft ha un segno uguale per alberi binari completi .
Peter Shor,

Grazie per questa bella risposta Fino ad ora non conoscevo la disuguaglianza di Kraft. Disuguaglianza molto utile.
Marc Bury,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.