QNA > W > Perché Non C'è Un Contenitore Standard Di Alberi In Python?
Domanda

Perché non c'è un contenitore standard di alberi in Python?

Risposte
02/05/2022
Oira

La mia ipotesi (anche se solo Guido lo sa per certo) è che ci sono molti tipi diversi di alberi, e che i dizionari Python sono abbastanza buoni per la maggior parte dei casi d'uso.

Puoi emulare un albero binario usando una lista e il modulo bisect per la ricerca binaria. http://docs.python.org/library/bisect.html

03/25/2022
Gunas Langlois

Non posso parlare del ragionamento reale qui, ma posso dare una spiegazione del perché non lo vedo come un problema:

Il più delle volte, quando uno decide che ha bisogno di una struttura ad albero (qui siamo nella terra del codice reale, non dei progetti di classe), ha bisogno di una struttura ad albero molto specifica che può o non può avere puntatori ai genitori, puntatori ai fratelli, ancora più puntatori per la cascata frazionaria, e probabilmente ha tutti i tipi di metadati e funzioni specializzate che fanno le cose esattamente come devono essere fatte per uno scopo molto specifico.

Se la gente di Python vi avesse dato una struttura ad albero predefinita, avrebbe avuto bisogno di tutti i tipi di parametri di personalizzazione e avrebbe dovuto implementare un'API piuttosto grande affinché la vostra classe fosse un elemento dell'albero, il che l'avrebbe resa incomprensibile e probabilmente più codice di quanto avreste mai avuto bisogno, il che significa che ne avreste comunque implementato una vostra, oppure sarebbe stata estremamente restrittiva, e quindi completamente inutilizzabile per qualsiasi scopo serio, quindi, di nuovo, ne avreste semplicemente implementato una vostra.

Dare una risposta
Cosa succede se qualcuno mangia una banana che è rossa all'interno? :: Usare solo compost (John Innes 3) senza terra fa male alle piante in contenitore (alberi ornamentali)?
Link utili