Tambahkan semua nilai yang lebih besar dalam pepohon carian binari yang diberikan kepada setiap nod

WBOY
Lepaskan: 2023-09-07 12:17:04
ke hadapan
1280 orang telah melayarinya

Tambahkan semua nilai yang lebih besar dalam pepohon carian binari yang diberikan kepada setiap nod

BST atau Binary Search Tree ialah satu bentuk pepohon binari di mana semua nod kiri mempunyai nilai kurang daripada nilai nod akar dan semua nod kanan mempunyai nilai lebih besar daripada nilai nod akar. Untuk masalah ini, kami akan mengambil pokok binari dan menambah padanya semua nilai yang lebih besar daripada nilai nod semasa. Masalah "menambah semua nilai yang lebih besar pada setiap nod BST" dipermudahkan kepada, untuk BST, menambah semua nilai nod yang lebih besar daripada nilai nod semasa kepada nilai nod itu.

Tambah semua nod nilai yang lebih besar pada setiap nod dalam Pernyataan Masalah BST:

Memandangkan Pokok Carian Binari (BST), kita perlu menambah untuk setiap nod jumlah semua nod nilai yang lebih besar. .

Tambah semua nilai yang lebih besar pada setiap nod dalam penyelesaian pokok carian binari:

Kami menggunakan reverse inorder traversal (secara rekursif memanggil subtree kanan dahulu bukannya subtree kiri), dan mengekalkan pembolehubah untuk menyimpan Jumlah nod yang telah dilalui setakat ini.

Kami kemudian menggunakan jumlah ini untuk mengubah suai nilai nod semasa, mula-mula menambah nilainya pada jumlah, dan kemudian menggantikan nilai nod dengan jumlah ini.

Contoh

    10
    /  \
   /    \
  5     20
 / \   / \
1   7   1  5
Salin selepas log masuk

Atas ialah kandungan terperinci Tambahkan semua nilai yang lebih besar dalam pepohon carian binari yang diberikan kepada setiap nod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!