Lab Algoritma
Selamat datang di Repositori Lab Algoritma ! Proyek ini berisi implementasi berbagai algoritma, yang dirancang untuk berfungsi sebagai sumber daya untuk pembelajaran, referensi, dan kolaborasi. Apakah Anda seorang siswa, pengembang, atau hanya seseorang yang tertarik dengan algoritma, Anda akan menemukan kode dan penjelasan yang berguna di sini.
Termasuk algoritma
Algoritma Cari
- Pencarian Linier : Algoritma pencarian sederhana yang memeriksa setiap elemen daftar sampai elemen yang diinginkan ditemukan.
- Pencarian Biner : Algoritma yang efisien untuk menemukan item dari daftar item yang diurutkan, mengurangi kompleksitas waktu menjadi O (log n).
Algoritma grafik
- Luas-First Search (BFS) : Algoritma untuk melintasi atau mencari struktur data pohon atau grafik, mulai dari node akar dan menjelajahi semua tetangga pada kedalaman saat ini sebelum pindah ke node pada level kedalaman berikutnya.
- Pencarian kedalaman-pertama (DFS) : Algoritma untuk melintasi atau mencari struktur data pohon atau grafik, mulai dari root dan menjelajahi sejauh mungkin di setiap cabang sebelum mundur.
Algoritma penyortiran
- Gabungkan Sort : Algoritma Divide-and-Conquer yang membagi array menjadi dua, mengurutkannya, dan kemudian menggabungkannya kembali.
- Sortir Cepat : Algoritma penyortiran yang efisien, di tempat, dan penaklukan.
Struktur data
- Algoritma Heap : Implementasi Struktur Data HEAP dan Operasi Terkait.
Pemrograman Dinamis
- Algoritma Pemotongan Batang : Masalah optimisasi yang melibatkan memotong batang menjadi potongan -potongan kecil untuk memaksimalkan laba.
File
-
linear_search.cpp : Implementasi algoritma pencarian linier. -
binary_search.cpp : Implementasi algoritma pencarian biner. -
breadth_first_search.cpp : Implementasi algoritma pencarian pertama yang luas. -
depth_first_search.cpp : Implementasi algoritma pencarian kedalaman-pertama. -
heap_algorithm.cpp : Implementasi algoritma heap. -
merge_sort.cpp : Implementasi algoritma Gabungan. -
quicksort.cpp : Implementasi algoritma Sortir Cepat. -
rod_cutting.cpp : Implementasi algoritma pemotongan batang.
Pedoman Kontribusi
Kami menyambut kontribusi dari komunitas! Berikut adalah beberapa cara Anda dapat berkontribusi:
- Laporkan bug : Jika Anda menemukan bug atau masalah, silakan laporkan menggunakan pelacak masalah.
- Tingkatkan Dokumentasi : Bantu kami meningkatkan dokumentasi dan memudahkan orang lain untuk memahami kode.
- Optimalkan Kode : Sarankan optimisasi atau peningkatan implementasi yang ada.
- Tambahkan algoritma baru : Jika ada algoritma yang tidak tercakup di sini, jangan ragu untuk mengimplementasikan dan mengirimkan permintaan tarik.
Bagaimana berkontribusi
- Garakan repositori di github.
- Klone garpu Anda ke mesin lokal Anda menggunakan perintah berikut:
git clone https://github.com/imashiqe/algorithm_lab.git
- Buat cabang baru untuk fitur atau perbaikan bug Anda.
- Komit perubahan Anda dengan deskripsi yang jelas tentang apa yang telah Anda lakukan.
- Dorong ke cabang Anda di GitHub.
- Kirimkan permintaan tarik ke repositori utama.
Lisensi
Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.