Struktur Data Python: Pohon Pemberi

Pohon Python sangat mirip dengan daftar-tertaut, tetapi dengan urutan hierarki. Pohon terdiri dari node yang terhubung ke node lain. Simpul bawah yang tidak memiliki tautan disebut sebagai daun . Node yang ditautkan ke node lain dikenal sebagai induk, dan yang ditautkan ke anak-anak.

Pohon biasanya dibangun dengan berbagai node, atau struktur dalam yang mengalir. Jadi bisa dibilang pohon itu lebar atau dalam .

Pohon lebar vs struktur pohon dalam

Versi efisien dari struktur pohon dikenal sebagai pohon pencarian biner. Di situlah Anda hanya mengizinkan simpul induk untuk memiliki dua simpul anak. Node di sebelah kiri memiliki nilai yang lebih kecil daripada node di sebelah kanan. Membangun pohon seperti ini membuatnya sangat efisien untuk melintas, dan menemukan nilai tertentu.

contoh struktur pohon biner

Dalam contoh di atas, jika saya ingin mencari nilai 98 dari 39, saya akan bergerak ke kanan sebagai 98> 39 - dari 70 pindah ke kanan lagi - dari 97 ke kanan, dan dalam tiga gerakan saya telah menemukan node yang saya inginkan.

Jadi mari kita buat simpul pohon dengan python, dan lihat salah satunya beraksi. Yang kita perlukan untuk memulai simpul pohon adalah sebuah nama. Kami akan secara otomatis menetapkannya ke daftar kosong untuk menampung semua node turunan yang akan datang.

Jika Anda membaca artikel saya sebelumnya tentang struktur data python, ini akan terlihat familier.

Sekarang seperti halnya struktur data apa pun, kita harus mengingat fungsionalitas praktis yang kita inginkan untuk dimiliki oleh pohon kita. Menambahkan node, dan menghapus node adalah pilihan yang jelas, dan juga mudah untuk diterapkan.

Untuk menambahkan saya akan menggunakan metode append () , dan untuk menghapus saya hanya akan mengulang melalui daftar self.children, dan menambahkan kembali semua node dengan pengecualian node yang ingin saya hapus.

Selanjutnya kita akan melintasi pohon untuk menemukan informasi yang kita inginkan. Untuk membangun metode ini, kita akan mulai dengan daftar kosong untuk diisi dengan setiap node yang akan dikunjungi. Sementara node tersebut memiliki node turunan, kami akan mengeluarkannya, dan menambahkannya ke daftar node untuk dikunjungi.

Menurut Anda, di manakah struktur data seperti ini yang paling baik digunakan? Mungkin jika kita menambahkan beberapa logika untuk mengakses node, kita dapat membagi banyak hak istimewa yang dapat dimiliki pengguna.

Pohon data adalah alat yang hebat dan banyak digunakan di dunia pengkodean. Saya harap pengantar singkat ini setidaknya memberikan gambaran sekilas mengapa Anda ingin tahu tentang struktur ini.

Suggested posts

Mencari Informasi Tentang Nama Domain

Kutipan dari Alat Perangkat Lunak Kecil dan Tajam oleh Brian P. Hogan

Mencari Informasi Tentang Nama Domain

Saat Anda membuat permintaan ke facebook.com, komputer Anda mencari nama domain untuk menerjemahkan nama domain tersebut menjadi alamat IP sehingga komputer Anda dapat membuat koneksi tersebut.

Cara menjalankan plugin ChatGPT secara gratis menggunakan Langchain

Cara menjalankan plugin ChatGPT secara gratis menggunakan Langchain

Anda pasti pernah mendengar tentang semua plugin ChatGPT baru yang kuat seperti Browser, Code Interpreter, dll. Namun ada masalah, akses ke plugin terbatas pada daftar tunggu sehingga banyak yang tidak memiliki akses ke sana.

Related posts

Pembunuhan Jordan Neely dan Masalah Rasisme “Patriotik”.

Bisakah AS mengambil langkah penting untuk tidak menyamakan perilaku rasis dengan menjadi orang Amerika yang baik?

Pembunuhan Jordan Neely dan Masalah Rasisme “Patriotik”.

[Peringatan pemicu: Esai ini mencakup tangkapan layar orang-orang yang memuji pembunuh Jordan Neely.] Petugas penegak hukum akhirnya - dan mungkin dengan enggan - menuntut Daniel Penny, pria yang mencekik Jordan Neely sampai dia mati, atas pembunuhan itu.

Mengapa beberapa pekerja lepas memalsukan hidup mereka

Mengapa beberapa pekerja lepas memalsukan hidup mereka

Saya baru-baru ini berada di Linkedin, jejaring sosial profesional terbesar di dunia, dan menemukan postingan dari desainer lepas yang saya ikuti yang menarik perhatian saya. Mereka semua memposting foto dari pesawat terbang, di pantai dengan laptop mereka, dari kolam renang, dan kantor dengan pemandangan menakjubkan.

Belajar di Minggu Kerja lebih penting daripada yang Anda pikirkan

Belajar di Minggu Kerja lebih penting daripada yang Anda pikirkan

Kita sering menemukan diri kita berjuang untuk menerapkan apa yang kita tahu baik untuk kita. Dari memberi tahu orang penting bahwa kita mencintai mereka hingga mengingat untuk berbicara seperti bajak laut, akan selalu ada orang yang mengklaim bahwa acara sehari, seminggu, atau sebulan tidak diperlukan karena mereka sudah melakukan hal-hal itu.

3 Cara Terbukti untuk Meningkatkan Keterampilan Menulis Anda

Manfaat menulis, dan strategi untuk membantu Anda melakukannya

3 Cara Terbukti untuk Meningkatkan Keterampilan Menulis Anda

Di tahun 2022, dengan dirilisnya GPT-3, kemampuan menulis sepertinya menjadi kurang penting. Dengan AI, orang dengan tulisan yang buruk juga dapat menghasilkan staf yang berkualitas.