Create Animated Bubble Sort Visualization in Python – Step-by-Step Guide

10 minute read
0
Animated Bubble Sort Visualization with Python

Animated Bubble Sort Visualization with Python

Sorting algorithms are a fundamental part of computer science, and visualizing them can help you understand their inner workings. In this blog post, we will create an animated Bubble Sort visualization using Python and the matplotlib library.

What is Bubble Sort?

Bubble Sort is a simple comparison-based sorting algorithm. It repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order. The process continues until the list is sorted.

Python Code for Bubble Sort Animation

Here’s how you can create an animated Bubble Sort using Python:

            

import matplotlib.pyplot as plt
import numpy as np

def bubble_sort_visual(arr):
    fig, ax = plt.subplots()
    ax.set_title("Bubble Sort Visualization")
    bar_rects = ax.bar(range(len(arr)), arr, align="edge")
    ax.set_xlim(0, len(arr))
    ax.set_ylim(0, int(1.1 * max(arr)))

    def update_rects(rects, heights):
        for rect, h in zip(rects, heights):
            rect.set_height(h)

    def animate_sort():
        for i in range(len(arr)):
            for j in range(len(arr) - i - 1):
                if arr[j] > arr[j + 1]:
                    arr[j], arr[j + 1] = arr[j + 1], arr[j]
                    update_rects(bar_rects, arr)
                    plt.pause(0.1)

    animate_sort()
    plt.show()

arr = np.random.randint(1, 100, 30)
bubble_sort_visual(arr)


        

How It Works

The code starts by creating a bar chart representing the list of numbers to be sorted. The bars are adjusted dynamically to reflect the sorting process. The animate_sort function performs the Bubble Sort algorithm, updating the bars with each swap.

Run the Code

To see the animation in action, you’ll need to have Python installed along with the matplotlib and numpy libraries. You can install these libraries using pip:

            

pip install matplotlib numpy

        

Once the libraries are installed, run the code, and you’ll see the sorting process visualized step by step.

Conclusion

Visualizing sorting algorithms like Bubble Sort can make learning them much easier. With Python and a few libraries, you can create these animations and gain a deeper understanding of how sorting works.

Post a Comment

0Comments
Post a Comment (0)