Bagaimana Menerapkan Daftar Tertaut dengan Python?



Artikel ini menunjukkan bagaimana Anda dapat membuat daftar tertaut dengan python dengan berbagai metode untuk memasukkan pembaruan dan menghapus elemen dalam daftar tertaut.

Bahasa pemrograman Python adalah bahasa sumber terbuka dengan berbagai implementasi out-of-the-box yang membuatnya unik dan lebih mudah dipelajari. Meskipun tidak mendukung konsep daftar tertaut, ada jalan keluar melalui implementasi yang berbeda untuk mendapatkan daftar tertaut. Pada artikel ini, kita akan belajar bagaimana kita bisa membuat daftar tertaut dengan Python. Berikut adalah topik yang dibahas dalam blog ini:

Mari kita mulai!!





Apa itu Daftar Tertaut?

Link list merupakan urutan node yang memiliki tipe data yang sama, setiap node berisi satu objek data dan penunjuk ke node berikutnya.

Daftar tertaut adalah struktur data linier dengan kumpulan banyak node. Dimana each elemen menyimpan datanya sendiri dan penunjuk ke lokasi elemen berikutnya. Tautan terakhir dalam daftar tertaut menunjuk ke nol, yang menunjukkan akhir rantai. Elemen dalam daftar tertaut disebut a simpul . Node pertama disebut kepala .Node terakhir dipanggilitu ekor .
daftar tertaut - daftar tertaut di python - edurekaPustaka python standar tidak memiliki daftar tertaut. Konsep struktur data link list dapat diimplementasikan dengan menggunakan konsep node.



Sekarang kita telah mempelajari tentang apa itu Linked. Jadi mari kita lanjutkan dengan menerapkan daftar Linked.

Menerapkan Daftar Tertaut

Untuk membuat Daftar Tertaut, kami membuat objek node dan membuat kelas lain untuk menggunakan objek node ini.
Kode untuk membuat kelas Node.
Program di atas membuat daftar tertaut dengan tiga elemen data.

class Node (objek): # Pembuat untuk menginisiasi variabel kelas def __init __ (self, data = None, next_node = None): self.data = data self.next_node = next_node #get data def get_data (self): return self.data # dapatkan nilai berikutnya def get_next (self): return self.next_node # set data berikutnya def set_next (self, new_next): self.next_node = new_next

Implementasi daftar tautan terdiri dari fungsi berikut dalam daftar tertaut
satu. Memasukkan : Metode ini akan memasukkan node baru ke dalam daftar tertaut.
2. Ukuran : Metode ini akan mengembalikan ukuran daftar tertaut.
3. Cari : Metode ini akan mengembalikan node yang berisi data, jika tidak, akan menimbulkan kesalahan
Empat. Menghapus : Metode ini akan menghapus node yang berisi data, jika tidak akan menimbulkan kesalahan



Mari kita lihat Metode daftar Linked

Metode init dalam daftar tertaut

class LinkedList (object): def __init __ (self, head = None): self.head = head

Metode init digunakan untuk inisialisasi a kelas variabel jika daftar tidak memiliki node, daftar itu disetel ke tidak ada.

Memasukkan:

def insert (self, data): new_node = Node (data) new_node.set_next (self.head) self.head = new_node

Metode penyisipan ini mengambil data, menginisialisasi node baru dengan data yang diberikan, dan menambahkannya ke daftar. Secara teknis Anda dapat memasukkan node di mana saja dalam daftar, tetapi cara paling sederhana untuk melakukannya adalah dengan menempatkannya di bagian atas daftar dan mengarahkan node baru ke kepala lama (semacam mendorong node lain ke bawah).

Ukuran

# Mengembalikan jumlah total node dalam daftar def size (self): current = self.head count = 0 sedangkan current: count + = 1 current = current.get_next () return count

Metode ukuran sangat sederhana, pada dasarnya menghitung node sampai tidak dapat menemukannya lagi, dan mengembalikan berapa banyak node yang ditemukan. Metode ini dimulai dari simpul kepala, berjalan menuruni garis simpul hingga mencapai ujung (arus akan menjadi Tidak Ada ketika mencapai ujung) sambil melacak berapa banyak simpul yang telah dilihatnya.

Cari

# Mengembalikan node dalam daftar yang memiliki nodeData, error terjadi jika node tidak hadir def pencarian (self, nodeData): current = self.head isPresent = False sedangkan current dan isPresent adalah False: if current.get_data () == nodeData: isPresent = Benar lagi: current = current.get_next () jika saat ini Tidak Ada: naikkan ValueError ('Data tidak ada dalam daftar') kembalikan arus

Pencarian sebenarnya sangat mirip dengan ukuran, tetapi alih-alih melintasi seluruh daftar node, ia memeriksa di setiap perhentian untuk melihat apakah node saat ini memiliki data yang diminta. Jika demikian, mengembalikan node yang menyimpan data tersebut. Jika metode melewati seluruh daftar tetapi masih belum menemukan datanya, ini menimbulkan kesalahan nilai dan memberi tahu pengguna bahwa data tidak ada dalam daftar.

Menghapus

# Hapus node dari daftar tertaut mengembalikan kesalahan jika node tidak hadir def delete (self, nodeData): current = self.head before = None isPresent = False sementara saat ini dan isPresent adalah False: if current.get_data () == nodeData: isPresent = Benar lain: sebelumnya = arus saat ini = arus.get_next () jika saat ini adalah Tidak Ada: naikkan ValueError ('Data tidak ada dalam daftar') jika sebelumnya adalah Tidak Ada: self.head = current.get_next () else: sebelumnya.set_next ( current.get_next ())

Metode delete melintasi daftar dengan cara yang sama seperti pencarian, tetapi selain melacak node saat ini, metode delete juga mengingat node terakhir yang dikunjungi. Ketika delete akhirnya sampai di node yang ingin dihapus. Ini hanya menghapus simpul itu dari rantai dengan 'melompati' itu.

Maksud saya, saat metode delete mencapai node yang ingin dihapus, metode ini akan melihat node terakhir yang dikunjungi (node ​​'sebelumnya') dan menyetel ulang pointer node sebelumnya. Daripada menunjuk ke node yang akan segera dihapus.

Ini akan mengarah ke simpul berikutnya. Karena tidak ada node yang menunjuk ke node buruk yang sedang dihapus, node tersebut secara efektif dihapus dari daftar!

Ini membawa kita ke akhir artikel ini di mana kita telah belajar bagaimana kita dapat membuat daftar tertaut dengan python dengan implementasi serupa meskipun python tidak benar-benar mendukung konsep daftar tertaut. Saya harap Anda jelas dengan semua yang telah dibagikan dengan Anda dalam tutorial ini.

Jika Anda menemukan artikel tentang 'Daftar Tertaut Dengan Python' ini relevan, lihat Perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar puas yang tersebar di seluruh dunia.

Kami di sini untuk membantu Anda dengan setiap langkah dalam perjalanan Anda dan menghasilkan kurikulum yang dirancang untuk siswa dan profesional yang ingin menjadi . Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Python dan melatih Anda untuk konsep inti dan lanjutan Python bersama dengan berbagai Suka

tutorial alat talend etl pdf

Jika Anda menemukan pertanyaan, silakan ajukan semua pertanyaan Anda di bagian komentar 'Daftar Tertaut Dengan Python' dan tim kami akan dengan senang hati menjawabnya.