使用 Pygame 模块实现了二分查找的动画演示。首先,它生成一个有序数组,并通过 Pygame 在屏幕上绘制这个数组的条形图。接着,通过二分查找算法对有序数组进行查找,动画效果可视化每一步的变化。在查找的过程中,程序通过比较目标值和数组中间元素,逐步缩小搜索范围,高亮显示当前搜索范围的起始和结束位置。如果找到目标值,将相应的元素高亮显示,并在屏幕上显示“Target Found!”的文本。如果遍历完整个搜索范围都没有找到目标值,将在屏幕上显示“Target Not Found!”的文本。整个过程通过适度的延迟呈现,形成二分查找的动画效果。这个演示旨在通过可视化方式帮助理解二分查找的进行和每一步的变化,特别是如何通过比较中间元素逐步缩小搜索范围,最终确定目标值的位置。
完整代码如下:
import pygame
import sys
import random
# 初始化 Pygame
pygame.init()
# 定义颜色
WHITE