Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Struktur Data & Algoritma

Pelajaran 7 dari 17

Tumpukan, antrean, dan senarai berkait

Senarai berkait: simpul yang saling menunjuk

Setelah pelajaran ini kamu bisa menelusuri, menyisipkan, dan menghapus simpul pada senarai berkait, dan membandingkan biayanya dengan list.

±13 menitDiperiksa 1 Okt 2026

Materi

Senarai berkait (linked list) menyimpan data dalam simpul-simpul yang terpisah. Setiap simpul memegang satu nilai dan satu rujukan ke simpul berikutnya; simpul terakhir merujuk None. Yang dipegang program hanya simpul pertama, yang disebut kepala. Berbeda dengan list Python yang menyimpan datanya berderet, simpul senarai berkait boleh tersebar di mana saja di memori.

Akibatnya biaya operasinya terbalik dari list. Menyisipkan atau menghapus di depan cukup mengubah satu rujukan, berapa pun panjangnya. Tetapi untuk sampai ke data ke-k, rujukan harus diikuti satu per satu dari kepala, sehingga butuh k langkah; list melompat langsung ke indeks mana pun. Struktur ini jarang ditulis sendiri di Python, tetapi cara berpikirnya, objek yang merujuk objek lain, adalah dasar pohon dan graf di modul berikutnya.

class Gerbong:
    def __init__(self, muatan, berikut=None):
        self.muatan = muatan
        self.berikut = berikut

kereta = Gerbong("semen", Gerbong("pasir", Gerbong("bata")))

def ada(kepala, dicari):
    g = kepala
    while g is not None:
        if g.muatan == dicari:
            return True
        g = g.berikut
    return False

Menghapus simpul di tengah berarti membuat simpul sebelumnya melompati simpul itu: rujukan berikut milik simpul sebelumnya diarahkan ke simpul sesudahnya. Karena itu penelusuran untuk menghapus berhenti satu simpul sebelum yang dihapus. Menghapus kepala adalah kasus tersendiri, karena tidak ada simpul sebelumnya; fungsi mengembalikan kepala baru.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Sebuah senarai berkait dan sebuah list Python sama-sama berisi 100.000 data. Mengapa membaca data ke-50.000 jauh lebih lambat pada senarai berkait?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke