Pilih bahasa Anda
Kursus Struktur Data dan Algoritma Python
Lebih dari 2 juta pelajar di seluruh dunia

Kursus Struktur Data dan Algoritma Python

4,5

Kuasai Python dan Struktur Data & Algoritma dari dasar — tanpa jalan pintas, tanpa basa-basi. Kursus ini membawa Anda dari menulis skrip Python pertama hingga memecahkan masalah graph dan pemrograman dinamis yang kompleks. Baik Anda menargetkan perusahaan teknologi teratas atau meningkatkan keterampilan teknik Anda, inilah fondasi teknis lengkap yang Anda butuhkan.

Dedika untuk bisnis

Apa yang akan Anda pelajari:

Anda akan membangun fondasi Python yang kokoh yang mencakup sintaksis, koleksi, dan desain berorientasi objek sebelum beralih ke topik DSA inti. Anda akan mengimplementasikan array, linked list, stack, queue, tree, dan graph sepenuhnya dari awal. Anda akan menganalisis kompleksitas waktu dan ruang menggunakan notasi Big-O untuk setiap algoritma utama. Anda akan menguasai sorting, searching, rekursi, dan pemrograman dinamis dengan kode nyata. Anda juga akan berlatih pola pemrograman kompetitif dan teknik wawancara tiruan yang dirancang untuk mempersiapkan Anda menghadapi proses perekrutan teknis di perusahaan teknologi terkemuka.

Bagaimana Anda belajar secara praktis Kursus Struktur Data dan Algoritma Python

Bagaimana Anda berlatih Kursus Struktur Data dan Algoritma Python

Untuk Anda yang memiliki perusahaan dan ingin melatih tim

Di Dedika untuk perusahaan, kursus dilengkapi dengan latihan dan contoh yang disesuaikan dengan bisnis Anda dan kebutuhan perusahaan Anda.

Klik di sini

Konten kursus

8 Bab • 40 PelajaranDurasi antara 4 dan 360 jam (Anda yang menentukan)

Bab 1Lihat detail

Dasar-Dasar Pemrograman Python

  • Pelajaran 1 • Fungsi dan Ruang Lingkup

    Mendefinisikan fungsi yang dapat digunakan kembali dengan parameter, nilai kembali, dan aturan ruang lingkup. Mempersiapkan peserta didik untuk merangkum logika DSA dalam unit yang bersih dan dapat diuji.

  • Pelajaran 2 • Alur Kontrol dan Iterasi

    Mengajarkan percabangan if/elif/else, loop for dan while, serta pernyataan kontrol loop. Memungkinkan peserta didik mengekspresikan logika algoritmik dalam Python.

  • Pelajaran 3 • Penanganan Kesalahan dan Debugging

    Memperkenalkan eksepsi, blok try/except, dan alat debugging. Membekali peserta didik untuk menulis kode yang kokoh dan mendiagnosis kegagalan dalam program yang kompleks.

  • Pelajaran 4 • Tipe Data Inti dan Variabel

    Mencakup integer, float, string, boolean, dan type casting. Menyediakan primitif data yang digunakan dalam setiap implementasi algoritma ke depannya.

  • Pelajaran 5 • Menyiapkan Lingkungan Python

    Instal Python, konfigurasikan lingkungan virtual, dan pilih IDE. Membangun rantai alat yang menjadi andalan setiap bab berikutnya.

Bab 2Lihat detail

Koleksi dan Comprehensions Python

  • Pelajaran 1 • Iterator, Generator, dan Evaluasi Malas

    Menjelaskan protokol iterator, fungsi generator, dan yield. Memungkinkan traversal yang efisien memori pada kumpulan data besar dalam masalah DSA.

  • Pelajaran 2 • List dan Tuple secara Mendalam

    Mengeksplorasi pengindeksan, slicing, mutasi, dan imutabilitas tuple. Tipe urutan ini mendasari struktur data berbasis larik yang dibahas nanti.

  • Pelajaran 3 • Dictionary dan Set

    Mencakup penyimpanan berbasis hash, operasi kunci-nilai, dan aljabar set. Mendukung langsung implementasi tabel hash dan adjacency graf.

  • Pelajaran 4 • Comprehensions List dan Dictionary

    Mengajarkan sintaks comprehension yang ringkas untuk memfilter dan mentransformasi koleksi. Mengurangi kode boilerplate dalam implementasi algoritma di seluruh kursus.

  • Pelajaran 5 • Sorting, Searching, dan Algoritma Bawaan

    Menggunakan sorted(), min(), max(), dan fungsi key untuk memproses koleksi. Menjembatani bawaan Python dengan algoritma sorting kustom yang dipelajari selanjutnya.

Bab 3Lihat detail

Analisis Algoritma dan Kompleksitas

  • Pelajaran 1 • Pengantar Analisis Algoritma

    Mendefinisikan kebenaran algoritma, efisiensi, dan kebutuhan akan analisis formal. Menetapkan pola pikir analitis yang diterapkan pada setiap struktur data dan algoritma ke depannya.

  • Pelajaran 2 • Big-O, Big-Omega, dan Big-Theta

    Memformalkan notasi asimptotik dan kelas kompleksitas umum. Menyediakan kosakata yang digunakan untuk mendeskripsikan setiap algoritma di bab-bab selanjutnya.

  • Pelajaran 3 • Menganalisis Loop dan Panggilan Rekursif

    Mengajarkan penghitungan langkah untuk loop dan relasi rekurensi untuk rekursi. Mempersiapkan langsung peserta didik untuk menganalisis algoritma sorting dan pohon.

  • Pelajaran 4 • Profiling Kode Python

    Menggunakan timeit, cProfile, dan memory_profiler untuk mengukur kinerja nyata. Menghubungkan kompleksitas teoretis dengan perilaku eksekusi Python yang terukur.

  • Pelajaran 5 • Kompleksitas Ruang dan Pertukaran

    Membedakan ruang tambahan dari total ruang dan mengeksplorasi pertukaran waktu-ruang. Memandu keputusan desain saat batasan memori menjadi penting.

Bab 4Lihat detail

Struktur Data Linear

  • Pelajaran 1 • Perbandingan Kompleksitas Struktur Linear

    Membandingkan kompleksitas waktu dan ruang di semua struktur linear yang dipelajari. Memungkinkan pemilihan struktur yang tepat untuk masalah desain algoritma.

  • Pelajaran 2 • Singly dan Doubly Linked Lists

    Membangun kelas Node dan operasi list termasuk penyisipan, penghapusan, dan traversal. Memperkenalkan pemikiran berbasis pointer yang penting untuk pohon dan graf.

  • Pelajaran 3 • Stack: Implementasi dan Aplikasi

    Mengimplementasikan stack menggunakan list dan linked list, kemudian menerapkannya pada masalah nyata. Mendemonstrasikan semantik LIFO yang digunakan dalam rekursi, parsing, dan backtracking.

  • Pelajaran 4 • Queue, Deque, dan Priority Queue

    Mencakup queue FIFO, deque ujung-ganda, dan priority queue berbasis heap. Mempersiapkan peserta didik untuk masalah BFS, penjadwalan, dan algoritma greedy.

  • Pelajaran 5 • Array dan Dynamic Array

    Mencakup array statis, list Python sebagai dynamic array, dan pengubahan ukuran amortisasi. Menetapkan struktur dasar yang diperluas oleh semua tipe linear lainnya.

Bab 5Lihat detail

Rekursi dan Algoritma Sorting

  • Pelajaran 1 • Algoritma Sorting Kuadratik

    Mengimplementasikan bubble sort, selection sort, dan insertion sort dengan analisis langkah demi langkah. Menyediakan patokan O(n²) yang menjadi ukuran sorting yang lebih cepat.

  • Pelajaran 2 • Algoritma Pencarian

    Mengimplementasikan linear search dan binary search dengan bukti kompleksitas. Menghubungkan pencarian dengan persyaratan data terurut dan masalah wawancara nyata.

  • Pelajaran 3 • Dasar-Dasar Rekursi

    Mendefinisikan kasus dasar, kasus rekursif, dan call stack. Membangun model mental yang diperlukan untuk traversal pohon dan algoritma divide-and-conquer.

  • Pelajaran 4 • Sorting Linear-Time dan Hibrida

    Mencakup counting sort, radix sort, dan Timsort yang digunakan dalam fungsi sortir bawaan Python. Memperluas perangkat peserta didik di luar sorting berbasis perbandingan.

  • Pelajaran 5 • Sorting Divide-and-Conquer

    Mengimplementasikan merge sort dan quicksort, menurunkan kompleksitas O(n log n). Mendemonstrasikan bagaimana rekursi memungkinkan sorting skala besar yang efisien.

Bab 6Lihat detail

Pohon dan Struktur Data Hirarkis

  • Pelajaran 1 • Pohon Pencarian Biner

    Mengimplementasikan penyisipan, pencarian, dan penghapusan BST dengan analisis rata-rata O(log n). Mendemonstrasikan penyimpanan dan pengambilan data terurut menggunakan struktur pohon.

  • Pelajaran 2 • Trie dan Prefix Trees

    Membangun trie untuk penyisipan string, pencarian, dan pencocokan awalan. Memungkinkan solusi autocomplete dan pencarian kamus yang efisien.

  • Pelajaran 3 • Pohon Biner dan Traversal

    Mendefinisikan terminologi pohon dan mengimplementasikan traversal in-order, pre-order, dan post-order. Menetapkan pola traversal rekursif yang digunakan dalam semua algoritma pohon.

  • Pelajaran 4 • Heap dan Operasi Heap

    Membangun max-heap dan min-heap, mengimplementasikan heapify dan heap sort. Mendukung langsung implementasi priority queue dan algoritma greedy.

  • Pelajaran 5 • Pohon Seimbang: AVL dan Red-Black

    Menjelaskan penyeimbangan berbasis rotasi di pohon AVL dan aturan warna di pohon red-black. Menjamin kinerja kasus terburuk O(log n) untuk kumpulan data dinamis.

Bab 7Lihat detail

Graf dan Algoritma Graf

  • Pelajaran 1 • Masalah Graf Lanjutan

    Mencakup komponen yang terhubung kuat, pemeriksaan bipartit, dan dasar-dasar aliran jaringan. Memperluas keterampilan graf ke kategori masalah dunia nyata yang kompleks.

  • Pelajaran 2 • Representasi dan Terminologi Graf

    Mendefinisikan graf berarah, tidak berarah, berbobot, dan siklik dengan representasi adjacency list dan matriks. Menetapkan fondasi untuk semua implementasi algoritma graf.

  • Pelajaran 3 • Algoritma Jalur Terpendek

    Mengimplementasikan algoritma Dijkstra dan Bellman-Ford untuk graf berbobot. Membekali peserta didik untuk memecahkan masalah routing dan minimalisasi biaya.

  • Pelajaran 4 • Pohon Rentang Minimum

    Mengimplementasikan algoritma Kruskal dan Prim menggunakan union-find dan priority queue. Memecahkan masalah desain jaringan yang membutuhkan konektivitas biaya minimum.

  • Pelajaran 5 • Breadth-First dan Depth-First Search

    Mengimplementasikan BFS dengan queue dan DFS dengan rekursi serta stack. Mencakup komponen terhubung, deteksi siklus, dan topological sort.

Bab 8Lihat detail

Pemrograman Dinamis dan Teknik Lanjutan

  • Pelajaran 1 • Algoritma Greedy dan Backtracking

    Mengimplementasikan strategi greedy untuk penjadwalan interval dan pengkodean Huffman, serta backtracking untuk N-Queens dan subset. Melengkapi perangkat desain algoritma inti.

  • Pelajaran 2 • Tabulasi dan DP Bottom-Up

    Membangun tabel DP secara iteratif untuk coin change, menaiki tangga, dan jalur grid. Menghilangkan overhead rekursi dan memperjelas logika transisi status.

  • Pelajaran 3 • Pengantar Pemrograman Dinamis

    Mendefinisikan submasalah yang tumpang tindih dan substruktur optimal sebagai prasyarat DP. Membandingkan DP dengan divide-and-conquer untuk memperjelas kapan masing-masing diterapkan.

  • Pelajaran 4 • Memoisasi dan DP Top-Down

    Mengonversi rekursi naif menjadi solusi yang dimemoisasi menggunakan dictionary dan functools.lru_cache. Mendemonstrasikan pengurangan kompleksitas yang dramatis pada Fibonacci dan masalah serupa.

  • Pelajaran 5 • Pola DP Klasik

    Memecahkan masalah knapsack, longest common subsequence, dan edit distance. Mengajarkan template DP yang dapat digunakan kembali dan berlaku untuk berbagai pertanyaan wawancara.

Sertifikasi

Sertifikat valid Anda setelah menyelesaikan

Kursus ini cocok untuk Anda:

  • Pengubah karier: ingin memiliki fondasi teknis yang terstruktur untuk memasuki peran-peran rekayasa perangkat lunak.

  • Mahasiswa ilmu komputer: membutuhkan praktik coding secara langsung di luar apa yang diberikan oleh perkuliahan.

  • Pengembang otodidak: dapat membuat aplikasi tetapi kesulitan memecahkan masalah algoritmik di bawah tekanan.

  • Analis data: siap memperdalam keterampilan pemrograman menuju tanggung jawab setingkat teknisi.

  • Lulusan baru: bersiap untuk wawancara teknis di perusahaan teknologi kompetitif segera.

  • Programmer hobi: penasaran tentang bagaimana sistem perangkat lunak tingkat profesional dirancang secara internal.

Apa kata para siswa kami

Kelasnya sangat sempurna. Saya membeli paket satu tahun dan akhirnya memiliki kesempatan untuk mengikuti berbagai topik yang saya minati tanpa perlu berganti platform... terima kasih atas semua yang kalian lakukan, saya sudah merekomendasikan kalian kepada orang lain...
Giulio Carlo
Giulio CarloSiswa Marketing Digital
Saya suka bagaimana pelajarannya langsung pada intinya dan bagaimana saya bisa berpindah bab dan melewati konten yang tidak saya butuhkan.
Mariana Ferres
Mariana FerresSiswa Fotografi
Saya suka kontennya dan cara presentasi serta transkripsi videonya, yang mempercepat prosesnya!
Luciana Alvarenga
Luciana AlvarengaSiswa Desain Kuku
Platformnya cepat, mudah digunakan. Keragaman konten dan video pelengkapnya sangat membantu dalam pembelajaran.
André Felipe
André FelipeSiswa Prompt Engineering

Pelatihan utama

FAQ

Siapa itu Dedika?

Apakah sertifikat ini berlaku di Indonesia?

Apakah kursusnya gratis?

Berapa beban belajar kursusnya?

Bagaimana bentuk kursusnya?

Bagaimana cara kerja kursusnya?

Berapa lama durasi kursusnya?

Berapa biaya atau harga kursusnya?

Apa itu kursus EAD atau online dan bagaimana cara kerjanya?

Kursus PDF