Menu
CoddyTech
Jalur belajar

Struktur Data dan Algoritma dengan C++

STL adalah jalur ini dalam bentuk library: std::vector, std::unordered_map, std::priority_queue, dan std::set adalah dynamic array, hash table, heap, dan balanced tree. Bangun masing-masing dalam C++ dengan class dan pointer, lalu pakai STL dengan tahu biaya setiap pemanggilannya. Bit manipulation diajarkan langsung dalam C++. Gratis, di browser, dengan sertifikat di sebagian besar kursus.

394 pelajaran284 tantangan702 soal kuis

DSA dengan C++, langkah demi langkah

39 kursus394 pelajaran284 tantangan702 soal kuis

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

  1. 1
    Mulai langkah iniMulaiStack, queue, binary tree, hash table, dan linked list, masing-masing dibangun dari nol dalam C++ dengan class dan pointer, lalu dipakai untuk menyelesaikan soal. Setelahnya, std::stack, std::queue, dan std::unordered_map adalah struktur yang pernah kamu tulis sendiri.Mulai
  2. 2
    Mulai langkah iniMulaiDoubly linked list, heap dan priority queue, trie, graf, dan AVL tree yang menyeimbangkan dirinya sendiri. std::priority_queue adalah max-heap secara default, sementara heap di Python dan Java adalah min-heap; setelah kamu menulisnya sendiri, membaliknya dengan std::greater jadi jelas.Mulai
  3. 3
    Mulai langkah iniMulaiBubble, selection, insertion, merge, quick, heap, counting, dan radix sort, ditulis dalam C++ dan dilihat di visualizer. std::sort biasanya adalah introsort, quicksort yang beralih ke heapsort, dan std::stable_sort adalah merge sort; langkah inilah yang membuat pilihan-pilihan itu masuk akal.Mulai
  4. 4
  5. 5
    Mulai langkah iniMulaiBreadth-first search dan depth-first search, Dijkstra, Bellman-Ford, topological sort, Kruskal, dan Prim dalam C++, pada graf yang kamu bangun di langkah dua. Priority queue untuk Dijkstra adalah std::priority_queue dengan std::greater: heap dari langkah dua, dalam bentuk library.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 C++ di Coddy

  • Bahasa competitive programming. Sebagian besar programmer kompetitif menulis C++, karena kecepatannya dan STL-nya, dan bahasa ini diterima di hampir setiap wawancara coding. Belajar DSA dengan C++ berarti belajar dialek yang dipakai dalam lomba.
  • Pointer yang bisa kamu lihat. Linked list di C++ adalah node dan pointer, rotasi AVL hanyalah beberapa perpindahan pointer, dan destructor membebaskan apa yang kamu alokasikan. Kamu mempelajari struktur dengan cara mesin menyimpannya, lalu membiarkan STL mengerjakannya untukmu.
  • Bit manipulation dalam bahasanya sendiri. Kursus bit manipulation di jalur ini diajarkan dalam C++, jadi di sini kursus itu bukan jalan memutar: mask, shift, dan trik bit datang dalam bahasa yang sudah kamu tulis. Hanya dynamic programming dan seri wawancara Python yang tidak: keduanya diajarkan dalam Python dan dicantumkan setelah langkah-langkahnya.
  • Dinilai seperti wawancara. Setiap pelajaran diakhiri tantangan C++ 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 C++

Apakah C++ bagus untuk struktur data dan algoritma?

C++ adalah pilihan paling umum untuk competitive programming dan pilihan yang kuat untuk wawancara: cepat, dengan standard library yang mencakup hampir setiap struktur yang kamu butuhkan. Harganya adalah kode yang lebih banyak dan lebih banyak cara untuk salah, dari dangling pointer sampai iterator yang tidak valid. Membangun strukturnya sendiri lebih dulu, seperti di jalur ini, adalah cara agar semua itu tidak lagi mengejutkan.

Container STL mana yang cocok dengan struktur data mana?

std::vector adalah dynamic array, std::stack dan std::queue secara default adalah adaptor di atas std::deque, std::list adalah doubly linked list, std::unordered_map dan std::unordered_set adalah hash table, std::priority_queue adalah binary heap (max-heap secara default, tidak seperti milik Python dan Java), dan std::map serta std::set adalah balanced binary search tree, dalam praktiknya red-black tree. Tidak ada container untuk trie atau graf; itu kamu tulis sendiri.

Haruskah aku mengimplementasikan struktur data sendiri atau langsung pakai STL?

Keduanya, dalam urutan itu. Implementasikan setiap struktur sekali, supaya kamu tahu kenapa lookup di std::unordered_map rata-rata berwaktu konstan dan kenapa std::map menjaga key-nya tetap terurut, lalu pakai STL di mana-mana setelahnya. Dalam lomba atau wawancara, tidak ada yang mengharapkan red-black tree yang ditulis tangan; yang diharapkan adalah kamu memilih container yang tepat dan tahu biayanya.

C++ atau Python untuk DSA?

C++ kalau kamu berencana ikut competitive programming atau wawancara di tempat yang mengharapkannya; Python kalau kamu ingin jalan terpendek dari ide ke kode yang berjalan. Algoritmanya sama persis, jadi banyak orang belajar dengan yang satu dan berlomba dengan yang lain. Setiap kursus struktur data di jalur ini diajarkan dalam keduanya.

Kursus mana di jalur ini yang tidak diajarkan dalam C++?

Dua: dynamic programming dan seri wawancara Python, keduanya diajarkan dalam Python. Keduanya dicantumkan setelah langkah-langkahnya, dengan link yang membukanya dalam Python. Idenya terbawa tanpa perubahan: di C++, tabel memo adalah std::vector atau std::unordered_map.

Apakah aku perlu bisa C++ sebelum memulai jalur ini?

Setidaknya class, pointer, reference, dan std::vector. Kalau semua itu masih baru, kursus C++ 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