การเรียงลำดับการแทรกกับการเรียงลำดับการเลือก
เนื้อหา
- สารบัญ: ความแตกต่างระหว่างการจัดเรียงการแทรกและการเรียงลำดับการเลือก
- แผนภูมิเปรียบเทียบ
- เรียงลำดับการแทรก
- เรียงลำดับการเลือก
- ความแตกต่างที่สำคัญ
- ข้อสรุป
- วิดีโออธิบาย
ความแตกต่างที่สำคัญระหว่างการเรียงลำดับการแทรกและการเรียงลำดับการเลือกคือในการเรียงลำดับการแทรกซึ่งข้อมูลถูกเรียงลำดับโดยการแทรกลงในรายการที่เรียงลำดับแล้วในขณะที่ในการเรียงลำดับการเลือกข้อมูลจะถูกจัดเรียงโดยการวางองค์ประกอบต่างๆ
การเรียงลำดับเป็นแนวคิดที่สำคัญมากในการเขียนโปรแกรม มีอัลกอริทึมมากมายสำหรับการเรียงลำดับในการเขียนโปรแกรม สองอัลกอริทึมที่มีชื่อเสียงที่สุดสำหรับการเรียงลำดับคือการเรียงลำดับการแทรกและเรียงลำดับการเลือก อัลกอริธึมทั้งสองนี้แตกต่างกัน ในการเรียงลำดับการแทรกซึ่งเป็นข้อมูลจะถูกจัดเรียงโดยการแทรกลงในรายการที่เรียงลำดับแล้ว องค์ประกอบเดียวเท่านั้นที่ถูกแทรกในอาร์เรย์ที่เรียงลำดับในเวลา วัตถุประสงค์หลักของการเรียงลำดับการแทรกคือการแทรกองค์ประกอบที่ถูกที่กับลำดับที่ถูกต้อง หลังจากแทรกรายการทั้งหมดเหล่านี้จะถูกจัดเรียง
เพื่อประสิทธิภาพที่ดีขึ้นไม่ได้ใช้อัลกอริทึมการเรียงลำดับการแทรก แต่อัลกอริทึมที่ใช้แทนการเรียงลำดับของฟองคืออัลกอริทึมการเรียงลำดับการเลือก Selection sort เป็นอัลกอริธึมการเรียงลำดับที่เลือกจำนวนมากที่สุดและสลับกับจำนวนสุดท้าย ในการเรียงลำดับการเลือกเราเลือกหนึ่งหมายเลขและหมายเลขนั้นจะถูกเลือกตามความต้องการสำหรับการเลือกไม่ว่าจะเป็นการเรียงลำดับจากน้อยไปมากหรือจากมากไปหาน้อย
สารบัญ: ความแตกต่างระหว่างการจัดเรียงการแทรกและการเรียงลำดับการเลือก
- แผนภูมิเปรียบเทียบ
- เรียงลำดับการแทรก
- เรียงลำดับการเลือก
- ความแตกต่างที่สำคัญ
- ข้อสรุป
- วิดีโออธิบาย
แผนภูมิเปรียบเทียบ
รากฐาน | เรียงลำดับการแทรก | เรียงลำดับการเลือก |
ความหมาย | ในการเรียงลำดับการแทรกซึ่งเป็นข้อมูลจะถูกจัดเรียงโดยการแทรกไว้ในรายการเรียงแล้ว | ในการเรียงลำดับการเลือกข้อมูลจะถูกจัดเรียงโดยการวางองค์ประกอบต่อเนื่องในตำแหน่งที่เรียงลำดับ |
ขั้นตอนวิธี | การเรียงลำดับการแทรกเป็นอัลกอริทึมที่เสถียร | การเรียงลำดับการเลือกเป็นอัลกอริทึมที่ไม่เสถียร |
ข้อมูลทันที | การเรียงลำดับการแทรกไม่สามารถจัดการกับข้อมูลได้ทันที | การเรียงลำดับการแทรกไม่สามารถจัดการได้ทันที |
ความซับซ้อนของเวลา | ในกรณีที่เวลาเรียงแทรกมีความซับซ้อนเป็น 0 (n) | ในกรณีที่มีเวลาเรียงลำดับความซับซ้อนคือ 0 (n ^ 2) |
เรียงลำดับการแทรก
ในการเรียงลำดับการแทรกซึ่งเป็นข้อมูลจะถูกจัดเรียงโดยการแทรกลงในรายการที่เรียงลำดับแล้ว องค์ประกอบเดียวเท่านั้นที่ถูกแทรกในอาร์เรย์ที่เรียงลำดับในเวลา วัตถุประสงค์หลักของการเรียงลำดับการแทรกคือการแทรกองค์ประกอบที่ถูกที่กับลำดับที่ถูกต้อง หลังจากแทรกรายการทั้งหมดเหล่านี้จะถูกจัดเรียง ในการเรียงลำดับการแทรกเราจำเป็นต้องมีชุดของสองชุดในหมู่ทั้งสองอาร์เรย์หนึ่งจะถูกจัดเรียงและอื่น ๆ ที่ไม่ได้จัดเรียง มีการวนซ้ำที่ทำงานต่อเนื่องจนกว่าอาร์เรย์จะเรียงลำดับ
เรียงลำดับการเลือก
เพื่อประสิทธิภาพที่ดีขึ้นไม่ได้ใช้อัลกอริทึมการจัดเรียงฟอง แต่อัลกอริทึมที่ใช้แทนการเรียงลำดับของฟองคืออัลกอริทึมการเรียงลำดับการเลือก Selection sort เป็นอัลกอริธึมการเรียงลำดับที่เลือกจำนวนมากที่สุดและสลับกับจำนวนสุดท้าย ในการเรียงลำดับการเลือกเราเลือกหนึ่งหมายเลขและหมายเลขนั้นจะถูกเลือกตามความต้องการสำหรับการเลือกไม่ว่าจะเป็นการเรียงลำดับจากน้อยไปมากหรือจากมากไปหาน้อย
ความแตกต่างที่สำคัญ
- ในการเรียงลำดับการแทรกซึ่งเป็นข้อมูลจะถูกจัดเรียงโดยการแทรกไว้ในรายการเรียงแล้วในขณะที่ในการเรียงลำดับการเลือกข้อมูลจะถูกจัดเรียงโดยการวางองค์ประกอบต่อเนื่องในสถานที่จัดเรียง
- การเรียงลำดับการแทรกเป็นอัลกอริธึมที่มีเสถียรภาพในขณะที่การเรียงลำดับการเลือกนั้นไม่เสถียร
- การเรียงลำดับการแทรกไม่สามารถจัดการกับข้อมูลได้ทันทีในขณะที่การเรียงลำดับการแทรกไม่สามารถจัดการกับข้อมูลได้ทันที
- ในกรณีของเวลาการเรียงลำดับการแทรกความซับซ้อนคือ 0 (n) ในขณะที่ในกรณีของความซับซ้อนเวลาเรียงลำดับการเลือกคือ 0 (n ^ 2)
ข้อสรุป
ในบทความข้างต้นเราจะเห็นความแตกต่างที่ชัดเจนระหว่างการเรียงลำดับการแทรกและการเรียงลำดับการเลือกด้วยการใช้งาน