Menu
CoddyTech
Jalur belajar

Struktur Data dan Algoritma dengan JavaScript

JavaScript memberimu Array, Map, dan Set, tanpa queue, heap, linked list, atau tree, jadi wawancara memintamu membangunnya. Jalur ini memintamu menulis masing-masing dalam JavaScript, lalu melakukan sorting, rekursi, dan penelusuran graf dengannya, dan menyelesaikan soal wawancara yang dinilai. Gratis, di browser, dengan sertifikat di sebagian besar kursus.

377 pelajaran284 tantangan702 soal kuis

DSA dengan JavaScript, langkah demi langkah

38 kursus377 pelajaran284 tantangan702 soal kuis

Setiap langkah adalah sekumpulan kursus Coddy yang sudah ada, dan setiap tombol Mulai membukanya dalam JavaScript. Tiga kursus yang belum diajarkan dalam JavaScript dicantumkan setelah langkah-langkahnya.

  1. 1
    Mulai langkah iniMulaiStack, queue, binary tree, hash table, dan linked list, masing-masing dibangun dari nol dalam JavaScript lalu dipakai untuk menyelesaikan soal. Setelahnya, kamu tahu kapan array menjadi stack yang bagus, kapan ia menjadi queue yang buruk, dan apa yang dilakukan Map untukmu.Mulai
  2. 2
    Mulai langkah iniMulaiDoubly linked list, heap dan priority queue, trie, graf, dan AVL tree yang menyeimbangkan dirinya sendiri: struktur yang tidak disertakan JavaScript, ditulis dengan tangan. Heap yang kamu tulis di sini adalah yang akan kamu pakai di langkah graf.Mulai
  3. 3
    Mulai langkah iniMulaiBubble, selection, insertion, merge, quick, heap, counting, dan radix sort, ditulis dalam JavaScript dan dilihat di visualizer. sort() bawaan sudah diwajibkan stabil sejak ES2019, dan V8 mengimplementasikannya sebagai Timsort; setelah langkah ini kamu tahu arti keduanya.Mulai
  4. 4
    Mulai langkah iniMulaiTantangan rekursi dalam JavaScript. Dynamic programming (diajarkan dalam Python) dan bit manipulation (diajarkan dalam C++) dicantumkan setelah langkah-langkahnya: relasi rekurens terbaca sama di bahasa mana pun, dan JavaScript punya operator bitwise yang sama, diterapkan pada bilangan bulat 32-bit.MulaiHalaman khusus
  5. 5
    Mulai langkah iniMulaiBreadth-first search dan depth-first search, Dijkstra, Bellman-Ford, topological sort, Kruskal, dan Prim dalam JavaScript, pada graf yang kamu bangun di langkah dua. JavaScript tidak punya priority queue, jadi heap dari langkah dua adalah yang dibutuhkan Dijkstra.Mulai
  6. 6
Yang kamu dapatkan
Semua yang kamu pakai untuk belajar coding

Belajar sambil praktik

Tulis kode sungguhan, query database, buat website, dan kuasai prompt AI. Pelajaran interaktif kami mencakup setiap keterampilan yang dibutuhkan developer modern.

playground.js
Editor kode
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Tes #1test Case Success icon
Tes #2test Case Success icon
Tes #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Bangun streakmu

Tetap konsisten dan lihat progresmu bertumbuh! Pantau kebiasaan coding harianmu, lindungi streakmu dengan hari beku, dan raih hadiah karena hadir setiap hari.

12 hari streak

Kembali besok untuk menjaga streakmu!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Gandakan atau hangus

Hari ke-5 dari 7

fire Freeze icon

Pembeku Streak

2 left

Coding di mana saja

Bawa perjalanan coding-mu ke mana saja! Tanpa setup, tanpa unduhan: cukup buka dan mulai coding. Tersedia di iOS, Android, dan Web dengan rating bintang 4,9.

Python
7Streak
250Skor
5Energi
Variabel
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
Lanjutkan
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Perjalanan
Target
Papan peringkat
Profil
4.9
BintangBintangBintangBintangBintang
Rating

Kamu tidak sendirian

Bersaing di papan peringkat global, ajak teman untuk mendapat hadiah, dan rayakan kemenangan satu sama lain. Coding lebih seru bersama teman!

Liga Challenger
Liga Challenger7 teratas naik
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconZona promosileaderboard Arrow Up icon

Semua cara belajar

Baca, dengarkan, uji dirimu, tanya AI, atau cari lagi apa pun yang sudah kamu pelajari. Setiap pelajaran menyesuaikan diri denganmu.

Pengenalan variabel
Audio

Variabel adalah wadah bernama yang menyimpan nilai yang bisa kamu pakai lagi nanti di programmu.

Di Python, kamu membuatnya dengan menulis nama, tanda sama dengan, lalu nilai yang ingin kamu simpan.

Nilainya bisa berubah seiring waktu. Menetapkan ulang nama itu cukup membuatnya menunjuk ke nilai baru.

1xSarah

Dapatkan sertifikat

Dapatkan sertifikat untuk setiap kursus yang kamu selesaikan. Tambahkan ke profil LinkedIn dan CV-mu untuk menunjukkan keahlian coding-mu kepada pemberi kerja.

CoddySertifikat Penyelesaian
Dengan ini menyatakan bahwaBudi Santosotelah berhasil menyelesaikan
python iconDasar Python
Terverifikasi
TanggalJan 2026
LinkedInTambahkan ke LinkedIn

Kenapa belajar DSA dengan JavaScript di Coddy

  • Struktur yang tidak disertakan JavaScript. Tidak ada heap, priority queue, linked list, atau tree bawaan, jadi mengimplementasikannya adalah menu wajib di wawancara JavaScript. Di jalur ini kamu menulis semuanya, lalu memakainya di kursus graf dan wawancara.
  • Persiapan wawancara untuk web developer. Rangkaian wawancara frontend dan full-stack di perusahaan yang lebih besar punya babak algoritma, dan kandidat frontend biasanya mengerjakannya dalam JavaScript. DOM adalah tree dan hierarki komponen juga, jadi traversal yang sama muncul di soal UI.
  • Hampir seluruh jalur dalam JavaScript. Setiap struktur data, sorting, algoritma graf, tantangan rekursi, dan paket wawancara diajarkan dalam JavaScript. Tiga yang tidak, yaitu dynamic programming dan seri wawancara Python (Python) serta bit manipulation (C++), dicantumkan setelah langkah-langkahnya beserta bahasanya.
  • Dinilai seperti wawancara. Setiap pelajaran diakhiri tantangan JavaScript yang diperiksa dengan kasus uji, dan saat satu gagal, Bugsy membaca kodemu dan mengarahkanmu ke perbaikannya tanpa memberikan jawabannya. Sertifikat gratis di sebagian besar kursus, masing-masing bisa diverifikasi di URL-nya sendiri.

Pertanyaan umum tentang DSA dengan JavaScript

Apakah JavaScript bagus untuk struktur data dan algoritma?

Ya, terutama kalau kamu menuju posisi frontend atau full-stack, tempat JavaScript menjadi bahasa yang akan kamu pakai saat wawancara. Ada tiga keanehan yang layak dipelajari sejak awal: tidak ada heap atau queue bawaan, sort() membandingkan sebagai string kecuali kamu memberikan pembanding, dan setiap angka adalah float 64-bit, jadi bilangan bulat di atas 2^53 butuh BigInt.

Apakah JavaScript punya heap atau priority queue bawaan?

Tidak. Kamu mendapat Array, Map, Set, dan varian weak-nya, dan hanya itu. Di wawancara, kamu menulis binary heap kecil, sekitar tiga puluh baris, atau mengatakan bahwa kamu akan memakainya dan menyebutkan biayanya; apa pun pilihanmu, kamu perlu pernah menulisnya. Langkah dua jalur ini adalah tempat kamu melakukannya.

Kenapa [10, 9, 1].sort() menghasilkan [1, 10, 9]?

Karena tanpa pembanding, Array.prototype.sort mengubah elemennya menjadi string dan membandingkannya dalam urutan UTF-16, dan '10' datang sebelum '9'. Urutkan angka dengan nums.sort((a, b) => a - b). Inilah bug pertama yang ditemui kebanyakan orang saat mulai menulis kode sorting di JavaScript.

Apakah wawancara frontend menanyakan struktur data dan algoritma?

Di banyak perusahaan yang lebih besar, ya: biasanya satu atau dua babak tentang array, hash map, tree, dan traversal graf, dalam JavaScript, di samping babak UI dan system design. Perusahaan yang lebih kecil lebih condong ke tugas praktis. Apa pun kasusnya, tahu bahwa lookup di Map berwaktu konstan dan nested loop di atas dua list tidak, adalah yang membedakan jawaban yang sekadar berjalan dari jawaban yang cepat.

Kursus mana di jalur ini yang tidak diajarkan dalam JavaScript?

Tiga: dynamic programming dan seri wawancara Python diajarkan dalam Python, dan bit manipulation dalam C++. Ketiganya dicantumkan setelah langkah-langkahnya, masing-masing dengan link yang membukanya dalam bahasanya sendiri. JavaScript punya operator bitwise yang sama, ditambah >>>, tapi menerapkannya pada bilangan bulat 32-bit, yang perlu diingat saat kamu memindahkan sebuah trik.

Apakah aku perlu bisa JavaScript sebelum memulai jalur ini?

Setidaknya fungsi, array, object, dan class. Kalau semua itu masih baru, kursus JavaScript Coddy membahasnya lebih dulu, gratis, dan jalur ini melanjutkan dari tempat kursus itu berakhir.

Apakah aku mendapat sertifikat untuk jalur Struktur Data & Algoritma?

Ya. Selesaikan setiap langkah dan kamu akan mendapat satu sertifikat gratis untuk seluruh jalur Struktur Data & Algoritma. Sertifikat ini mencantumkan setiap kursus yang kamu selesaikan di sepanjang jalan, dan menautkan sertifikat masing-masing kursus, sehingga siapa pun bisa memeriksa setiap keterampilan yang disebutkannya. Kamu bisa menambahkannya ke profil LinkedIn-mu. Ini adalah sertifikat penyelesaian dari Coddy, bukan kualifikasi terakreditasi.

Jalur belajar lainnya

Kursus yang sama, disusun untuk peran yang berbeda. Progres terbawa: kursus yang selesai di satu jalur dihitung di setiap jalur yang memuatnya.

Semua jalur belajar
Ilustrasi bahasa pemrograman di Coddy

Mulai jalur Struktur Data & Algoritma secara gratis

Mulai belajar