ការតម្រៀបបែបពពុះ
ក្បួនដោះស្រាយការតម្រៀបធម្មតាដែលពិនិត្យបញ្ជីម្ដងហើយម្ដងទៀត ដោយប្រៀបធៀប និងប្ដូរធាតុដែលនៅជាប់គ្នាប្រសិនបើវានៅខុសលំដាប់។
Visualization
Details
Analogy
ស្រមៃថាមនុស្សកំពុងឈរតម្រង់ជួរថតរូបតាមកម្ពស់។ អ្នកប្រៀបធៀបមនុស្សពីរនាក់ដែលនៅជាប់គ្នា ហើយប្ដូរកន្លែងពួកគេប្រសិនបើអ្នកខ្ពស់ជាងនៅខាងឆ្វេង។ អ្នកធ្វើបែបនេះដដែលៗរហូតដល់គ្មានការប្ដូរទៀត ហើយជួរនោះត្រូវបានតម្រៀបយ៉ាងល្អឥតខ្ចោះពីទាបបំផុតទៅខ្ពស់បំផុត។
Purpose
ដើម្បីតម្រៀបធាតុក្នុងអារេដោយប្ដូរធាតុដែលនៅជាប់គ្នាដែលខុសលំដាប់ម្ដងហើយម្ដងទៀត។ ការពិនិត្យបញ្ជីនេះត្រូវបានធ្វើដដែលៗរហូតដល់បញ្ជីត្រូវបានតម្រៀប។
Use Cases
ប្រើជាចម្បងសម្រាប់គោលបំណងអប់រំដោយសារភាពសាមញ្ញរបស់វា។ វាមិនស័ក្តិសមសម្រាប់ទិន្នន័យធំៗទេ ដោយសារភាពស្មុគស្មាញខាងពេលវេលាជាមធ្យម និងអាក្រក់បំផុតរបស់វាខ្ពស់ណាស់។
Algorithm Steps
function bubbleSort(array):
n = length(array)
for i = 0 to n - 1:
swapped = false
for j = 0 to n - i - 2:
if array[j] > array[j + 1]:
swap(array[j], array[j + 1])
swapped = true
if not swapped:
break
return array
Explanation
What's Happening?
ចាប់ផ្តើមជុំទី 1. ប្រៀបធៀបធាតុពីរដំបូង: 5 និង 3។
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