Come si ottiene la 'proprietà BST' in un albero di ricerca binaria modello?

1

Recentemente abbiamo iniziato a conoscere gli alberi di ricerca binaria. Abbiamo creato uno dei nostri utilizzando interi come chiave / dati. È facile ottenere la proprietà BST usando una chiave int, ma cosa succede quando modelliamo il nostro albero? Come possiamo ottenere la nostra proprietà BST con say char, string o foo? - Questi non sembrano adatti per le chiavi. Manteniamo semplicemente un int sul nostro nodo e lo usiamo come Key invece dei nostri dati T? Oppure, sto completamente fraintendendo questo concetto tutti insieme?

Nell'esempio di codice seguente, il coder implementa un albero di ricerca binario del modello e sta usando T come chiave. Procede a eseguire confronti tra T durante l'inserimento, ecc. Ma cosa succede quando T non ha sovraccarico per gli operatori di confronto? Questo codice cade a pezzi corretto?

link

    
posta Sebastian King 07.05.2016 - 13:24
fonte

1 risposta

1

Sì, non riesce a compilare, il che è un risultato perfetto e corretto. Il suo BST è un'implementazione valida per qualsiasi tipo di chiave valida e non riesce a compilare i tipi di chiavi errati. Non c'è motivo di desiderare altri comportamenti. È il miglior risultato possibile.

These don't seem fitting for keys.

Ti sbagli. Qualsiasi T con un operatore di confronto e un paio di altri bit come i costruttori di copia / spostamento è una chiave adatta.

    
risposta data 07.05.2016 - 13:36
fonte

Leggi altre domande sui tag