บทความนี้ไม่มีจาก |
ในวิทยาการคอมพิวเตอร์ ขั้นตอนวิธีการเรียงลำดับ (อังกฤษ: sorting algorithm) คือ ขั้นตอนวิธีที่จัดเรียงสมาชิกของรายการ (list) ให้เป็นไปตามรูปแบบของที่กำหนด ส่วนใหญ่อันดับที่ใช้กันคือ อันดับตัวเลข และ การเรียงลำดับที่มีประสิทธิภาพมีความสำคัญต่อขั้นตอนวิธีอื่นๆ (เช่น ขั้นตอนวิธีการค้นหา และ ) ซึ่งขั้นตอนวิธีเหล่านี้ต้องใช้รายการที่เรียงอย่างถูกต้อง
ประเภทของการเรียง
ขั้นตอนวิธีการเรียงลำดับที่ใช้ในวิทยาการคอมพิวเตอร์ จำแนกประเภทได้ตามนี้
- ความซับซ้อนในการคำนวณ (กรณีแย่สุด, กรณีเฉลี่ย และกรณีดีสุด) ในรูปของขนาดของรายการ (n) โดยทั่วไป กรณีที่ดีจะเป็น O(n log n) และกรณีที่แย่จะเป็น Ω(n2) ขั้นตอนวิธีการเรียงที่ใช้การเปรียบเทียบจะต้องใช้การเปรียบเทียบอย่างน้อย Ω(n log n) ครั้งโดยเฉลี่ย
- การใช้หน่วยความจำ (และทรัพยากรต่างๆของคอมพิวเตอร์)
- ความเสถียร (stability): ขั้นตอนวิธีการเรียงที่เสถียร จะรักษาอันดับของเรคอร์ดที่มีคีย์เท่ากัน (มีค่าเท่ากัน) นั่นคือ ขั้นตอนวิธีการเรียงลำดับจะ เสถียร ก็ต่อเมื่อ ถ้ามีเรคอร์ด R และ S ซึ่งมีคีย์เท่ากัน และ R ปรากฏอยู่ก่อน S ในรายการเริ่มต้นแล้ว R จะปรากฏอยู่ก่อน S ในรายการที่เรียงแล้วด้วย
- วิธีที่ใช้: การแทรก, การสับเปลี่ยน, การเลือก, การรวม ฯลฯ การเรียงแบบสับเปลี่ยน รวมถึง การเรียงแบบฟอง และการเรียงแบบเร็ว
ในกรณีที่มีสมาชิกที่มีคีย์เท่ากัน และไม่สามารถแยกแยะได้ เช่น รายการของจำนวนเต็ม มันจะไม่ส่งผลต่อความเสถียร อย่างไรก็ตาม คู่อันดับของจำนวนเต็มดังต่อไปนี้ จะถูกเรียงโดยสมาชิกตัวหน้าของมัน:
(4, 1) (3, 1) (3, 7) (5, 6)
ในกรณีนี้ จะให้ผลลัพธ์ได้สองแบบ แบบแรกจะรักษาอันดับของเรคอร์ดซึ่งมีคีย์เท่ากัน แต่อีกแบบจะไม่รักษาอันดับ:
(3, 1) (3, 7) (4, 1) (5, 6) (รักษาอันดับ) (3, 7) (3, 1) (4, 1) (5, 6) (อันดับเปลี่ยนแปลง)
การเรียงแบบไม่เสถียรอาจเปลี่ยนอันดับของเรคอร์ดที่มีคีย์เท่ากันได้ แต่การเรียงแบบเสถียรจะไม่เปลี่ยน เราอาจใช้การเรียงแบบไม่เสถียรในการเรียงลำดับให้เสถียรได้ โดยการใช้วิธีการเทียบคีย์แบบใหม่ เมื่อเราทำการเปรียบเทียบเรคอร์ด 2 เรคอร์ดที่มีคีย์เท่ากัน เราจะใช้อันดับของเรคอร์ดเป็นตัวตัดสิน อย่างไรก็ตาม มันต้องใช้หน่วยความจำมากขึ้น
ขั้นตอนวิธีการเรียง
ในตารางนี้ n คือจำนวนของเรคอร์ดที่จะนำมาจัดเรียง
การเรียงแบบเสถียร
- การเรียงลำดับแบบฟอง (Bubble sort) — O(n2)
- การเรียงลำดับแบบแทรก (Insertion sort) — O(n2)
- การเรียงลำดับแบบผสาน (Merge sort) — O(n log n); และต้องใช้หน่วยความจำ O(n)
การเรียงแบบไม่เสถียร
- การเรียงลำดับแบบเลือก (Selection sort) — O(n2)
เชิงเปรียบเทียบ
ชื่อ | กรณีดีที่สุด | กรณีทั่วไป | กรณีแย่ที่สุด | การใช้หน่วยความจำ | เสถียร |
---|---|---|---|---|---|
การเรียงลำดับแบบผสาน | กรณีแย่ที่สุดคือ | ใช่ | |||
ไม่ | |||||
การเรียงลำดับแบบแทรก | ใช่ | ||||
การเรียงลำดับแบบเลือก | ไม่ | ||||
การเรียงลำดับแบบฟอง | ใช่ | ||||
ใช่ |
ดูเพิ่ม
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
bthkhwamniimmikarxangxingcakaehlngthimaidkrunachwyprbprungbthkhwamni odyephimkarxangxingaehlngthimathinaechuxthux enuxkhwamthiimmiaehlngthimaxacthukkhdkhanhruxlbxxk eriynruwacanasaraemaebbnixxkidxyangiraelaemuxir inwithyakarkhxmphiwetxr khntxnwithikareriyngladb xngkvs sorting algorithm khux khntxnwithithicderiyngsmachikkhxngraykar list ihepniptamrupaebbkhxngthikahnd swnihyxndbthiichknkhux xndbtwelkh aela kareriyngladbthimiprasiththiphaphmikhwamsakhytxkhntxnwithixun echn khntxnwithikarkhnha aela sungkhntxnwithiehlanitxngichraykarthieriyngxyangthuktxngpraephthkhxngkareriyngkhntxnwithikareriyngladbthiichinwithyakarkhxmphiwetxr caaenkpraephthidtamni khwamsbsxninkarkhanwn krniaeysud krniechliy aelakrnidisud inrupkhxngkhnadkhxngraykar n odythwip krnithidicaepn O n log n aelakrnithiaeycaepn W n2 khntxnwithikareriyngthiichkarepriybethiybcatxngichkarepriybethiybxyangnxy W n log n khrngodyechliy karichhnwykhwamca aelathrphyakrtangkhxngkhxmphiwetxr khwamesthiyr stability khntxnwithikareriyngthiesthiyr carksaxndbkhxngerkhxrdthimikhiyethakn mikhaethakn nnkhux khntxnwithikareriyngladbca esthiyr ktxemux thamierkhxrd R aela S sungmikhiyethakn aela R praktxyukxn S inraykarerimtnaelw R capraktxyukxn S inraykarthieriyngaelwdwy withithiich karaethrk karsbepliyn kareluxk karrwm l kareriyngaebbsbepliyn rwmthung kareriyngaebbfxng aelakareriyngaebberw inkrnithimismachikthimikhiyethakn aelaimsamarthaeykaeyaid echn raykarkhxngcanwnetm mncaimsngphltxkhwamesthiyr xyangirktam khuxndbkhxngcanwnetmdngtxipni cathukeriyngodysmachiktwhnakhxngmn 4 1 3 1 3 7 5 6 inkrnini caihphllphthidsxngaebb aebbaerkcarksaxndbkhxngerkhxrdsungmikhiyethakn aetxikaebbcaimrksaxndb 3 1 3 7 4 1 5 6 rksaxndb 3 7 3 1 4 1 5 6 xndbepliynaeplng kareriyngaebbimesthiyrxacepliynxndbkhxngerkhxrdthimikhiyethaknid aetkareriyngaebbesthiyrcaimepliyn eraxacichkareriyngaebbimesthiyrinkareriyngladbihesthiyrid odykarichwithikarethiybkhiyaebbihm emuxerathakarepriybethiyberkhxrd 2 erkhxrdthimikhiyethakn eracaichxndbkhxngerkhxrdepntwtdsin xyangirktam mntxngichhnwykhwamcamakkhunkhntxnwithikareriyngintarangni n khuxcanwnkhxngerkhxrdthicanamacderiyng kareriyngaebbesthiyr kareriyngladbaebbfxng Bubble sort O n2 kareriyngladbaebbaethrk Insertion sort O n2 kareriyngladbaebbphsan Merge sort O n log n aelatxngichhnwykhwamca O n kareriyngaebbimesthiyr kareriyngladbaebbeluxk Selection sort O n2 echingepriybethiybkhntxnwithikareriyngladbaebbxasykarepriybethiyb chux krnidithisud krnithwip krniaeythisud karichhnwykhwamca esthiyr20 nlog n displaystyle mathcal n log n 20 nlog n displaystyle mathcal n log n 25 n2 displaystyle mathcal n 2 05 log n displaystyle mathcal log n kareriyngladbaebbphsan 20 nlog n displaystyle mathcal n log n 20 nlog n displaystyle mathcal n log n 20 nlog n displaystyle mathcal n log n 15 krniaeythisudkhux n displaystyle mathcal n ich20 nlog n displaystyle mathcal n log n 20 nlog n displaystyle mathcal n log n 20 nlog n displaystyle mathcal n log n 00 1 displaystyle mathcal 1 imkareriyngladbaebbaethrk 15 n displaystyle mathcal n 25 n2 displaystyle mathcal n 2 25 n2 displaystyle mathcal n 2 00 1 displaystyle mathcal 1 ichkareriyngladbaebbeluxk 25 n2 displaystyle mathcal n 2 25 n2 displaystyle mathcal n 2 25 n2 displaystyle mathcal n 2 00 1 displaystyle mathcal 1 imkareriyngladbaebbfxng 15 n displaystyle mathcal n 25 n2 displaystyle mathcal n 2 25 n2 displaystyle mathcal n 2 00 1 displaystyle mathcal 1 ich15 n displaystyle mathcal n 20 nlog n displaystyle mathcal n log n 20 nlog n displaystyle mathcal n log n 15 n displaystyle mathcal n ichduephimsykrnoxihy