Ini hanya untuk tujuan demonstrasi. Ada banyak implementasi di Perpustakaan Standar JavaScript yang jauh lebih baik karena alasan kinerja.
Terima kasih untuk tealgoritma: https://github.com/thealgorithms
Dari Wikipedia: Sortir Gelembung, kadang -kadang disebut sebagai jenis tenggelam, adalah algoritma penyortiran sederhana yang berulang kali melangkah melalui daftar untuk diurutkan, membandingkan setiap pasangan item yang berdekatan dan menukar mereka jika mereka berada dalam urutan yang salah. Pass melalui daftar diulangi sampai tidak diperlukan swap, yang menunjukkan bahwa daftar disortir.
Properti
Dari Wikipedia: Sort Penyisipan adalah algoritma penyortiran sederhana yang membangun array terakhir yang diurutkan (atau daftar) satu item pada satu waktu. Ini jauh lebih efisien pada daftar besar daripada algoritma yang lebih canggih seperti Quicksort, Heapsort, atau Gabungan.
Properti
Dari Wikipedia: Dalam Ilmu Komputer, Sortir Gabungan (juga umumnya dieja mergeSort) adalah algoritma penyortiran berbasis perbandingan yang efisien. Sebagian besar implementasi menghasilkan jenis yang stabil, yang berarti bahwa implementasi mempertahankan urutan input elemen yang sama dalam output yang diurutkan. Mergesort adalah algoritma yang membagi dan menaklukkan yang ditemukan oleh John von Neumann pada tahun 1945.
Properti
Dari Wikipedia: Quicksort (kadang-kadang disebut jenis pertukaran partisi) adalah algoritma penyortiran yang efisien, berfungsi sebagai metode sistematis untuk menempatkan elemen array secara berurutan.
Properti
Dari Wikipedia: Algoritma membagi daftar input menjadi dua bagian: sublist item yang sudah diurutkan, yang dibangun dari kiri ke kanan di depan (kiri) daftar, dan sublist barang yang tersisa untuk disortir yang menempati sisa daftar. Awalnya, sublist yang diurutkan kosong dan sublist yang tidak disortir adalah seluruh daftar input. Algoritma ini berlangsung dengan menemukan elemen terkecil (atau terbesar, tergantung pada urutan penyortiran) dalam sublist yang tidak disortir, menukar (menukar) dengan elemen paling tidak disortir (menempatkannya dalam urutan yang diurutkan), dan menggerakkan batas sublist satu elemen ke kanan.
Properti
Dari Wikipedia: Shellsort adalah generalisasi dari jenis penyisipan yang memungkinkan pertukaran item yang berjauhan. Idenya adalah untuk mengatur daftar elemen sehingga, mulai di mana saja, mengingat setiap elemen ke -n memberikan daftar yang diurutkan. Daftar seperti itu dikatakan H-Sorted. Secara ekivalen, dapat dianggap sebagai daftar yang diselingi H, masing -masing diurutkan secara individual.
Properti
Membandingkan kompleksitas algoritma penyortiran (Sortir Gelembung, Sort Penyisipan, Sortir Pilihan)
Grafik kompleksitas
Dari Wikipedia: Pencarian linier atau pencarian berurutan adalah metode untuk menemukan nilai target dalam daftar. Ini secara berurutan memeriksa setiap elemen daftar untuk nilai target sampai kecocokan ditemukan atau sampai semua elemen telah dicari. Pencarian linier berjalan pada waktu linier terburuk dan membuat paling banyak N perbandingan, di mana n adalah panjang daftar.
Properti
Dari Wikipedia: pencarian biner, juga dikenal sebagai pencarian setengah interval atau pencarian logaritmik, adalah algoritma pencarian yang menemukan posisi nilai target dalam array yang diurutkan. Ini membandingkan nilai target dengan elemen tengah array; Jika mereka tidak setara, setengah di mana target tidak bisa berbohong dihilangkan dan pencarian berlanjut pada setengah yang tersisa sampai berhasil.
Properti
Dari Wikipedia: Pencarian lompat atau pencarian blok mengacu pada algoritma pencarian untuk daftar yang dipesan. Ini berfungsi dengan terlebih dahulu memeriksa semua item lkm, di mana { displaystyle k in mathbb {n}} k in mathbb {n} dan m adalah ukuran blok, sampai item ditemukan yang lebih besar dari kunci pencarian. Untuk menemukan posisi tepat dari kunci pencarian dalam daftar pencarian linier dilakukan pada sublist l [(k-1) m, km].
Properti
Dalam kriptografi, cipher caesar , juga dikenal sebagai cipher Caesar, cipher shift, kode Caesar atau caesar shift, adalah salah satu teknik enkripsi yang paling sederhana dan paling dikenal.
Ini adalah jenis cipher substitusi di mana setiap huruf dalam plaintext digantikan dengan huruf sejumlah posisi tetap di bawah alfabet. Misalnya, dengan shift kiri 3, D akan digantikan oleh A, E akan menjadi B, dan sebagainya.
Metode ini dinamai Julius Caesar , yang menggunakannya dalam korespondensi pribadinya.
Langkah enkripsi yang dilakukan oleh cipher caesar sering dimasukkan sebagai bagian dari skema yang lebih kompleks, seperti vigenère cipher, dan masih memiliki aplikasi modern dalam sistem ROT13. Seperti halnya semua cipher substitusi alfabet tunggal, cipher Caesar mudah rusak dan dalam praktik modern pada dasarnya tidak menawarkan keamanan komunikasi.
Vigenère Cipher adalah metode enkripsi teks alfabet dengan menggunakan serangkaian cipher Caesar yang terjalin berdasarkan huruf kata kunci. Ini adalah bentuk substitusi polyalphabetic .
Cipher Vigenère telah diciptakan kembali berkali -kali. Metode ini awalnya dijelaskan oleh Giovan Battista Bellaso dalam bukunya 1553 La Cifra del. Sig. Giovan Battista Bellaso; Namun, skema ini kemudian disalahartikan ke Blaise de Vigenère pada abad ke -19, dan sekarang secara luas dikenal sebagai "Cipher Vigenère".
Meskipun sandi mudah dipahami dan diimplementasikan, selama tiga abad itu menolak semua upaya untuk memecahkannya; Ini mendapatkan deskripsi le chiffre indéchiffrable (Prancis untuk 'cipher yang tidak dapat dipahami'). Banyak orang telah mencoba menerapkan skema enkripsi yang pada dasarnya adalah cipher Vigenère. Friedrich Kasiski adalah orang pertama yang menerbitkan metode umum untuk menguraikan sandi Vigenère pada tahun 1863.
Dalam kriptografi, cipher transposisi adalah metode enkripsi dimana posisi yang dipegang oleh unit plaintext (yang biasanya merupakan karakter atau kelompok karakter) digeser sesuai dengan sistem reguler, sehingga ciphertext merupakan permutasi plaintext. Artinya, urutan unit diubah (plaintext disusun ulang).
Secara matematis, fungsi bugat digunakan pada posisi karakter untuk mengenkripsi dan fungsi terbalik untuk mendekripsi.
Algoritma Luhn atau formula Luhn, juga dikenal sebagai algoritma "Modulus 10" atau "Mod 10", adalah formula checksum sederhana yang digunakan untuk memvalidasi berbagai nomor identifikasi, seperti nomor kartu kredit, nomor IMEI, nomor pengenal penyedia nasional di Amerika Serikat, angka asuransi sosial Kanada, angka -angka ID IDSARA dan angka sosial Israel. Itu diciptakan oleh ilmuwan IBM Hans Peter Luhn dan dijelaskan dalam paten AS No. 2.950.048, diajukan pada 6 Januari 1954, dan diberikan pada 23 Agustus 1960.