iT邦幫忙

2025 iThome 鐵人賽

0
生成式 AI

生成式 AI 從入門到實作:用 ChatGPT 打造你的第一個 AI 幫手系列 第 11

Day 11: AI 當程式助教:讓 ChatGPT 幫你解釋排序與搜尋演算法

  • 分享至 

  • xImage
  •  

在學 Java 的過程中,最讓人頭痛的通常不是語法,而是那些經典的「排序(Sorting)」與「搜尋(Searching)」演算法
像是泡沫排序(Bubble Sort)、插入排序(Insertion Sort)、選擇排序(Selection Sort)、二元搜尋(Binary Search)等等

這些名字背後到底在做什麼?
今天就讓我們用 ChatGPT 來「用白話文」幫我們拆解它們!

我的提示詞(Prompt)
「請用簡單的方式,解釋Bubble Sort是怎麼運作的,並附上Java程式範例。」

ChatGPT 的講解(濃縮版)
泡沫排序(Bubble Sort)概念:
像泡泡一樣,最大的數字會在每一輪「浮」到最後。
比較相鄰的兩個數字,如果前者比較大就交換,重複這個過程直到整個陣列有序。

    public static void main(String[] args) {
        int[] arr = {5, 2, 9, 1, 5, 6};
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }

        System.out.print("排序結果:");
        for (int n : arr) System.out.print(n + " ");
    }
}

ChatGPT 會幫忙加註解、說明每一行的邏輯,甚至可以幫你改成「印出每一輪的狀態」來觀察排序過程,
非常適合初學者理解演算法的運作!

搜尋演算法(Binary Search)
接著我又問 ChatGPT:「請用生活例子說明二元搜尋是怎麼找出資料的?」

它給了這個例子👇
「想像你在查電話簿裡找某個姓氏,你不會一頁一頁翻,而是先打開中間,看看要往前還是往後查。」
這就是 二元搜尋:不斷把搜尋範圍對半切。
範例程式:


public class BinarySearch {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9, 11};
        int target = 7;
        int left = 0, right = arr.length - 1;

        while (left <= right) {
            int mid = (left + right) / 2;
            if (arr[mid] == target) {
                System.out.println("找到目標!位置:" + mid);
                return;
            } else if (arr[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        System.out.println("找不到目標!");
    }
}

延伸練習(可以請AI幫你)
請ChatGPT比較Bubble Sort和Insertion Sort的差別
讓它用圖表或文字動畫方式「一步步」說明排序過程
或請它改寫成「反向排序」(從大到小)版本

今日心得
以前看排序與搜尋都覺得好抽象,但有了 ChatGPT 幫忙「白話拆解 + 直接給程式」,
就像有一位24小時都不嫌你問太多問題的程式助教
有時候我甚至請它模擬「老師講課」的方式,效果真的超好!


上一篇
Day 10:Java 小專案 1:猜數字遊戲 — AI 幫你寫程式,你只要懂就好
下一篇
Day 12:ChatGPT 幫排 Word 表格 — 自動生成結構,手動美化!
系列文
生成式 AI 從入門到實作:用 ChatGPT 打造你的第一個 AI 幫手30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言