Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Jadual Hash Dwiarah Meningkatkan Carian dan Pengambilan Nilai Kunci?

Bagaimanakah Jadual Hash Dwiarah Meningkatkan Carian dan Pengambilan Nilai Kunci?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-29 11:22:30825semak imbas

How do Bidirectional Hash Tables Enhance Key-Value Lookup and Retrieval?

Cara Membina Jadual Hash Dwi Arah Yang Berkesan

Begitu juga dengan struktur data dict Python, jadual hash dwiarah (selepas ini dirujuk sebagai bidict) menawarkan mekanisme carian dan perolehan nilai kunci. Walau bagaimanapun, bidik juga membolehkan pertanyaan nilai kepada kunci, memberikan keupayaan carian yang lebih komprehensif.

Pelaksanaan Bidik yang Cekap

Pelaksanaan bidik yang cekap boleh dicapai menggunakan kelas yang memanjangkan jenis data dict standard. Kelas bidict ini secara dinamik mengekalkan direktori songsang yang mengaitkan nilai (daripada dict asal) kepada senarai kunci yang sepadan.

Ciri Utama

  • Auto-kemas kini direktori songsang: Perubahan dalam dict standard secara automatik dicerminkan dalam direktori songsang.
  • Senarai kunci nilai: Direktori songsang memetakan nilai kepada senarai kunci, membenarkan untuk berbilang kunci mempunyai nilai yang sama.
  • Penyetel dan pemadam tersuai: Kaedah setitem dan delitem yang diubah suai memastikan tingkah laku yang betul semasa menetapkan dan memadam item.

Pecahan Kod

Melaksanakan kelas bidict melibatkan:

  • Mengatasi __init__: Mulakan kedua-dua dict standard dan direktori songsang.
  • Mengatasi __setitem__: Tambahkan pasangan nilai kunci baharu pada dict standard dan kemas kini direktori songsang dengan sewajarnya.
  • Mengatasi __delitem__: Alih keluar kekunci daripada dict standard dan kemas kini direktori songsang dengan mengalih keluar kekunci daripada senarai nilai.

Contoh Penggunaan

<code class="python">bd = bidict({'a': 1, 'b': 2}) 
print(bd)                     # {'a': 1, 'b': 2}                 
print(bd.inverse)             # {1: ['a'], 2: ['b']}</code>

Dengan menggunakan direktori songsang, anda boleh dengan mudah mendapatkan kunci daripada nilai yang diberikan:

<code class="python">print(bd.inverse[1])             # ['a']</code>

Atas ialah kandungan terperinci Bagaimanakah Jadual Hash Dwiarah Meningkatkan Carian dan Pengambilan Nilai Kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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