การเรียงลําดับของธาตุ เป็นอัลกอริทึมในการเรียงลําดับค่าอย่างมีประสิทธิภาพ ซึ่งใช้สําหรับการเรียงลําดับจํานวนเต็มภายในช่วงที่ระบุค่าได้ โดยการใช้คํานวณจํานวนการเกิดขึ้นอีกของแต่ละค่า แล้วคํานวณตําแหน่งของแต่ละธาตุในลําดับ โดยวิธีการนี้มีประโยชน์โดยเฉพาะเมื่อช่วงของข้อมูลนําเข้าไม่ได้มากนัก เมื่อค่าของธาตุนั้นไม่มีขนาดใหญ่กว่าจํานวนธาตุที่จะเรียงลําดับ
วิธี นับ ว่า ดี อย่าง ไร
อัลกอริทึมนี้จะเริ่มโดยการสร้างอาร์เรย์ของจํานวนนับที่เก็บความถี่ของแต่ละค่าไว้ในข้อมูลนําเข้า จากนั้นเพิ่มค่าลําดับของลําดับนี้ ให้มีตําแหน่งจริงของแต่ละธาตุในผลลัพธ์ที่เรียงลําดับแล้ว สุดท้ายมันจะสร้างอาร์เรย์โดยวางธาตุในตําแหน่งที่ถูกต้องตามลําดับนับ
ตัวอย่างการคํานวณ
สมมุติ ว่า เรา มี อาร์เรย์ ดัง กล่าว: 4, 2, 8, 3, 1 [1].
[0, 1, 2, 1, 0, 0, 1]
นี่บอกความถี่ของตัวเลขแต่ละตัว แล้วคํานวณจํานวนสะสมเพื่อกําหนดตําแหน่ง:
[0, 1, 3, 5, 6, 6, 6, 7]
โดย ใช้ แผ่น เหล่า นี้ แผ่น เรียง จึง กลาย เป็น: 1, 2, 3, 4, 8].
โปรแกรมต่าง ๆ
การนับเรียงลําดับนั้นเหมาะกับสถานการณ์ ซึ่งข้อมูลนําเข้าประกอบด้วยจํานวนเต็มที่รู้จักกันในขอบเขตที่จํากัด ซึ่งมักใช้ค่าต่อไปนี้:
- เรียงลําดับเกรดนักเรียน (เช่น 0-100)
- จัดองค์ประกอบข้อมูลในการวิเคราะห์ความถี่
- จัดเรียงจํานวนเต็มขนาดเล็กในระบบที่ฝังตัวอยู่
- การ ทํา ให้ เรดิกซ์ ครบ ถ้วน เป็น แบบ ย่อย
ประสิทธิภาพของมันขึ้นอยู่กับขนาดของช่วง เทียบกับจํานวนของธาตุ เมื่อช่วงเล็ก ๆ การนับนับสามารถเกินการเปรียบเทียบได้อย่างมีประสิทธิภาพ เช่น สปีดคอร์ต หรือการรวมองค์ประกอบ