Eseguire query su un albero di ricerca binario (Binary Search Tree)
Dato un albero di ricerca binario (BST) vuoto, ovvero senza alcun nodo, devi effettuare tre tipi di query:
insert x
- inserisce il valorex
nel BSTsearch x
- verifica se il valorex
è presente nel BSTprint
- stampa il BST utilizzando l’attraversamento in-order
Dati q
query, si richiede di scrivere un programma che esegua queste operazioni.
Input
La prima riga dell’input contiene un singolo numero q
(1 ≤ q ≤ 1000).
Le successive q
righe contengono le query. Per tutte le query di tipo insert
e search
, il valore di x
non supera in valore assoluto.
Output
Per ogni query di tipo search
, il programma deve stampare su una nuova riga "Yes" se il valore è presente nel BST, altrimenti "No".
Per ogni query di tipo print
, il programma deve stampare i valori del BST in ordine in-order, separandoli con uno spazio.
Esempi
Ingresso | Uscita |
---|---|
6 insert 2 insert 1 search 3 insert 0 print search 1 | No 0 1 2 Yes |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB