สิ่งเหล่านี้มีวัตถุประสงค์เพื่อการสาธิตเท่านั้น มีการใช้งานหลายประเภทในไลบรารีมาตรฐาน JavaScript ที่ดีกว่ามากสำหรับเหตุผลด้านประสิทธิภาพ
ขอบคุณสำหรับ Thealgorithms: https://github.com/thealgorithms
จาก Wikipedia: การเรียงลำดับฟองบางครั้งเรียกว่าการเรียงลำดับการจมเป็นอัลกอริทึมการเรียงลำดับง่าย ๆ ที่ก้าวผ่านรายการที่จะจัดเรียงซ้ำ ๆ ซ้ำ ๆ เปรียบเทียบแต่ละรายการของรายการที่อยู่ติดกันและสลับพวกเขาหากอยู่ในลำดับที่ผิด การผ่านรายการจะถูกทำซ้ำจนกว่าจะไม่จำเป็นต้องมีการแลกเปลี่ยนซึ่งบ่งชี้ว่ารายการถูกเรียงลำดับ
คุณสมบัติ
จาก Wikipedia: การเรียงลำดับการแทรกเป็นอัลกอริทึมการเรียงลำดับง่าย ๆ ที่สร้างอาร์เรย์ที่เรียงลำดับขั้นสุดท้าย (หรือรายการ) หนึ่งรายการในแต่ละครั้ง มันมีประสิทธิภาพน้อยกว่าในรายการขนาดใหญ่มากกว่าอัลกอริทึมขั้นสูงเช่น Quicksort, Heapsort หรือ Merge Sort
คุณสมบัติ
จาก Wikipedia: ในวิทยาการคอมพิวเตอร์การเรียงลำดับ (เช่น Mergesort ที่สะกดโดยทั่วไป) เป็นอัลกอริทึมการเรียงลำดับที่มีประสิทธิภาพทั่วไป การใช้งานส่วนใหญ่สร้างการเรียงลำดับที่เสถียรซึ่งหมายความว่าการใช้งานรักษาลำดับอินพุตขององค์ประกอบที่เท่ากันในเอาต์พุตที่เรียงลำดับ Mergesort เป็นอัลกอริทึมการแบ่งแยกและพิชิตที่คิดค้นโดย John Von Neumann ในปี 1945
คุณสมบัติ
จาก Wikipedia: Quicksort (บางครั้งเรียกว่าการจัดเรียงพาร์ติชัน-แลกเปลี่ยน) เป็นอัลกอริทึมการเรียงลำดับที่มีประสิทธิภาพซึ่งทำหน้าที่เป็นวิธีการที่เป็นระบบสำหรับการวางองค์ประกอบของอาร์เรย์ตามลำดับ
คุณสมบัติ
จาก Wikipedia: อัลกอริทึมแบ่งรายการอินพุตออกเป็นสองส่วน: sublist ของรายการเรียงลำดับแล้วซึ่งถูกสร้างขึ้นจากซ้ายไปขวาที่ด้านหน้า (ซ้าย) ของรายการและ sublist ของรายการที่เหลืออยู่จะเรียงลำดับส่วนที่เหลือของรายการ ในขั้นต้น sublist ที่จัดเรียงนั้นว่างเปล่าและ Sublist ที่ไม่ได้เรียงลำดับเป็นรายการอินพุตทั้งหมด อัลกอริทึมดำเนินการโดยการค้นหาองค์ประกอบที่เล็กที่สุด (หรือใหญ่ที่สุดขึ้นอยู่กับลำดับการเรียงลำดับ) ใน sublist ที่ไม่ได้เรียงลำดับการแลกเปลี่ยน (การแลกเปลี่ยน) ด้วยองค์ประกอบที่ไม่ได้เรียงลำดับสูงสุด (วางไว้ในลำดับที่เรียงลำดับ) และย้ายขอบเขตย่อยหนึ่งองค์ประกอบไปทางขวา
คุณสมบัติ
จาก Wikipedia: Shellsort เป็นลักษณะทั่วไปของการเรียงลำดับการแทรกที่ช่วยให้การแลกเปลี่ยนรายการที่อยู่ห่างกัน แนวคิดคือการจัดเรียงรายการองค์ประกอบเพื่อให้เริ่มต้นที่ใดก็ได้โดยพิจารณาทุกองค์ประกอบที่ n ให้รายการเรียงลำดับ รายการดังกล่าวกล่าวกันว่าเป็น H เท่าเทียมกันมันสามารถคิดได้ว่าเป็นรายการ interleaved h แต่ละรายการเรียงลำดับเป็นรายบุคคล
คุณสมบัติ
การเปรียบเทียบความซับซ้อนของอัลกอริทึมการเรียงลำดับ (การเรียงลำดับฟอง, เรียงลำดับการแทรก, การเลือกการเลือก)
กราฟความซับซ้อน
จาก Wikipedia: การค้นหาเชิงเส้นหรือการค้นหาตามลำดับเป็นวิธีการค้นหาค่าเป้าหมายภายในรายการ มันจะตรวจสอบแต่ละองค์ประกอบของรายการสำหรับค่าเป้าหมายจนกว่าจะพบการจับคู่หรือจนกว่าองค์ประกอบทั้งหมดจะถูกค้นหา การค้นหาเชิงเส้นทำงานในเวลาเชิงเส้นที่เลวร้ายที่สุดและทำให้การเปรียบเทียบมากที่สุด n โดยที่ n คือความยาวของรายการ
คุณสมบัติ
จาก Wikipedia: Binary Search หรือที่เรียกว่าการค้นหาแบบครึ่ง interval หรือการค้นหาลอการิทึมเป็นอัลกอริทึมการค้นหาที่ค้นหาตำแหน่งของค่าเป้าหมายภายในอาร์เรย์ที่เรียงลำดับ มันเปรียบเทียบค่าเป้าหมายกับองค์ประกอบกลางของอาร์เรย์; หากพวกเขาไม่เท่ากันครึ่งหนึ่งที่เป้าหมายไม่สามารถโกหกจะถูกกำจัดและการค้นหาจะดำเนินต่อไปในครึ่งที่เหลือจนกว่าจะประสบความสำเร็จ
คุณสมบัติ
จาก Wikipedia: กระโดดค้นหาหรือบล็อกการค้นหาหมายถึงอัลกอริทึมการค้นหาสำหรับรายการที่สั่งซื้อ มันทำงานได้โดยการตรวจสอบรายการทั้งหมด LKM ทั้งหมดโดยที่ { displaystyle k in mathbb {n}} k in mathbb {n} และ m คือขนาดบล็อกจนกว่าจะพบรายการที่มีขนาดใหญ่กว่าคีย์การค้นหา ในการค้นหาตำแหน่งที่แน่นอนของคีย์การค้นหาในรายการการค้นหาเชิงเส้นจะดำเนินการบน sublist l [(k-1) m, km]
คุณสมบัติ
ในการเข้ารหัส Caesar Cipher หรือที่รู้จักกันในชื่อ Caesar's Cipher, Shift Cipher, Caesar's Code หรือ Caesar Shift เป็นหนึ่งในเทคนิคการเข้ารหัสที่ง่ายและเป็นที่รู้จักมากที่สุด
มันเป็น ประเภทของการทดแทน ที่ตัวอักษรแต่ละตัวในข้อความธรรมดาจะถูกแทนที่ด้วยตัวอักษรจำนวนตำแหน่งคงที่บางตำแหน่งลงในตัวอักษร ตัวอย่างเช่นเมื่อมีการเลื่อนซ้าย 3, D จะถูกแทนที่ด้วย A, E จะกลายเป็น B และอื่น ๆ
วิธีการนี้ได้รับการตั้งชื่อตาม Julius Caesar ซึ่งใช้มันในการติดต่อส่วนตัวของเขา
ขั้นตอนการเข้ารหัสที่ดำเนินการโดย Caesar Cipher มักจะถูกรวมเข้าด้วยกันเป็นส่วนหนึ่งของรูปแบบที่ซับซ้อนมากขึ้นเช่นVigenère Cipher และยังคงมีการใช้งานที่ทันสมัยในระบบ ROT13 เช่นเดียวกับ ciphers การทดแทนตัวอักษรเดี่ยวทั้งหมด Caesar Cipher นั้นแตกหักได้ง่ายและในการปฏิบัติที่ทันสมัยนั้นไม่มีความปลอดภัยในการสื่อสาร
Vigenère Cipher เป็นวิธีการเข้ารหัสข้อความตัวอักษรโดยใช้ชุดของ caesar ciphers interwoven ตามตัวอักษรของคำหลัก มันเป็น รูปแบบของการทดแทน polyalphabetic
Vigenère Cipher ได้รับการคิดค้นขึ้นใหม่หลายครั้ง วิธีการนี้ได้รับการอธิบายโดย Giovan Battista Bellaso ในหนังสือปี ค.ศ. 1553 La Cifra Del ซิก Giovan Battista Bellaso; อย่างไรก็ตามโครงการดังกล่าวได้ถูกส่งไปยัง Blaise de Vigenèreในศตวรรษที่ 19 และตอนนี้เป็นที่รู้จักกันอย่างกว้างขวางว่าเป็น "Vigenère Cipher"
แม้ว่าตัวเลขจะเข้าใจและนำไปใช้งานได้ง่าย แต่เป็นเวลาสามศตวรรษที่ต่อต้านความพยายามทั้งหมดที่จะทำลายมัน สิ่งนี้ทำให้ได้รับคำอธิบาย le chiffre indéchiffrable (ภาษาฝรั่งเศสสำหรับ 'cipher ที่ไม่สามารถอ่านได้') หลายคนพยายามที่จะใช้แผนการเข้ารหัสที่เป็นหลักสำคัญ Friedrich Kasiski เป็นคนแรกที่ตีพิมพ์วิธีการทั่วไปในการถอดรหัสVigenère Cipher ในปี 1863
ในการเข้ารหัส การขนถ่ายรหัส เป็นวิธีการเข้ารหัสซึ่งตำแหน่งที่จัดขึ้นโดยหน่วยของข้อความธรรมดา (ซึ่งเป็นอักขระหรือกลุ่มของตัวละคร) จะถูกเลื่อนตามระบบปกติ นั่นคือลำดับของหน่วยมีการเปลี่ยนแปลง (ข้อความธรรมดาถูกจัดลำดับใหม่)
คณิตศาสตร์จะใช้ฟังก์ชัน bijective ในตำแหน่งของอักขระเพื่อเข้ารหัสและฟังก์ชั่นผกผันเพื่อถอดรหัส
อัลกอริทึม LUHN หรือสูตร LUHN หรือที่รู้จักกันในชื่อ "MODULUS 10" หรือ "MOD 10" อัลกอริทึมเป็นสูตรการตรวจสอบอย่างง่ายที่ใช้ในการตรวจสอบหมายเลขบัตรประจำตัวที่หลากหลายเช่นหมายเลขบัตรเครดิตหมายเลข IMEI หมายเลขผู้ให้บริการประจำชาติในสหรัฐอเมริกาหมายเลขประกันสังคมของแคนาดา มันถูกสร้างขึ้นโดยนักวิทยาศาสตร์ IBM Hans Peter Luhn และอธิบายไว้ในสิทธิบัตรสหรัฐอเมริกาหมายเลข 2,950,048 ยื่นเมื่อวันที่ 6 มกราคม 1954 และได้รับเมื่อวันที่ 23 สิงหาคม 1960