ข้อดีและข้อเสียของขั้นตอนวิธีการเรียงลำดับ

ผู้เขียน: John Stephens
วันที่สร้าง: 22 มกราคม 2021
วันที่อัปเดต: 26 พฤศจิกายน 2024
Anonim
ก.พ. Hack #8 สูตรการเรียงลำดับประโยคไม่ให้พลาด
วิดีโอ: ก.พ. Hack #8 สูตรการเรียงลำดับประโยคไม่ให้พลาด

เนื้อหา

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


หลายรายการสามารถสั่งซื้อได้ด้วยอัลกอริทึม (รูปภาพ Thinkstock / Comstock / Getty)

เรียงลำดับฟอง

การเรียงลำดับฟองซ้ำ ๆ สลับองค์ประกอบที่อยู่ติดกันซึ่งไม่ได้อยู่ในลำดับจนกระทั่งรายการทุกรายการอยู่ในลำดับ ด้วยวิธีนี้รายการมีความผันผวนในรายการตามค่าของพวกเขาที่ใหญ่ที่สุด (ในกรณีของคำสั่งขึ้น) ที่สิ้นสุดในตอนท้ายของการทำซ้ำแต่ละ

ข้อได้เปรียบหลักของอัลกอริทึมนี้คือการใช้งานนั้นง่ายและคุ้นเคย นอกจากนี้ในการเรียงลำดับฟององค์ประกอบจะถูกสลับออกโดยไม่ใช้ที่เก็บข้อมูลชั่วคราวซึ่งทำให้ความต้องการพื้นที่น้อยที่สุด ข้อเสียเปรียบหลักคือความจริงที่ว่ามันไม่แสดงผลลัพธ์ที่ดีเมื่อรายการมีหลายรายการ นี่เป็นเพราะการสั่งซื้อประเภทนี้ต้องการขั้นตอนการประมวลผล n2 สำหรับแต่ละองค์ประกอบที่จะเรียงลำดับ ดังนั้นการเรียงลำดับฟองจะถูกระบุสำหรับการสอนเชิงวิชาการ แต่ไม่ใช่สำหรับการใช้งานจริง

เรียงลำดับการคัดเลือก

การเรียงลำดับการเลือกซ้ำ ๆ กันสำรวจรายการโดยการเลือกทีละรายการและวางไว้ในตำแหน่งที่ถูกต้องของลำดับ


ข้อได้เปรียบหลักของการเรียงลำดับตัวเลือกคือมันทำงานได้ดีในรายการขนาดเล็ก นอกจากนี้เนื่องจากเป็นอัลกอริธึมการสั่งซื้อสินค้าจึงไม่จำเป็นต้องใช้พื้นที่จัดเก็บชั่วคราวเกินกว่าที่จำเป็นในการจัดเก็บรายการดั้งเดิม ข้อเสียเปรียบหลักคือประสิทธิภาพต่ำในรายการขนาดใหญ่ เช่นเดียวกับการเรียงลำดับฟองมันต้องใช้จำนวน n2 ขั้นตอนสำหรับแต่ละองค์ประกอบ n นอกจากนี้ประสิทธิภาพการทำงานยังได้รับอิทธิพลจากคำสั่งเริ่มต้นของรายการก่อนกระบวนการคัดกรอง ด้วยเหตุนี้การเลือกประเภทนี้จึงเหมาะสำหรับรายการที่มีองค์ประกอบไม่กี่รายการที่อยู่ในลำดับแบบสุ่ม

เรียงลำดับการแทรก

การเรียงลำดับการแทรกเรียงลำดับรายการซ้ำ ๆ และทุกครั้งที่แทรกรายการของลำดับที่ไม่เป็นระเบียบลงในตำแหน่งที่ถูกต้อง

ข้อได้เปรียบหลักของการสั่งซื้อเม็ดมีดคือความเรียบง่ายเช่นเดียวกับการแสดงผลงานที่ดีในรายการขนาดเล็ก มันเป็นอัลกอริธึมการสั่งซื้อสถานที่ดังนั้นความต้องการพื้นที่จึงน้อยที่สุด ข้อเสียคือมันไม่ทำงานเช่นเดียวกับอัลกอริทึมการเรียงลำดับอื่น ๆ ด้วยขั้นตอน n2 ที่จำเป็นสำหรับการทำงานการเรียงลำดับการแทรกจึงไม่สามารถทำงานได้ดีกับรายการขนาดใหญ่ อย่างไรก็ตามมีประโยชน์อย่างยิ่งกับรายการของบางรายการ


จัดเรียงด่วน

Quick sort ใช้งานได้กับหลักการแบ่งและพิชิต ก่อนอื่นแบ่งรายการออกเป็นสองรายการย่อยโดยยึดตามองค์ประกอบสาระสำคัญ องค์ประกอบทั้งหมดในรายการย่อยแรกจะถูกจัดเรียงเพื่อให้มีขนาดเล็กกว่าเดือยในขณะที่องค์ประกอบทั้งหมดในรายการย่อยที่สองจะถูกจัดเรียงให้มีขนาดใหญ่กว่าเดือย กระบวนการแบ่งพาร์ติชันและการจัดระเบียบเดียวกันจะดำเนินการซ้ำ ๆ ในรายการย่อยผลลัพธ์จนกว่ารายการทั้งหมดจะถูกจัดระเบียบ

การจัดเรียงอย่างรวดเร็วถูกพิจารณาโดยบางคนว่าเป็นอัลกอริทึมการเรียงลำดับที่ดีที่สุดเนื่องจากมีข้อได้เปรียบที่สำคัญในแง่ของประสิทธิภาพเนื่องจากทำงานได้ดีกับรายการจำนวนมาก โดยการสั่งซื้อในพื้นที่ก็ไม่จำเป็นต้องมีพื้นที่เก็บข้อมูลเพิ่มเติม ข้อเสียเล็กน้อยที่นำเสนอคือประสิทธิภาพที่เลวร้ายที่สุดนั้นคล้ายกับประสิทธิภาพเฉลี่ยของอัลกอริทึมอื่น ๆ ที่อธิบายไว้ข้างต้น อย่างไรก็ตามมันเป็นสิ่งสำคัญที่จะต้องทราบว่ากรณีที่เลวร้ายที่สุดนี้หายากมาก โดยทั่วไปการเรียงลำดับแบบเร็วจะสร้างวิธีที่มีประสิทธิภาพและใช้กันอย่างแพร่หลายในการจัดรายการขนาดใดก็ได้

ห้องครัวที่ทันสมัยจะไม่สมบูรณ์หากไม่มีไมโครเวฟ หากคุณย้ายไปอยู่บ้านหลังเก่าที่ไม่มีบ้านติดตั้งหรือคุณต้องการซื้อบ้านใหม่ให้ตรวจสอบว่ารุ่นใหม่เหมาะสมกับพื้นที่ที่กำหนดโดยการวัดที่แน่นอน การปล่อยไมโครเว...

เมื่อสอนเด็กเกี่ยวกับประวัติศาสตร์ของกรุงโรมโบราณพวกเขาอาจไม่สนใจถ้าคุณไม่ได้จัดกิจกรรมที่สร้างสรรค์และมีปฏิสัมพันธ์ ตัวอย่างเช่นเมื่อคุณเรียนรู้เกี่ยวกับกองทัพโรมันสร้างเกราะโรมันโดยใช้วัสดุพื้นฐานเช...

ที่แนะนำ