ฉันกำลังพยายามทำความเข้าใจอัลกอริทึมการจัดเรียงบางอย่าง แต่ฉันกำลังดิ้นรนเพื่อให้เห็นความแตกต่างของอัลกอริทึมการเรียงลำดับฟองและการเรียงลำดับการแทรก
ฉันรู้ว่าทั้งคู่คือ O (n 2 ) แต่สำหรับฉันแล้วสำหรับฉันแล้วว่าการเรียงฟองเพียงแค่ฟองค่าสูงสุดของอาร์เรย์ไปที่ด้านบนสำหรับแต่ละรอบในขณะที่การเรียงลำดับการแทรกจะจมค่าต่ำสุดไปที่ด้านล่างของแต่ละรอบ พวกเขาไม่ได้ทำสิ่งเดียวกัน แต่ไปคนละทาง?
สำหรับการเรียงลำดับการแทรกจำนวนการเปรียบเทียบ / การแลกเปลี่ยนที่เป็นไปได้จะเริ่มต้นที่ศูนย์และเพิ่มขึ้นทุกครั้ง (เช่น 0, 1, 2, 3, 4, ... , n) แต่สำหรับการเรียงฟองลักษณะเดียวกันนี้จะเกิดขึ้น แต่ในตอนท้ายของ การเรียงลำดับ (เช่น n, n-1, n-2, ... 0) เนื่องจากการจัดเรียงฟองไม่จำเป็นต้องเปรียบเทียบกับองค์ประกอบสุดท้ายอีกต่อไปเมื่อมีการจัดเรียง
สำหรับทั้งหมดนี้ดูเหมือนว่าจะมีความเห็นเป็นเอกฉันท์ว่าการเรียงลำดับการแทรกจะดีกว่าโดยทั่วไป ใครช่วยบอกทีว่าทำไม?
แก้ไข: ฉันสนใจเป็นหลักในความแตกต่างของวิธีการทำงานของอัลกอริทึมไม่ใช่ประสิทธิภาพหรือความซับซ้อนแบบไม่แสดงอาการมากนัก