Back to Home

ការតម្រៀបបែបសិត

កំណែប្រសើរឡើងនៃការតម្រៀបបែបពពុះដែលលុបបំបាត់តម្លៃតូចនៅចុងបញ្ជី។

Visualization

Step 1 / 15
Speed:

Details

Analogy

ស្រមៃថាការសិតសក់។ ជំនួសឱ្យការប្រើសិតធ្មេញស្តើង អ្នកចាប់ផ្តើមដោយសិតធ្មេញធំ រួចប្រើសិតស្តើងជាបណ្តើរៗ។

Purpose

ដើម្បីតម្រៀបអារេយ៉ាងមានប្រសិទ្ធភាពជាងការតម្រៀបបែបពពុះ ដោយប្រើគម្លាតធំ រួចបន្តបន្ថយគម្លាត។

Use Cases

សមស្របសម្រាប់សំណុំទិន្នន័យទំហំមធ្យម។ ល្អសម្រាប់ប្រព័ន្ធបង្កប់ដែលមានអង្គចងចាំមានកម្រិត។

Algorithm Steps

Line 1
1
function combSort(array):
2
n = length(array)
3
gap = n
4
shrink = 1.3
5
swapped = true
6
while gap > 1 or swapped:
7
gap = floor(gap / shrink)
8
if gap < 1: gap = 1
9
swapped = false
10
for i = 0 to n - gap - 1:
11
if array[i] > array[i + gap]:
12
swap(array[i], array[i + gap])
13
swapped = true
14
return array
Current
Executed
Pending

Explanation

What's Happening?

Step 1/15

អារេដំបូង: [8, 4, 1, 9, 2, 7, 3, 6]។ គម្លាត = 6។

Updates with each step • Clickfor full view

Code Implementation

def comb_sort(arr):
    n = len(arr)
    gap = n
    shrink = 1.3
    swapped = True

    while gap > 1 or swapped:
        gap = int(gap / shrink)
        if gap < 1:
            gap = 1

        swapped = False
        for i in range(n - gap):
            if arr[i] > arr[i + gap]:
                arr[i], arr[i + gap] = arr[i + gap], arr[i]
                swapped = True

    return arr
ការតម្រៀបបែបសិត - Interactive Visualization | AlgoViz | AlgoViz