Setengah dekade yang lalu saya duduk di kelas struktur data di mana profesor menawarkan kredit tambahan jika ada yang bisa melintasi pohon tanpa menggunakan rekursi, tumpukan, antrian, dll (atau struktur data serupa lainnya) dan hanya beberapa petunjuk. Saya datang dengan apa yang saya pikir merupakan jawaban yang jelas untuk pertanyaan yang akhirnya diterima oleh profesor. Saya duduk di kelas matematika diskrit dengan profesor lain di departemen yang sama - dan dia menegaskan bahwa tidak mungkin untuk melintasi pohon tanpa rekursi, tumpukan, antrian, dll., Dan solusi saya tidak valid.
Jadi, apakah mungkin, atau tidak mungkin? Mengapa atau mengapa tidak?
Sunting: Untuk menambahkan beberapa klarifikasi, saya menerapkan ini pada pohon biner yang memiliki tiga elemen - data yang disimpan di setiap node dan pointer ke dua anak. Solusi saya dapat diperluas ke pohon n-ary dengan hanya beberapa perubahan.
Guru struktur data saya tidak memberikan hambatan apa pun terhadap mutasi pohon, dan memang saya kemudian mengetahui bahwa solusinya sendiri adalah dengan menggunakan pointer anak untuk menunjuk kembali pohon dalam perjalanan turun. Profesor matematika diskrit saya mengatakan mutasi pohon berarti bahwa itu bukan lagi pohon sesuai dengan definisi matematika pohon, definisinya juga akan menghalangi setiap petunjuk kepada orang tua - yang akan cocok dengan kasus di mana saya menyelesaikannya di atas.