วิธีใช้ Selection Sort ใน Java?



บทความนี้จะช่วยให้คุณเข้าใจ Selection Sort ใน Java อย่างละเอียดพร้อมด้วย demnstration ในทางปฏิบัติที่เหมาะสมสำหรับสิ่งเดียวกัน

เป็นหนึ่งในอัลกอริทึมที่ง่ายที่สุดในการเรียนรู้และเขียนโค้ด บทความนี้จะช่วยให้คุณเข้าใจรายละเอียดของ Selection Sort ใน Java คำแนะนำต่อไปนี้จะกล่าวถึงในบทความนี้

ดังนั้นให้เราเริ่มต้นด้วยบทความ Selection Sort In Java นี้





ส่วนที่สำคัญที่สุดในการเรียงลำดับการเลือกคือการเข้าใจว่าอัลกอริทึมรักษาอาร์เรย์ย่อยสองอาร์เรย์:

  • อาร์เรย์ย่อยหนึ่งอาร์เรย์คืออาร์เรย์ที่เรียงลำดับ
  • อาร์เรย์ย่อยอื่นคืออาร์เรย์ที่ไม่ได้เรียงลำดับ

Image- Selection sort ใน Java- Edureka



java ด้วยพลังของ

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

มาทำให้ง่ายขึ้น อันดับแรกที่เลือกจะค้นหาองค์ประกอบที่เล็กที่สุดในอาร์เรย์ที่ไม่เรียงลำดับ (อาร์เรย์ [0..n] ซึ่งเป็นอาร์เรย์ที่สมบูรณ์ในการวนซ้ำครั้งแรก) และสลับกับองค์ประกอบแรก จากนั้นจะพบองค์ประกอบที่เล็กที่สุดเป็นอันดับสองในอาร์เรย์ที่ไม่ได้เรียงลำดับ (เช่นอาร์เรย์ [1..n]) และแลกเปลี่ยนกับองค์ประกอบที่สองและอัลกอริทึมจะทำเช่นนี้ไปเรื่อย ๆ จนกว่าจะเรียงลำดับอาร์เรย์ทั้งหมด

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



  • ความซับซ้อนของกรณีที่เลวร้ายที่สุด: O (n2)
  • ความซับซ้อนของตัวพิมพ์ที่ดีที่สุด: O (n2)
  • ความซับซ้อนกรณีเฉลี่ย: O (n2)

ไปต่อกับบทความนี้เกี่ยวกับ Selection Sort ใน Java

อัลกอริทึมการเรียงลำดับการเลือก

ขั้นตอนที่ 1 & ลบตั้งค่า Min_Index เป็น 0
ขั้นตอนที่ 2 & ลบค้นหาองค์ประกอบที่เล็กที่สุดในอาร์เรย์
ขั้นตอนที่ 3 & ลบ Swap ด้วยค่าด้วยองค์ประกอบที่ Min_Index
ขั้นตอนที่ 4 & ลบเพิ่ม Min_Index เพื่อชี้ไปยังองค์ประกอบถัดไป
ขั้นตอนที่ 5 & ลบทำซ้ำจนกว่าอาร์เรย์ทั้งหมดจะถูกจัดเรียง

ไปต่อกับบทความนี้เกี่ยวกับ Selection Sort ใน Java

ตัวอย่างการเรียงลำดับการเลือก

xarray [] = 15 10 99 53 36

ค้นหาองค์ประกอบที่เล็กที่สุดในอาร์เรย์ [0 … 4] และสลับกับองค์ประกอบที่จุดเริ่มต้น
10 15 99 53 36

ค้นหาองค์ประกอบที่เล็กที่สุดใน arr [1 … 4] เนื่องจาก 15 เป็นองค์ประกอบที่เล็กที่สุดถัดไปให้ย้ายไปที่องค์ประกอบถัดไป
10 15 99 53 36

ค้นหาองค์ประกอบขั้นต่ำใน arr [2 … 4] และสลับกับองค์ประกอบที่สาม
10 15 36 53 99

ค้นหาองค์ประกอบที่เล็กที่สุดใน arr [1 … 4] เนื่องจาก 53 เป็นองค์ประกอบที่เล็กที่สุดถัดไปให้ย้ายไปที่องค์ประกอบถัดไป
10 15 36 53 99

sqoop in hadoop คืออะไร

องค์ประกอบสุดท้ายเป็นค่าเริ่มต้นในตำแหน่งที่ถูกต้อง
10 15 36 53 99

ตอนนี้เราเข้าใจการทำงานของอัลกอริทึมการเรียงลำดับการเลือกแล้วเรามาทำความเข้าใจวิธีใช้ Selection Sort ใน Java กัน

การเลือก วิธีการเรียงลำดับใน Java

การจัดเรียงเป็นโมฆะ (int array []) {int n = array.length // วนซ้ำเพื่อเพิ่มขอบเขตของอาร์เรย์ที่เรียงลำดับสำหรับ (int i = 0 i

สุดท้ายมาดูโปรแกรม Java ทั้งหมดเพื่อดำเนินการ Selection Sort

Selection Sort Program ใน Java

class SelectionSort {// Selection Sort Method การจัดเรียงเป็นโมฆะ (int array []) {int n = array.length สำหรับ (int i = 0 i

เอาท์พุต:

หลังจากเรียกใช้โปรแกรม Java ข้างต้นแล้วคุณจะเข้าใจว่า Selection Sort ทำงานอย่างไรและวิธีการนำไปใช้ใน Java ฉันหวังว่าบล็อกนี้จะให้ข้อมูลและเพิ่มมูลค่าให้กับคุณดังนั้นเราจึงมาถึงตอนท้ายของบทความนี้เกี่ยวกับ 'Selection Sort in Java' หากคุณต้องการเรียนรู้เพิ่มเติมตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring

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