การจัดเรียงข้อมูลแบบฟอง (Bubble sort)

Page 1

Bubble sort

การเรียงลําดับแบบฟอง

การเรียงขอมูลแบบ Bubble Sort เป็ นการเปรียบเทียบคา2คาที่อยูติดกันโดยเริ่มจากการเปรียบเทียบ ตัวที่1กับ2 และตัวที่2กับ3 ไปเรื่อยๆจนกวาจะครบคาและทําซํ้าอีกจนกวาจะไมมีการสลับที่ 1.ใชเปรียบเทียบขอมูลที่อยูติดกันทีละคู 2.ถาขอมูลที่เปรียบเทียบไมอยูในตําแหนงที่ตองการสลับที่กัน 3.ทิศทางการทํางานอาจจะทําจากคูซายไปหาขวา หรือคูขวาไปหาซาย 4.ในแตระรอบที่เปรียบเทียบ ขอมูลที่มีคามากจะถูกสลับไปตําแหนงทาย หรือขอมูลที่มีคาน อยจะถูก สลับไปยังตําแหนงตอนบน(จะเลือกเปรียบเทียบจากขวามาซาย หรือซายไปหาขวาก็ได) 5.ขอมูลที่มีคามากกวาสลับไปตอนทายของขอมูล

1.การทํางานจะแบงลิตสออกเป็ นสองสวน คือสวนที่จัดเรียงแลวอยูฝั่งซายและสวนที่ยังไมจัด เรียงจะอยูฝั่งขวา 2.ในแตระรอบการทํางานจะมีการเปรียบ เทียบคาในแตละคูที่อยูติดกัน 3.การทํางานเริ่มตนที่ทายลิสต เรียงจาก น อยไปมากและจะสลับคาเมื่ออยูผิดลําดับ ซึ่งจะทํา ไปเรื่อย ๆ จากนัน ้ คาที่นอยที่สุดจะถูกขยับขึ้นไป เก็บไวในฝั ่ งลิสตที่ไดจัดเรียงแลว 4.กําแพงที่ทําหน าที่ตําแหนง ดรรชนีจะ เพิ่มคาอีกหนึ่งดวยการขยับไปทางขวาอีกหนึ่ง ตําแหนงเพื่อจะไดจัดการเปรียบเทียบกับคาที่ยังไม ไดจัดเรียงจนกวาขอมูลในลิสตจะถูก จัดเรียงหมด

วิธีการจัดเรียงขอมูลที่ไดรับมีประสิทธิภาพสูงสุด เป็ นกรณีที่จํานวนครัง้ ของการเปรียบเทียบขอมูลที่มีนอยที่สุด คือ 1 ครัง้ ในรอบเดียว ซึ่งกรณีเชนนี้จะเกิดขึ้นได ก็ตอเมื่อขอมูล ที่ตองการนํ ามาเรียงลําดับนัน ้ มีการเรียงลําดับอยูกอนแลวนัน ่ เอง โดยระยะเวลาขึ้นอยูกับจํานวน input ที่ใสเขามา

วิธีการจัดเรียงขอมูลที่ไดรับมีประสิทธิภาพตํ่าสุด กรณีที่แยที่สุด เป็ นกรณีที่ตองใชจํานวนครัง้ ในการเปรีบยเทียบมากที่สุดนัน ้ คือ ถาไฟลมีขนาด n ตองใชจํานวนครัง้ ในการเปรียบเทียบมาที่สุดคือ จํานวน n-1 ครัง้ รวมเวลาที่ใชและในแตละรอบจะมีจํานวนครัง้ ในการเปรียบเทียบดังนี้ รอบที่ 1 เปรียบเทียบ n-1 ครัง้ รอบที่ 2 เปรียบเทียบ n-2 ครัง้ รอบที่ 3 เปรียบเทียบ n-3 ครัง้ นางสาวผริตา สังเกตกิจ ม.4/4 เลขที่ 12ข


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.