Banyak algoritma akan menentukan bahwa duplikat dikecualikan. Sebagai contoh, algoritma contoh dalam buku Algoritma MIT biasanya menyajikan contoh tanpa duplikat. Cukup sepele untuk mengimplementasikan duplikat (baik sebagai daftar di simpul, atau dalam satu arah tertentu).
Sebagian besar (yang pernah saya lihat) menetapkan anak kiri sebagai <= dan anak kanan sebagai>. Secara praktis, BST yang memungkinkan anak-anak dari kanan atau kiri sama dengan simpul akar, akan memerlukan langkah komputasi ekstra untuk menyelesaikan pencarian di mana duplikat node diperbolehkan.
Yang terbaik adalah menggunakan daftar di simpul untuk menyimpan duplikat, karena menyisipkan nilai '=' ke satu sisi simpul memerlukan penulisan ulang pohon di sisi itu untuk menempatkan simpul sebagai anak, atau simpul ditempatkan sebagai grand -cild, di beberapa titik di bawah ini, yang menghilangkan beberapa efisiensi pencarian.
Anda harus ingat, sebagian besar contoh ruang kelas disederhanakan untuk menggambarkan dan menyampaikan konsep. Mereka tidak layak jongkok dalam banyak situasi dunia nyata. Tetapi pernyataan, "setiap elemen memiliki kunci dan tidak ada dua elemen yang memiliki kunci yang sama", tidak dilanggar dengan menggunakan daftar pada simpul elemen.
Jadi, pergilah dengan apa yang dikatakan buku struktur data Anda!
Edit:
Definisi Universal dari Pohon Pencarian Biner melibatkan penyimpanan dan pencarian kunci berdasarkan melintasi struktur data di salah satu dari dua arah. Dalam arti pragmatis, itu berarti jika nilainya <>, Anda melintasi struktur data di salah satu dari dua 'arah'. Jadi, dalam hal itu, nilai duplikat sama sekali tidak masuk akal.
Ini berbeda dari BSP, atau partisi pencarian biner, tetapi tidak semuanya berbeda. Algoritme untuk pencarian memiliki satu dari dua arah untuk 'perjalanan', atau itu dilakukan (berhasil atau tidak.) Jadi saya minta maaf karena jawaban asli saya tidak membahas konsep 'definisi universal', karena duplikat benar-benar berbeda topik (sesuatu yang Anda tangani setelah pencarian yang berhasil, bukan sebagai bagian dari pencarian biner.)