Algorithm การจัดเรียงข้อมูลแบบ Selection Sort

Computer Science 15 มิถุนายน พ.ศ. 2566 756
Home / Articles / 51

สวัสดีครับ ในบทความนี้จะเป็นการแนะนำ Algorithm การจัดเรียงข้อมูลแบบ Selection Sort มีประสิทธิภาพในการทำงานเร็วสุดที่ O(n2) เฉลี่ย O(n2) แย่สุด O(n2)  ซึ่ง ในการทำงานเร็วสุด (Best Case) ก็ยังถือว่าน้อยกว่า Bubble Sort อยู่มาก

Selection Sort

Selection Sort มีวิธีการเขียนคือ เราจะมีการสร้างลูป (Loop) สองตัวขึ้นมา นั้นก็คือ i และ j โดยให้ลูป i ทำงานตั้งแต่แรกจนถึง n-1 และ j จะทำงานตั้งแต่ i+1 ไปจนถึง n โดยในลูป j เราจะสร้างเงื่อนไขว่า หาก ค่าของ arr[j] น้อยกว่า arr[i] เราก็จะสลับสองตัวนี้ เมื่อ j ทำงานไปครบหนึ่งรอบ ก็จะเพิ่มค่า i

selection-sort

จะได้โค้ดหน้าตา ดังนี้ (Python)

def selectionsort(arr):
    n = len(arr)
    for i in range(n-1):
        for j in range(i+1, n):
            if(arr[j] < arr[i]):
                temp = arr[j]
                arr[j] = arr[i]
                arr[i] = temp
                print("i =",i,"j =",j,arr)

ได้ผลลัพท์ดังนี้

selection-sort-result

Selection sort in 3 minutes

วิดีโอสาธิตวิธีการจัดเรียงข้อมูลแบบ Selection Sort โดย Michael Sambol

อ้างอิง: geeksforgeeks.orgMichael Sambol

Profile Picture.
  • Name (Pen name): Sunny Jirakit (Sunny420x)
  • Study: Bachelor Degree of Computer Science from Chiang Mai Rajabhat University
  • Personality: Architect (INTJ-T)
  • Experience: JavaScript,  Angular.js, React.js, Next.js  Express.js, Unity C#, Socket.io
  • Hobby:  Organic Chemistry