Skip to main content

การเรียงลำดับฟองคืออะไร?

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

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

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

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

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

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