Back to Home

ការតម្រៀប​បែប​ពពុះ

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

Visualization

Step 1 / 16
Speed:

Details

Analogy

ស្រមៃ​ថា​មនុស្ស​កំពុង​ឈរ​តម្រង់​ជួរ​ថតរូប​តាម​កម្ពស់។ អ្នក​ប្រៀបធៀប​មនុស្ស​ពីរ​នាក់​ដែល​នៅ​ជាប់​គ្នា ហើយ​ប្ដូរ​កន្លែង​ពួកគេ​ប្រសិន​បើ​អ្នក​ខ្ពស់​ជាង​នៅ​ខាង​ឆ្វេង។ អ្នក​ធ្វើ​បែប​នេះ​ដដែលៗ​រហូត​ដល់​គ្មាន​ការ​ប្ដូរ​ទៀត ហើយ​ជួរ​នោះ​ត្រូវ​បាន​តម្រៀប​យ៉ាង​ល្អ​ឥត​ខ្ចោះ​ពី​ទាប​បំផុត​ទៅ​ខ្ពស់​បំផុត។

Purpose

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

Use Cases

ប្រើ​ជា​ចម្បង​សម្រាប់​គោលបំណង​អប់រំ​ដោយសារ​ភាព​សាមញ្ញ​របស់​វា។ វា​មិន​ស័ក្តិសម​សម្រាប់​ទិន្នន័យ​ធំៗ​ទេ ដោយសារ​ភាព​ស្មុគស្មាញ​ខាង​ពេល​វេលា​ជា​មធ្យម និង​អាក្រក់​បំផុត​របស់​វា​ខ្ពស់​ណាស់។

Algorithm Steps

Line 1
1
function bubbleSort(array):
2
n = length(array)
3
for i = 0 to n - 1:
4
swapped = false
5
for j = 0 to n - i - 2:
6
if array[j] > array[j + 1]:
7
swap(array[j], array[j + 1])
8
swapped = true
9
if not swapped:
10
break
11
return array
Current
Executed
Pending

Explanation

What's Happening?

Step 1/16

ចាប់ផ្តើមជុំទី 1. ប្រៀបធៀបធាតុពីរដំបូង: 5 និង 3។

Updates with each step • Clickfor full view

Code Implementation

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        swapped = False
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
                swapped = True
        if not swapped:
            break
    return arr
ការតម្រៀប​បែប​ពពុះ - Interactive Visualization | AlgoViz | AlgoViz