Quali sono il numero massimo e minimo di nodi in un albero di suffisso? E come posso dimostrarlo?Numero massimo e minimo di nodi in un albero suffisso
risposta
Ipotizzando un testo di input di N
caratteri di lunghezza, il numero minimo di nodi, compresi il nodo radice e tutti i nodi foglia, è N+1
, il numero massimo di nodi, tra cui la radice e foglie, è 2N-1
.
Prova di minimo: Ci deve essere almeno un nodo foglia per ogni suffisso e ci sono i suffissi N
. Non c'è bisogno di essere qualsiasi nodo interno, esempio: se il testo è una sequenza di simboli unici, abc$
, ci sono rami, quindi nessun nodo interno nella struttura suffisso risultante:
Quindi il minimo è N
foglie, 0
nodi interni e il nodo radice 1
, nella somma N+1
nodi.
Prova di massima: Il numero di nodi foglia non può mai essere maggiore di N
, perché un nodo foglia è dove finisce un suffisso, e non è possibile avere più di N
suffissi distinti in una stringa di lunghezza N
. (In effetti, hai sempre esattamente i suffissi distinti N
, quindi i nodi foglia N
esattamente.) Il nodo radice è sempre esattamente 1
, quindi la domanda è qual è il numero massimo di nodi interni. Ogni nodo interno introduce un ramo nell'albero (poiché i nodi interni di un albero di suffisso hanno almeno 2 figli). Ogni nuovo ramo deve eventualmente condurre ad almeno un nodo foglia in più, quindi se si dispone di nodi interni K
, devono essere presenti almeno i nodi foglia K+1
e la presenza del nodo radice richiede almeno un'ulteriore foglia (a meno che l'albero non sia vuoto). Ma il numero di nodi foglia è limitato da N
, quindi il numero massimo di nodi interni è limitato da N-2
. Questo produce esattamente N
foglie, radice 1
e un massimo di N-2
nodi interni, 2N-1
in totale.
Per vedere che questo non è solo un limite superiore teorico, ma alcuni alberi di suffisso raggiungono effettivamente questo valore massimo, consideriamo come esempio una stringa con un solo carattere ripetuto: 'aaa $'. Confermare che l'albero suffisso per questo ha 7 nodi (compresi radice e foglie):
Sommario: Come evidente, l'unica variabile reale è il numero di nodi interni; il numero di radici e foglie è costante a 1
e N
per tutti gli alberi di suffisso, mentre il numero di nodi interni varia tra 0
e N-2
.
Grazie! Questo aiuta davvero molto! –
- 1. Minimo e massimo di un campo in cakephp e mysql
- 2. generalizzato suffisso Albero Java Attuazione
- 3. Haskell minimo/massimo Doppio costante
- 4. Trovare il valore massimo e minimo di ogni colonna e poi trovare il valore massimo e minimo di ogni riga
- 5. Trovare il minimo e il massimo in python
- 6. Come posso ottenere il numero minimo/massimo possibile numerico?
- 7. Aggiornamento di un albero di copertura minimo quando si inserisce
- 8. Come coprire il numero massimo di nodi tramite un determinato percorso in un grafico?
- 9. numero suffisso per breve
- 10. valore minimo e massimo del tipo di dati in C
- 11. Qual è il numero totale di nodi in un albero k-ary completo, in termini di numero di foglie?
- 12. Ottenere il numero totale di nodi e nodi di conteggio
- 13. Relazione tra il numero di nodi e l'altezza
- 14. Ottieni il valore massimo e minimo dall'array in JavaScript
- 15. Impostazione di un numero di caratteri minimo/massimo per qualsiasi carattere utilizzando un'espressione regolare
- 16. Trova il massimo, il minimo e la media in F #
- 17. iphone e notifiche: numero massimo di notifiche?
- 18. OBJ-C: Ottenere il valore minimo/massimo in un NSMutableArray
- 19. Numero massimo di thread
- 20. Come impostare un limite minimo e massimo per un selettore di date in Android?
- 21. Massimizza il numero di sottografi con un peso minimo specificato
- 22. Codice di corrispondenza bipartito di costo massimo/minimo in Python
- 23. Determina la distanza tra due nodi casuali in un albero
- 24. come fare il numero di suffisso stringa
- 25. Numero massimo superato di DLL in R
- 26. Numero di analisi con suffisso negativo
- 27. Attributi Perl Moose con valore minimo, massimo e predefinito
- 28. Trovare il valore minimo del cluster massimo?
- 29. Le differenze tra minimo Spanning Tree e Shortest Path Albero
- 30. Intervallo massimo si sovrappone utilizzando un albero ad intervalli
Benvenuti in Stack Overflow e grazie per la pubblicazione. Si prega di includere del codice per mostrare [cosa si è provato] (http://whathaveyoutried.com) e dare un'occhiata a [Come chiedere] (http://stackoverflow.com/questions/how-to-ask). –
Questo è un duplicato di questa domanda: http://stackoverflow.com/questions/12865639/maximum-and-minimum-number-of-edges-in-a-suffix-tree –
Che sono i bordi, voglio saperlo per i nodi. Non c'è nulla da implementare, devo solo sapere quanti nodi ci possono essere in un albero di suffisso. –