Algoritma - C#
Semua algoritma diterapkan dalam C# - untuk tujuan pendidikan
Repositori adalah kumpulan berbagai algoritma yang diimplementasikan dalam C#. Algoritma ini mencakup berbagai topik dari ilmu komputer, matematika dan statistik, ilmu data, pembelajaran mesin, teknik, dll. Implementasi dan dokumentasi terkait dimaksudkan untuk menyediakan sumber belajar bagi para pendidik dan siswa. Oleh karena itu, orang mungkin menemukan lebih dari satu implementasi untuk tujuan yang sama tetapi menggunakan strategi dan optimasi algoritma yang berbeda.
Daftar algoritma
Algoritma
- Crypto
- Padding
- ISO 10125-2 Padding
- ISO 7816-4 Padding
- X9.32 Padding
- TBC Padding
- PKCS7 Padding
- Pencernaan
- Ascon Hash Digest
- MD2 Digest
- Kompresi data
- Transformasi Burrows-Wheeler
- Kompresor Huffman
- Kompresor Shannon-Fano
- Encoders
- Caesar
- Vigenere
- Bukit
- NYSIIS
- Soundex
- Feistel
- Blowfish
- Grafik
- Pohon spanning minimum
- Algoritma Prim (matriks adjacency)
- Algoritma Kruskal
- Lughfirsttreetraversal
- Lugrfirstsearch
- DepthFirstSearch
- Dijkstra Jalur terpendek
- Floydwarshall
- Kosaraju
- Masalah Knapsack
- Pemecah naif
- Pemecah pemrograman dinamis
- Solver cabang dan terikat
- Iheuristicknapsacksolver
- Aljabar linier
- Jarak
- Chebyshev
- Euclidean
- Manhattan
- Minkowski
- Nilai eigen
- Aritmatika modular
- Teorema sisa Cina
- Algoritma Euclidean yang diperluas
- Modular Multiplikative Inverse
- Numerik
- Mutlak
- Penambahan tanpa aritmatika
- Kalkulator Jumlah Alikuot
- Pemeriksa Angka yang ramah
- Ceil
- Penguraian
- Dekomposisi Lu
- Dekomposisi vektor tunggal tipis
- Lantai
- Pembagi Umum Terbesar
- Faktorisasi
- Faktorisasi Divisi Percobaan
- Eksponasi Modular
- Seri
- Eliminasi Gauss-Jordan
- BinomialCoefisien
- Faktorial
- Pemeriksa Nomor Keith
- Pseudo-Inverse
- Pemeriksa nomor narsistik
- Pemeriksa Kubus Sempurna
- Pemeriksa nomor sempurna
- Pemeriksa persegi yang sempurna
- Metode Euler
- Metode klasik Runge-Kutta
- Pemeriksaan Primalitas Miller-Rabin
- Krishnamurthynumberchecker
- Nomor Otomorfik
- Masalah Josephus
- Perhitungan root kuadrat Newton
- Fungsi softmax
- Sistem Rekomendasi
- Pencarian
- A-Star
- Pencarian biner
- Pencarian Boyermoore
- Pencarian Cepat
- Pencarian Fibonacci
- Pencarian Interpolasi
- Lompat pencarian
- Pencarian linier
- Pencarian Biner Rekursif
- Sorts
- Perbandingan
- Urutan Penyisipan Biner
- Bogo Sort
- Sortir Gelembung
- Jenis koktail
- Sortir sisir
- Siklus
- Sorts Exchange
- Sortir tumpukan
- Sort Penyisipan
- Gabungan
- Sortir pancake
- Sortir cepat
- Median tiga pivot
- Pivot titik tengah
- Poros acak
- Jenis seleksi
- Sortir shell
- Time Sort
- Sortir tim yang disederhanakan
- Luar
- Bilangan bulat
- Menghitung jenis
- Sortir ember
- Radix Sort
- Rangkaian
- Shufflers
- Urutan
- A000002 Kolakoski
- A000004 Zero
- A000005 Hitungan pembagi
- A000008 membuat perubahan
- A000010 Euler's Totient
- A000012 Semua orang
- A000027 Natural
- A000032 Nomor Lucas
- A000040 Primes
- A000045 Fibonacci
- A000079 Kekuatan 2
- A000108 Catalan
- Penghitungan A000120 1
- A000124 Nomor Poligonal Pusat
- A000125 Nomor Kue
- A000142 Faktorial
- A000213 Nomor Tribonacci
- A000215 Nomor Fermat
- A000288 nomor tetranacci
- A000290 kotak
- A000292 Nomor Tetrahedral
- A000578 Cubes
- A000720 Primepi
- A001146 Jumlah Fungsi Boolean
- A001462 Golomb's
- A001478 Bilangan bulat negatif
- A002110 Angka primorial
- A002717 Pengaturan Segitiga Matchstick
- A005132 Recaman's
- A006577 Jumlah langkah '3n+1' untuk mencapai 1
- A006862 Nomor Euclid
- A006879 Jumlah bilangan prima dengan jumlah digit
- A006880 Jumlah bilangan prima dengan kekuatan 10
- A007318 Binomial
- A007395 Semua dua
- A010051 Konstanta Binary Prime
- A010701 Semua bertiga
- A011557 Kekuatan 10
- A057588 Kummer Numbers
- A019434 Fermat Primes
- A181391 Van Eck
- Tumpukan
- Elemen Besar Berikutnya
- Pemeriksa kurung seimbang
- Tumpukan terbalik
- Rangkaian
- Kesamaan
- Kesamaan kosinus
- Jarak Damerau-Levenshtein
- Jarak hamming
- Kesamaan jaro
- Jaro-Winkler Distance
- Penyelarasan string optimal
- Pencocokan pola
- Pencocokan pola bitop
- Pencarian string naif
- Rabin Karp
- Boyer Moore
- Pencarian Knuth -Morris -Pratt
- Pencocokan pola wildcard
- Pencarian substring z-block
- Karakter terpanjang berturut -turut
- Pemeriksa Palindrome
- Dapatkan semua permutasi string
- Lainnya
- Fermat Prime Checker
- Ayakan eratosthenes
- Luhn
- Int2binary
- Geolokasi
- Mandelbrot
- Koch Snowflake
- Konversi RGB-HSV
- Isi banjir
- Optimalisasi Pareto
- Optimalisasi Gauss
- Konvolusi keputusan
- Varian Welford
- Julian Easter
- Pollard's Rho
- Hash geolokasi
- Geofencing
- Algoritma triangulasi
- Masalah
- Pernikahan yang stabil
- Gale-Shapley
- Accepter
- Pengusul
- N-Queens
- Pemrograman Dinamis
- Perubahan Koin
- Jarak Levenshtein
Struktur data
- Sedikit array
- Timeline
- Pohon segmen
- Pohon segmen
- Penggandaan Pohon Segmen
- Pembaruan Pohon Segmen
- Pohon pencarian biner
- Pohon kambing hitam
- Fenwick Tree (atau Binary Indexed Tree)
- AA pohon
- Pohon AVL
- Pohon merah-hitam
- Tumpukan
- Tumpukan berbasis array
- Tumpukan Berbasis Daftar
- Tumpukan berbasis antrian
- Tumpukan
- Heap min-max
- Tumpukan biner
- Tumpukan Fibonacci
- Pairing Heap
- Probabilistik
- Bloomfilter
- Sketsa Count-Min
- Hyperloglog
- Antre
- Antrian berbasis array
- Antrian berbasis daftar
- Antrian berbasis stack
- Daftar Tertaut
- Daftar Tertaut Singly
- Daftar Ditautkan Ganda
- Daftar Lewati
- Daftar Tertaut Lingkaran
- Grafik
- Grafik tertimbang diarahkan melalui matriks adjacency
- Set Disjoint
- SortedList
- Indeks terbalik
- Daftar Tertaut yang Terbuka
- Mencoba
- Hashtable
- Cache
- Cache yang paling sering digunakan (LFU)
- Cache baru -baru ini digunakan (LRU)
Pembaruan Proyek: .NET 8 Migrasi
Sebagai bagian dari upaya berkelanjutan kami untuk tetap mutakhir dengan teknologi terbaru, kami telah memigrasikan proyek kami ke .NET 8. Peningkatan ini meningkatkan proyek kami dengan fitur dan peningkatan terbaru dari ekosistem .NET.
Persyaratan baru
- Untuk membangun dan menjalankan proyek ini, .NET 8 SDK sekarang diperlukan.
- Pastikan alat pengembangan Anda kompatibel dengan .NET 8.
Membangun proyek
- Dengan .NET 8 SDK terpasang, Anda dapat membangun proyek menggunakan perintah
dotnet build standar. - Semua skrip build yang ada telah diperbarui untuk mengakomodasi .NET 8 SDK.
Menjalankan tes
- Rangkaian uji unit komprehensif kami memastikan kompatibilitas dengan .NET 8.
- Jalankan tes menggunakan perintah
dotnet test seperti biasa.
Berkontribusi
Anda dapat berkontribusi dengan senang pada repositori ini. Harap orientasi pada struktur direktori dan gaya kode keseluruhan dari repositori ini dan lihat pedoman yang berkontribusi untuk detail lebih lanjut. Jika Anda ingin mengajukan pertanyaan atau menyarankan sesuatu, buka masalah.