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

วิธี นับ ว่า ดี อย่าง ไร

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

ตัวอย่างการคํานวณ

สมมุติ ว่า เรา มี อาร์เรย์ ดัง กล่าว: 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)
  • จัดองค์ประกอบข้อมูลในการวิเคราะห์ความถี่
  • จัดเรียงจํานวนเต็มขนาดเล็กในระบบที่ฝังตัวอยู่
  • การ ทํา ให้ เรดิกซ์ ครบ ถ้วน เป็น แบบ ย่อย

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