Generic collection di C# sudah memuat sebagian besar isi jalur ini: Stack<T>, Queue<T>, Dictionary<TKey,TValue>, LinkedList<T>, dan SortedSet<T> adalah stack, queue, hash table, doubly linked list, dan balanced search tree. Bangun setiap struktur sendiri dalam C#, lalu lakukan sorting, rekursi, dan penelusuran graf dengannya, dan selesaikan dengan soal wawancara yang dinilai. Gratis, di browser, dengan sertifikat di sebagian besar kursus.
Setiap langkah adalah sekumpulan kursus Coddy yang sudah ada, dan setiap tombol Mulai membukanya dalam C#. Tiga kursus yang belum diajarkan dalam C# dicantumkan setelah langkah-langkahnya.
1
Langkah 1
Seri Struktur Data, bagian satu
Mulai langkah iniMulaiStack, queue, binary tree, hash table, dan linked list, masing-masing dibangun dari nol dalam C# lalu dipakai untuk menyelesaikan soal. Setelahnya, Stack<T>, Queue<T>, dan Dictionary<TKey,TValue> adalah struktur yang pernah kamu tulis sendiri, dan kamu tahu biaya setiap pemanggilannya.Mulai
Mulai langkah iniMulaiDoubly linked list, heap dan priority queue, trie, graf, dan AVL tree yang menyeimbangkan dirinya sendiri. LinkedList<T> adalah yang pertama di antaranya, siap pakai; setelah langkah ini SortedSet<T> adalah balanced tree yang kamu pahami, red-black sementara milikmu AVL, dan heap adalah sesuatu yang bisa kamu tulis di versi .NET mana pun.Mulai
Mulai langkah iniMulaiBubble, selection, insertion, merge, quick, heap, counting, dan radix sort, ditulis dalam C# dan dilihat di visualizer. Array.Sort dan List<T>.Sort adalah introsort, quicksort yang didukung heapsort dan insertion sort, dan tidak stabil, sementara OrderBy di LINQ stabil; setelah langkah ini kamu tahu kenapa.Mulai
Mulai langkah iniMulaiTantangan rekursi dalam C#, dinilai dengan kasus uji seperti setiap pelajaran. Di .NET, rekursi yang tidak pernah mencapai base case-nya berakhir dengan StackOverflowException, yang tidak bisa ditangkap, jadi setiap method rekursif butuh jalan keluarnya sebelum butuh hal lain. Dynamic programming dan bit manipulation dicantumkan setelah langkah-langkahnya, karena diajarkan dalam Python dan C++.MulaiHalaman khusus15 pelajaran15 tantangan
5
Langkah 5
Algoritma graf
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. Dijkstra butuh priority queue, dan C# baru mendapatkannya di .NET 6, jadi heap dari langkah dua adalah yang perlu kamu pahami.Mulai
Mulai langkah iniMulaiSepuluh paket tantangan wawancara dan dua bank soal coding dalam C#, dinilai dengan kasus uji: soal yang belum pernah kamu lihat, diselesaikan tanpa tutorial, dengan collection yang kini bisa kamu jelaskan dan struktur yang sudah kamu tulis sendiri.Mulai
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) {
3return greeting +" "+ name
4}
5
Tes #1
Tes #2
Tes #3
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!
January 2026
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
Gandakan atau hangus
Hari ke-5 dari 7
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.
Bersaing di papan peringkat global, ajak teman untuk mendapat hadiah, dan rayakan kemenangan satu sama lain. Coding lebih seru bersama teman!
Liga Challenger7 teratas naik
1
Alex7+ Days
2840
2
Jordan7+ Days
2650
3
Sam7+ Days
2420
4
Casey
2180
5
Morgan7+ Days
1950
Zona promosi
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.
Sertifikat Penyelesaian
Dengan ini menyatakan bahwaBudi Santosotelah berhasil menyelesaikan
Dasar Python
TanggalJan 2026
Tambahkan ke LinkedIn
Kenapa belajar DSA dengan C# di Coddy
Ketahui biaya setiap collection. List<T> adalah dynamic array, jadi Insert(0, x) menggeser setiap elemen di belakangnya; Dictionary<TKey,TValue> adalah hash table, rata-rata berwaktu konstan dan hanya sebagus GetHashCode dari key-mu. Membangun strukturnya sendiri adalah cara agar fakta-fakta itu tidak lagi sekadar trivia dan mulai menentukan collection mana yang kamu pilih.
Bahasa Unity dan .NET. C# dipakai untuk scripting game Unity, dan banyak sekali software enterprise berjalan di .NET; keduanya bergantung pada struktur yang sama. Tile map adalah graf, pathfinding adalah penelusuran graf, dan urutan giliran atau jadwal event adalah priority queue, jadi algoritma dan codebase-nya memakai bahasa yang sama.
Hampir seluruh jalur dalam C#. Setiap struktur data, sorting, algoritma graf, tantangan rekursi, dan paket wawancara diajarkan dalam C#. Tiga diajarkan dalam bahasa lain dan dicantumkan setelah langkah-langkahnya dengan link ke masing-masing: dynamic programming dan seri wawancara Python dalam Python, serta bit manipulation dalam C++. Bit manipulation adalah yang paling mudah diikuti dari C#, yang menulis operator bitwise C++ dengan simbol yang sama.
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?
Ya. C# terbaca mirip Java: tipe membuat setiap node, reference, dan parameter generic menjadi eksplisit, dan System.Collections.Generic mencakup sebagian besar struktur di jalur ini. Ada dua kebiasaan yang layak dibangun sejak awal. LINQ memang ringkas, tapi setiap OrderBy adalah sorting dan setiap Where adalah loop, jadi LINQ menyembunyikan biaya yang sedang kamu pelajari untuk dihitung; dan Array.Sort tidak stabil, yang penting setiap kali key yang sama harus tetap menjaga urutannya.
Collection .NET mana yang cocok dengan struktur data mana?
List<T> adalah dynamic array, Stack<T> dan Queue<T> berbasis array, LinkedList<T> adalah doubly linked list, Dictionary<TKey,TValue> dan HashSet<T> adalah hash table, dan SortedDictionary<TKey,TValue> serta SortedSet<T> adalah red-black tree, seimbang seperti AVL tree yang kamu bangun di langkah dua. SortedList<TKey,TValue> adalah sepasang array yang dijaga terurut berdasarkan key, dan sejak .NET 6 PriorityQueue<TElement,TPriority> adalah min-heap berbasis array. Tidak ada class untuk trie atau graf; itu kamu tulis sendiri.
Sebaiknya node tree atau list di C# berupa class atau struct?
Class. struct adalah value type: ia sama sekali tidak bisa berisi field dengan tipe dirinya sendiri, dan di mana pun ia disalin, perubahan pada salinannya tidak menyentuh aslinya. Instance class adalah reference, jadi node bisa saling menunjuk seperti yang dibutuhkan linked list atau tree. Pakai struct untuk nilai kecil, seperti koordinat grid atau edge berbobot.
Apakah C# punya priority queue?
Sejak .NET 6, ya: PriorityQueue<TElement,TPriority>, min-heap berbasis array di mana setiap elemen dimasukkan dengan prioritasnya sendiri; berikan IComparer<TPriority> yang membalik urutannya untuk mendapatkan max-heap. .NET Framework dan runtime yang lebih lama tidak punya, itulah kenapa developer C# lama menulis heap sendiri atau memaksa SortedSet<T> menjadi heap, dan kenapa kemampuan menulisnya masih penting. Langkah dua adalah tempat kamu melakukannya.
Kursus mana di jalur ini yang tidak diajarkan dalam C#?
Tiga: dynamic programming dan seri wawancara Python, yang diajarkan dalam Python, serta bit manipulation, yang diajarkan dalam C++. Ketiganya dicantumkan setelah langkah-langkahnya, masing-masing dengan link yang membukanya dalam bahasanya sendiri. Tabel memo di C# adalah array atau Dictionary, dan trik bit bisa dipindahkan dengan mulus, sampai ke perbedaan yang juga ada di C++: >> mempertahankan tanda pada int dan mengisi dengan nol pada uint.
Apakah aku perlu bisa C# sebelum memulai jalur ini?
Setidaknya class, method, array, perulangan, dan generic collection seperti List<T>. Kalau semua itu masih baru, kursus C# Coddy membawamu ke sana 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.