เนื้อหา
การเรียงลำดับชุดรายการในรายการเป็นงานที่บ่อยครั้งในการเขียนโปรแกรม บ่อยครั้งที่มนุษย์สามารถทำงานนี้ได้อย่างสังหรณ์ใจ อย่างไรก็ตามโปรแกรมคอมพิวเตอร์จำเป็นต้องทำตามคำสั่งที่แน่นอนเพื่อให้เสร็จสมบูรณ์และลำดับนี้เรียกว่าอัลกอริทึม อัลกอริทึมการเรียงลำดับเป็นวิธีที่ใช้ในการวางรายการของรายการที่ไม่เป็นระเบียบตามลำดับเฉพาะ ลำดับการสั่งซื้อถูกกำหนดโดยคีย์ มีอัลกอริทึมการเรียงลำดับหลายอย่างที่แตกต่างกันในแง่ของประสิทธิภาพและประสิทธิภาพ บางชนิดที่รู้จักและสำคัญของประเภทนี้รวมถึง: การจัดเรียงฟองการเรียงลำดับการเลือกเรียงลำดับการแทรกและเรียงลำดับอย่างรวดเร็ว
หลายรายการสามารถสั่งซื้อได้ด้วยอัลกอริทึม (รูปภาพ Thinkstock / Comstock / Getty)
เรียงลำดับฟอง
การเรียงลำดับฟองซ้ำ ๆ สลับองค์ประกอบที่อยู่ติดกันซึ่งไม่ได้อยู่ในลำดับจนกระทั่งรายการทุกรายการอยู่ในลำดับ ด้วยวิธีนี้รายการมีความผันผวนในรายการตามค่าของพวกเขาที่ใหญ่ที่สุด (ในกรณีของคำสั่งขึ้น) ที่สิ้นสุดในตอนท้ายของการทำซ้ำแต่ละ
ข้อได้เปรียบหลักของอัลกอริทึมนี้คือการใช้งานนั้นง่ายและคุ้นเคย นอกจากนี้ในการเรียงลำดับฟององค์ประกอบจะถูกสลับออกโดยไม่ใช้ที่เก็บข้อมูลชั่วคราวซึ่งทำให้ความต้องการพื้นที่น้อยที่สุด ข้อเสียเปรียบหลักคือความจริงที่ว่ามันไม่แสดงผลลัพธ์ที่ดีเมื่อรายการมีหลายรายการ นี่เป็นเพราะการสั่งซื้อประเภทนี้ต้องการขั้นตอนการประมวลผล n2 สำหรับแต่ละองค์ประกอบที่จะเรียงลำดับ ดังนั้นการเรียงลำดับฟองจะถูกระบุสำหรับการสอนเชิงวิชาการ แต่ไม่ใช่สำหรับการใช้งานจริง
เรียงลำดับการคัดเลือก
การเรียงลำดับการเลือกซ้ำ ๆ กันสำรวจรายการโดยการเลือกทีละรายการและวางไว้ในตำแหน่งที่ถูกต้องของลำดับ
ข้อได้เปรียบหลักของการเรียงลำดับตัวเลือกคือมันทำงานได้ดีในรายการขนาดเล็ก นอกจากนี้เนื่องจากเป็นอัลกอริธึมการสั่งซื้อสินค้าจึงไม่จำเป็นต้องใช้พื้นที่จัดเก็บชั่วคราวเกินกว่าที่จำเป็นในการจัดเก็บรายการดั้งเดิม ข้อเสียเปรียบหลักคือประสิทธิภาพต่ำในรายการขนาดใหญ่ เช่นเดียวกับการเรียงลำดับฟองมันต้องใช้จำนวน n2 ขั้นตอนสำหรับแต่ละองค์ประกอบ n นอกจากนี้ประสิทธิภาพการทำงานยังได้รับอิทธิพลจากคำสั่งเริ่มต้นของรายการก่อนกระบวนการคัดกรอง ด้วยเหตุนี้การเลือกประเภทนี้จึงเหมาะสำหรับรายการที่มีองค์ประกอบไม่กี่รายการที่อยู่ในลำดับแบบสุ่ม
เรียงลำดับการแทรก
การเรียงลำดับการแทรกเรียงลำดับรายการซ้ำ ๆ และทุกครั้งที่แทรกรายการของลำดับที่ไม่เป็นระเบียบลงในตำแหน่งที่ถูกต้อง
ข้อได้เปรียบหลักของการสั่งซื้อเม็ดมีดคือความเรียบง่ายเช่นเดียวกับการแสดงผลงานที่ดีในรายการขนาดเล็ก มันเป็นอัลกอริธึมการสั่งซื้อสถานที่ดังนั้นความต้องการพื้นที่จึงน้อยที่สุด ข้อเสียคือมันไม่ทำงานเช่นเดียวกับอัลกอริทึมการเรียงลำดับอื่น ๆ ด้วยขั้นตอน n2 ที่จำเป็นสำหรับการทำงานการเรียงลำดับการแทรกจึงไม่สามารถทำงานได้ดีกับรายการขนาดใหญ่ อย่างไรก็ตามมีประโยชน์อย่างยิ่งกับรายการของบางรายการ
จัดเรียงด่วน
Quick sort ใช้งานได้กับหลักการแบ่งและพิชิต ก่อนอื่นแบ่งรายการออกเป็นสองรายการย่อยโดยยึดตามองค์ประกอบสาระสำคัญ องค์ประกอบทั้งหมดในรายการย่อยแรกจะถูกจัดเรียงเพื่อให้มีขนาดเล็กกว่าเดือยในขณะที่องค์ประกอบทั้งหมดในรายการย่อยที่สองจะถูกจัดเรียงให้มีขนาดใหญ่กว่าเดือย กระบวนการแบ่งพาร์ติชันและการจัดระเบียบเดียวกันจะดำเนินการซ้ำ ๆ ในรายการย่อยผลลัพธ์จนกว่ารายการทั้งหมดจะถูกจัดระเบียบ
การจัดเรียงอย่างรวดเร็วถูกพิจารณาโดยบางคนว่าเป็นอัลกอริทึมการเรียงลำดับที่ดีที่สุดเนื่องจากมีข้อได้เปรียบที่สำคัญในแง่ของประสิทธิภาพเนื่องจากทำงานได้ดีกับรายการจำนวนมาก โดยการสั่งซื้อในพื้นที่ก็ไม่จำเป็นต้องมีพื้นที่เก็บข้อมูลเพิ่มเติม ข้อเสียเล็กน้อยที่นำเสนอคือประสิทธิภาพที่เลวร้ายที่สุดนั้นคล้ายกับประสิทธิภาพเฉลี่ยของอัลกอริทึมอื่น ๆ ที่อธิบายไว้ข้างต้น อย่างไรก็ตามมันเป็นสิ่งสำคัญที่จะต้องทราบว่ากรณีที่เลวร้ายที่สุดนี้หายากมาก โดยทั่วไปการเรียงลำดับแบบเร็วจะสร้างวิธีที่มีประสิทธิภาพและใช้กันอย่างแพร่หลายในการจัดรายการขนาดใดก็ได้