0Pricing
Coding Interview Prep · Pelajaran

Adjacency List dari Input

Membangun graf yang diberikan dalam kontes

Adjacency List dari Input adalah pelajaran Coding Interview Prep gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Coding Interview Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa Sebenarnya Graf Itu

Graf hanyalah titik-titik yang disebut simpul dan dihubungkan oleh garis yang disebut sisi. Kota-kota yang dihubungkan oleh jalan adalah contoh graf yang sudah Anda kenal. 🗺️

Simpul dan Sisi

Setiap simpul adalah sesuatu, dan setiap sisi menyatakan bahwa dua simpul saling terhubung. Dalam kompetisi pemrograman, simpul biasanya diberi nomor dari 1 hingga n.

Daftar Ketetanggaan

Penyimpanan yang umum digunakan dalam kompetisi adalah daftar ketetanggaan: untuk setiap simpul, simpan daftar tetangga langsungnya.

adj = [[] for _ in range(n + 1)]

Mengapa Bukan Matriks

Matriks menggunakan memori sebesar n kuadrat, yang meningkat drastis untuk n yang besar. Daftar ketetanggaan hanya menyimpan sisi yang benar-benar ada, sehingga dapat menangani ukuran besar.

Membaca Baris Pertama

Sebagian besar masukan dimulai dengan dua bilangan: n simpul dan m sisi. Baca keduanya terlebih dahulu agar Anda tahu berapa banyak sisi yang harus diharapkan.

n, m = map(int, input().split())

Satu Sisi per Baris

Masing-masing dari m baris berikutnya memberikan pasangan u v. Satu sisi tersebut berarti u dan v terhubung secara langsung.

u, v = map(int, input().split())

Tak Berarah Berarti Dua Arah

Untuk sisi tak berarah, tambahkan hubungan ke kedua arah. Anda dapat berjalan dari u ke v dan dari v ke u.

adj[u].append(v)
adj[v].append(u)

Berarah Berarti Satu Arah

Untuk sisi berarah, simpan hanya hubungan dari u ke v. Bacalah pernyataan soal dengan teliti untuk mengetahui jenis yang Anda miliki.

adj[u].append(v)

Membangunnya dalam Perulangan

Lakukan perulangan sebanyak m kali, baca setiap pasangan, lalu isi daftarnya. Setelah perulangan selesai, daftar ketetanggaan Anda memuat seluruh graf.

for _ in range(m):
    u, v = map(int, input().split())
    adj[u].append(v)
    adj[v].append(u)

Indeks Dimulai dari 1 vs 0

Jika simpul dimulai dari 1, buat ukuran daftar sebesar n ditambah 1 agar indeks n valid. Kesalahan dalam pengindeksan menyebabkan galat yang tidak terlihat.

Mengunjungi Tetangga Simpul

Setelah graf dibangun, penelusuran menjadi mudah: lakukan perulangan pada daftar ketetanggaan sebuah simpul untuk mencapai setiap tetangga dalam satu langkah.

for nb in adj[u]:
    print(nb)

Pemeriksaan Singkat

Anda membaca sisi tak berarah u v. Apa yang Anda simpan?

Ringkasan

Sekarang Anda dapat membangun graf sebagai daftar ketetanggaan: baca n dan m, lakukan perulangan pada sisi, lalu tambahkan kedua arah jika sisinya tak berarah. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Adjacency List dari Input” gratis?

Ya — teks lengkap “Adjacency List dari Input” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Coding Interview Prep, upgrade ke CoddyKit PRO. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Adjacency List dari Input”?

Membangun graf yang diberikan dalam kontes Kamu berlatih Coding Interview Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Coding Interview Prep?

Tidak diperlukan pengalaman sebelumnya. Coding Interview Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Adjacency List dari Input” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Coding Interview Prep ini?

Ya. Setiap pelajaran Coding Interview Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Adjacency List dari Input
  2. BFS untuk Jalur Terpendek Tanpa Bobot
  3. DFS, Rekursi & Stack Iteratif
  4. Komponen Terhubung & Flood Fill
← Kembali ke Coding Interview Prep