Back to Home

ការតម្រៀប​បែប​ជ្រើសរើស

ក្បួន​ដោះស្រាយ​ការ​តម្រៀប​ប្រៀបធៀប​នៅ​នឹង​កន្លែង​ដែល​ជ្រើសរើស​ធាតុ​តូច​បំផុត​ម្ដង​ហើយ​ម្ដង​ទៀត ហើយ​ផ្លាស់ទី​វា​ទៅ​ផ្នែក​ដែល​បាន​តម្រៀប​រួច។

Visualization

Step 1 / 16
Speed:

Details

Analogy

គិត​ពី​ការ​រៀបចំ​សន្លឹក​បៀ​តាម​តម្លៃ។ អ្នក​ស្កេន​សន្លឹក​បៀ​ទាំង​អស់​ដើម្បី​ស្វែងរក​សន្លឹក​ដែល​ទាប​បំផុត (Ace) ហើយ​ដាក់​វា​នៅ​ដើម​ដំបូង។ បន្ទាប់​មក អ្នក​ស្កេន​សន្លឹក​បៀ​ដែល​នៅ​សល់​ដើម្បី​ស្វែងរក​សន្លឹក​ដែល​ទាប​បន្ទាប់ (លេខ 2) ហើយ​ដាក់​វា​នៅ​ទីតាំង​ទីពីរ។ អ្នក​ធ្វើ​បែប​នេះ​ដដែលៗ​រហូត​ដល់​សន្លឹក​បៀ​ទាំង​អស់​ត្រូវ​បាន​តម្រៀប។

Purpose

ដើម្បី​តម្រៀប​អារេ​ដោយ​ស្វែងរក​ធាតុ​តូច​បំផុត​ពី​ផ្នែក​ដែល​មិន​ទាន់​តម្រៀប​ម្ដង​ហើយ​ម្ដង​ទៀត ហើយ​ដាក់​វា​នៅ​ដើម។

Use Cases

ល្អ​សម្រាប់​បញ្ជី​តូចៗ ឬ​នៅ​ពេល​ដែល​ប្រតិបត្តិការ​សរសេរ​หน่วยความจำ​ជា​កង្វល់ ព្រោះ​វា​កាត់​បន្ថយ​จំនวន​ការ​ប្ដូរ។

Algorithm Steps

Line 1
1
for i = 0 to n-1:
2
minIndex = i
3
for j = i+1 to n:
4
if arr[j] < arr[minIndex]:
5
minIndex = j
6
swap arr[i] with arr[minIndex]
Current
Executed
Pending

Explanation

What's Happening?

Step 1/16

ជុំទី 1: ស្វែងរកធាតុតូចបំផុតក្នុងអារេដែលមិនបានតម្រៀប [64, 25, 12, 22, 11]។

Updates with each step • Clickfor full view

Code Implementation

def selection_sort(arr):
    n = len(arr)
    for i in range(n):
        min_idx = i
        for j in range(i + 1, n):
            if arr[j] < arr[min_idx]:
                min_idx = j
        arr[i], arr[min_idx] = arr[min_idx], arr[i]
    return arr
ការតម្រៀប​បែប​ជ្រើសរើស - Interactive Visualization | AlgoViz | AlgoViz