Manual Izin Algoritma (LeetCode)
01. Pengenalan Proyek
Tutorial untuk menjelaskan pengetahuan dasar "Algoritma dan Struktur Data" , dan analisis mendetail terhadap 800+ pertanyaan di "LeetCode". Proyek ini mudah dipahami dan tidak ada lompatan besar dalam pemikiran. Beberapa ilustrasi dan contoh digunakan dalam proyek untuk membantu pemahaman.
Tutorial ini dimulai dengan struktur data dan algoritme dasar, lalu menjelaskan dan menganalisis topik spesifik untuk berbagai kategori struktur data dan algoritme. Hal ini memungkinkan pembaca untuk menguasai pengetahuan algoritma secara menyeluruh melalui kombinasi "pembelajaran teoritis dasar algoritma" dan "pembelajaran pemrograman praktis".
Tutorial ini menggunakan Python sebagai bahasa pemrograman dan mengharuskan pembelajar memiliki pengetahuan dasar dan pengalaman dalam pemrograman Python.
02. Alamat proyek
Selamat datang "Bintang ️" dan "Garpu" di pojok kanan atas, ini adalah dorongan dan dukungan terbesar saya.
- Alamat GitHub: https://github.com/itcharge/LeetCode-Py
E-book online "Algorithm Clearance Manual" yang mendukung mode gelap.
- Alamat e-book: https://algo.itcharge.cn
03. Tentang penulis
Saya seorang programmer pengembangan iOS/macOS, dan saya juga seorang mahasiswa master paruh waktu (sedang belajar) di Beihang Software Institute. Saya mempelajari ilmu algoritma di perguruan tinggi dan mengikuti kompetisi ACM selama tiga tahun, namun level saya terbatas dan saya gagal mencapai hasil yang ideal. Namun keuntungan terbesar bagi saya dari tiga tahun pengalaman ACM ini adalah saya telah mengembangkan pemikiran logis dan kemampuan saya untuk memecahkan masalah-masalah praktis. Kemampuan ini telah meletakkan dasar yang kokoh untuk pekerjaan dan studi saya di masa depan.
Saya mulai menyelesaikan pertanyaan di LeetCode setiap hari pada tanggal 30 Maret 2021. Pada tanggal 8 Juni 2022, saya telah menyelesaikan 1.000+ pertanyaan dan menyelesaikan 800+ solusi masalah. Bekerja keras untuk menyelesaikan 1000+, 1500+, 2000+ pertanyaan.
Balas " Algoritma Check-in " di akun publik "Stasiun Pengisian Programmer" , dan Anda akan ditambahkan ke grup rencana check-in algoritma LeetCode untuk membentuk tim dan check-in bersama.
- Kata sandi untuk masuk ke grup: Algoritma check-in
- Persyaratan untuk bergabung dengan grup: lebih sedikit ngobrol, lebih banyak berbagi, dan mengganti catatan.
04. Pernyataan hak cipta
- Tutorial ini dilisensikan di bawah Lisensi Internasional Creative Attribution-NonCommercial-NoDerivs (BY-NC-ND) 4.0.
- Hak cipta dari semua pertanyaan dalam tutorial ini adalah milik LeetCode dan LeetCode China.
05. Bab Daftar Isi
00. Pendahuluan
- Algoritma dan Struktur Data
- Kompleksitas algoritma
- Memulai LeetCode dan strateginya
- Solusi masalah LeetCode (penyortiran leksikografis, 850+ solusi masalah)
- Solusi masalah LeetCode (diurutkan berdasarkan kategori, daftar masalah yang disarankan ★★★)
- 100 pertanyaan wawancara LeetCode yang paling sering diajukan (diurutkan berdasarkan kategori)
- 200 pertanyaan yang paling sering diajukan dalam wawancara LeetCode (diurutkan berdasarkan kategori)
01. Susunan
- Dasar-dasar susunan
- Dasar-dasar susunan
- Susun pertanyaan dasar
- Algoritma pengurutan array
- semacam gelembung
- semacam seleksi
- semacam penyisipan
- Semacam bukit
- menggabungkan semacam
- Penyortiran cepat
- Sortir tumpukan
- jenis penghitungan
- semacam ember
- Sortir Radix
- Pertanyaan penyortiran array
- pencarian biner
- Pengetahuan pencarian biner (1)
- Pengetahuan pencarian biner (2)
- Pertanyaan pencarian biner
- Array penunjuk ganda
- Pengetahuan penunjuk ganda array
- Pertanyaan array penunjuk ganda
- Jendela geser susunan
- Pengetahuan jendela geser array
- Pertanyaan jendela geser array
02. Daftar tertaut
- Pengetahuan dasar tentang daftar tertaut
- Pengetahuan dasar tentang daftar tertaut
- Pertanyaan daftar tertaut klasik
- Penyortiran daftar tertaut
- Pengetahuan penyortiran daftar tertaut
- Pertanyaan penyortiran daftar tertaut
- Penunjuk ganda daftar tertaut
- Pengetahuan tentang petunjuk ganda daftar tertaut
- Pertanyaan penunjuk ganda daftar tertaut
03. Tumpukan
- Dasar-dasar tumpukan
- Dasar-dasar tumpukan
- Tumpuk pertanyaan dasar
- tumpukan monoton
- Pengetahuan tumpukan monoton
- Pertanyaan tumpukan monoton
04. Antrian
- Dasar-dasar antrian
- Dasar-dasar antrian
- Pertanyaan dasar antrian
- antrian prioritas
- Pengetahuan antrian prioritas
- pertanyaan antrian prioritas
05. Tabel hash
- Pengetahuan tabel hash
- Pertanyaan tabel hash
06. Tali
- Dasar-dasar string
- Dasar-dasar string
- Merangkai pertanyaan klasik
- Pencocokan string pola tunggal
- Algoritma Brute Force
- Algoritma Rabin Karp
- Algoritma KMP
- Algoritma Boyer Moore
- Algoritma Horspool
- Algoritma Minggu
- Pertanyaan pencocokan string pola tunggal
- Pencocokan string beberapa pola
- Pengetahuan pohon kamus
- Pertanyaan pohon kamus
- Pengetahuan mesin AC otomatis
- Masalah otomat AC
- Pengetahuan susunan akhiran
- Pertanyaan susunan akhiran
07. Pohon
- Pohon biner
- Pengetahuan dasar tentang pohon dan pohon biner
- Pengetahuan penjelajahan pohon biner
- Masalah penjelajahan pohon biner
- Pengetahuan restorasi pohon biner
- Masalah restorasi pohon biner
- pohon pencarian biner
- Pengetahuan pohon pencarian biner
- Pertanyaan pohon pencarian biner
- Pohon segmen
- Segmentasikan pengetahuan pohon
- Pertanyaan pohon ruas garis
- susunan pohon
- Pengetahuan susunan pohon
- Pertanyaan Susunan Pohon
- Dan cari koleksinya
- dan mencari ilmu
- Dan periksa pertanyaannya
08. Teori grafik
- Pengetahuan dasar tentang grafik
- Definisi dan klasifikasi grafik
- Struktur penyimpanan grafik dan aplikasi masalah
- Penjelajahan grafik
- Pencarian mendalam pertama untuk pengetahuan tentang grafik
- Kedalaman masalah pencarian pertama untuk grafik
- Pencarian luas untuk pengetahuan dalam grafik
- Pertanyaan pencarian pertama lebar grafik
- Pengetahuan penyortiran topologi grafik
- Pertanyaan pengurutan topologi grafik
- Grafik pohon merentang
- Pengetahuan pohon rentang minimum untuk grafik
- Masalah pohon merentang minimum untuk graf
- jalur terpendek
- Pengetahuan jalur terpendek sumber tunggal (1)
- Pengetahuan jalur terpendek sumber tunggal (2)
- Masalah jalur terpendek sumber tunggal
- Pengetahuan jalur terpendek multi-sumber
- Masalah jalur terpendek multi-sumber
- Pengetahuan jalur terpendek
- Pertanyaan jalur pendek kedua
- Pengetahuan sistem batasan diferensial
- Pertanyaan sistem batasan diferensial
- grafik bipartit
- Pengetahuan dasar tentang grafik bipartit
- Pertanyaan dasar tentang graf bipartit
- Grafik bipartit pengetahuan pencocokan maksimal
- Algoritma Hongaria
- Algoritma Hopcroft-Karp
- Masalah pencocokan maksimum graf bipartit
09. Algoritma dasar
- Algoritma enumerasi
- Pengetahuan algoritma enumerasi
- Pertanyaan algoritma enumerasi
- algoritma rekursif
- Pengetahuan algoritma rekursif
- Soal Algoritma Rekursif
- algoritma membagi dan menaklukkan
- Bagilah dan taklukkan pengetahuan algoritma
- Bagilah dan Taklukkan Soal Algoritma
- Algoritma penelusuran mundur
- Melacak pengetahuan algoritma
- Pertanyaan algoritma mundur
- algoritma serakah
- Pengetahuan algoritma serakah
- Pertanyaan Algoritma Serakah
- Operasi sedikit
- Sedikit pengetahuan operasi
- Pertanyaan tentang pengoperasian bit
10. Pemrograman dinamis
- Dasar-dasar pemrograman dinamis
- Dasar-dasar pemrograman dinamis
- Pertanyaan dasar tentang pemrograman dinamis
- Pencarian yang dihafal
- Pengetahuan pencarian memori
- Pertanyaan pencarian memori
- DP linier
- Pengetahuan DP linier (1)
- Pengetahuan DP linier (2)
- Pertanyaan DP linier
- masalah ransel
- Pengetahuan masalah ransel (1)
- Pengetahuan tentang masalah ransel (2)
- Pengetahuan tentang masalah ransel (3)
- Pengetahuan tentang Masalah Ransel (4)
- Pengetahuan tentang masalah ransel (5)
- pertanyaan masalah ransel
- Interval DP
- Pengetahuan DP interval
- Pertanyaan DP interval
- DP Pohon
- Pengetahuan DP pohon
- Pertanyaan DP pohon
- DP Kompresi Negara
- Nyatakan pengetahuan DP kompresi
- Pertanyaan DP Kompresi Negara
- Hitung DP
- Menghitung DP Pengetahuan
- Menghitung soal DP
- DP digital
- Pengetahuan DP digital
- Soal DP digital
- Probabilitas DP
- Probabilitas pengetahuan DP
- Pertanyaan DP probabilitas
- Optimalisasi pemrograman dinamis
- Optimalisasi tumpukan monoton/antrian prioritas
- Optimasi Kemiringan
- Optimalisasi ketimpangan segi empat
- Masalah optimasi pemrograman dinamis
11. Konten tambahan
- Garis waktu penyelesaian konten
12. Solusi masalah LeetCode (860 pertanyaan selesai)