114 地方特考四等 統計類科 資料處理概要 考古題詳解

114 年・地方特考・四等・統計類科
試題代碼 資料處理概要

第 一 題30 分

給定以下有向加權圖(7 個節點 A~G,15 條有向邊):

🖼️【此處有附圖,請對照原卷】

有向邊及權重如下:

A→BA\to B:2
A→CA\to C:4
A→DA\to D:5
B→CB\to C:1
B→DB\to D:6
B→EB\to E:3
C→DC\to D:5
C→EC\to E:2
C→FC\to F:3
D→FD\to F:2
D→GD\to G:5
E→FE\to F:2
E→GE\to G:4
F→EF\to E:2
F→GF\to G:1

(一)執行 Dijkstra 演算法,逐步計算節點 A 到每個節點的最短距離與路徑。請以此例說明 Dijkstra 演算法的運作方式,寫出每一步目前的「A 到每個節點的最短距離」與「前接節點(predecessor)」。(15 分)

(二)請寫出 A 到各節點的最短路徑與路徑長度。(5 分)

(三)舉出兩個 Dijkstra 演算法實際上的應用。(10 分)

🖼️ 本題原卷含圖表。基於試題來源之版權考量,本站不轉載原卷影像; 題目文字已完整轉錄,圖表請自行參閱考選部公告之試題原檔。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

Dijkstra 演算法用來求解邊權重非負的有向加權圖中,起點到各節點的最短距離。每一步選出尚未確定、目前暫定距離最小的節點,將其距離確定,再用該節點更新相鄰節點的距離。

若目前確定的節點為 uu,而 u→vu\to v 的邊權重為 w(u,v)w(u,v),則依下式更新:

d(v)=min⁡{d(v), d(u)+w(u,v)}d(v)=\min\{d(v),\ d(u)+w(u,v)\}

若距離變短,便把 vv 的前接節點(predecessor)改為 uu。本題所有邊權重皆為正數,符合 Dijkstra 演算法的適用條件。

解題方法與逐步結果

以 AA 為起點,起始距離為 d(A)=0d(A)=0,其餘節點設為 ∞\infty。表中每格依序表示「目前暫定距離/前接節點」;「—」表示沒有前接節點。距離已確定的節點以粗體標示。

DD 與 EE 的暫定距離同為 55,本解依字母順序先確定 DD;同距離時先確定哪一個都不影響最短距離。

步驟本步確定節點ABCDEFG
初始A0/—2/A4/A5/A∞\infty/—∞\infty/—∞\infty/—
1B0/—2/A3/B5/A5/B∞\infty/—∞\infty/—
2C0/—2/A3/B5/A5/B6/C∞\infty/—
3D0/—2/A3/B5/A5/B6/C10/D
4E0/—2/A3/B5/A5/B6/C9/E
5F0/—2/A3/B5/A5/B6/C7/F
6G0/—2/A3/B5/A5/B6/C7/F

關鍵更新如下:

  1. 確定 AA 後,沿 A→BA\to B、A→CA\to C、A→DA\to D 更新,得到 B=2B=2、C=4C=4、D=5D=5。
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 二 題30 分

QuickSort 和 MergeSort 是常見的排序演算法,各自有優點與缺點。

(一)假設你負責設計一個「線上圖書目錄系統」,需要對 50 萬筆已經按照「出版年份」由大到小排序的書籍資料,重新依照「作者名稱」排序,讓使用者能快速找到作者撰寫的書,但同時需要保持同一作者撰寫的書籍能依據原本出版年份順序排列。根據 QuickSort 和 MergeSort 兩種演算法的特性,你會選擇哪一種排序演算法?為什麼?(10 分)

(二)有一個數列 [39,18,61,46,11,2,24,33][39,18,61,46,11,2,24,33],利用 QuickSort(以第一個元素為基準)進行由小到大的排序,請寫出並說明每一次循環的結果。(10 分)

(三)與上面問題同一個數列,利用 MergeSort 進行由小到大的排序,請寫出並說明每一次循環的結果。(10 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查排序的穩定性、時間複雜度,以及 QuickSort 與 MergeSort 的基本操作。

  • 穩定排序:若兩筆資料的排序鍵相同,排序後仍維持它們原本的先後順序。
  • QuickSort:以基準值將資料分區,再遞迴排序各分區;平均時間複雜度為 O(nlog⁡n)O(n\log n),但最差為 O(n2)O(n^2)。一般原地 QuickSort 不具穩定性。
  • MergeSort:將資料分半、遞迴排序後合併;時間複雜度為 O(nlog⁡n)O(n\log n),且可設計為穩定排序,但通常需要 O(n)O(n) 額外空間。

(一)選擇排序演算法

應選擇穩定的 MergeSort。

原始資料已依出版年份由大到小排列;重新依作者名稱排序時,若 MergeSort 在合併時遇到作者名稱相同的兩筆資料,優先取自原序列較前面的資料,便能保留同一作者的書籍原有先後順序。因此,同一作者的書仍會依出版年份由大到小排列。

一般 QuickSort 的分區過程可能交換相同作者的資料,破壞原有順序。MergeSort 對 50 萬筆資料仍維持 O(nlog⁡n)O(n\log n) 的時間複雜度,適合大量資料排序;代價是需要額外記憶體。

(二)QuickSort 排序

採用以子序列第一個元素為基準的分區法。以下以「每一次循環」表示每次分區完成;掃描期間,將小於基準的元素移到左側,最後將基準放到分界位置,再遞迴處理左右子序列。

初始數列:

[39,18,61,46,11,2,24,33][39,18,61,46,11,2,24,33]

  1. 以 3939 為基準:左側放小於 3939 的數,右側放大於 3939 的數。

[18,11,2,24,33]∣39∣[61,46][18,11,2,24,33]\mid39\mid[61,46]

  1. 處理左側,以 1818 為基準:11,211,2 移至左側,24,3324,33 留在右側。

[11,2]∣18∣[24,33][11,2]\mid18\mid[24,33]

  1. 處理 [11,2][11,2],以 1111 為基準:

[2]∣11∣[][2]\mid11\mid[]

  1. 處理 [24,33][24,33],以 2424 為基準:

[]∣24∣[33][]\mid24\mid[33]

  1. 處理右側 [61,46][61,46],以 6161 為基準:
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 三 題40 分

資料庫中有一個資料表 Books,包含以下欄位:

  • BookID(書籍編號)
  • Title(書名)
  • Author(作者)
  • Publisher(出版社)
  • PubYear(出版年份)
  • ISBN(國際標準書號)

其中 BookID 為資料表的主鍵。

(一)請寫一個 SQL 查詢,尋找張曼娟於 2020 年出版的書籍名稱與出版社。(10 分)

(二)請說明下列 SQL 語法之查詢過濾條件與輸出欄位為何?(10 分)

SELECT Title, Author, Publisher
FROM Books
WHERE PubYear IN
(SELECT PubYear
FROM Books
WHERE Author = '村上春樹' AND Publisher = '時報出版公司');

(三)請以 JOIN 指令,利用自我關連的概念,改寫上面的查詢。(20 分)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查 SQL 的條件篩選、子查詢,以及以 JOIN 實作自我關連。

  • WHERE 用來篩選資料列。
  • IN 用來判斷某欄位的值是否屬於一組查詢結果。
  • 自我關連是同一資料表以不同別名各自扮演不同角色,再用 JOIN 連結。

本題沒有涉及法條。

解題方法

(一)找出張曼娟於 2020 年出版的書名與出版社

作者與出版年份都是篩選條件,書名與出版社則是指定的輸出欄位:

SELECT Title, Publisher
FROM Books
WHERE Author = '張曼娟'
 AND PubYear = 2020;

AND 表示兩個條件必須同時成立,亦即作者是張曼娟,且出版年份為 2020。

(二)說明子查詢的過濾條件與輸出欄位

外層查詢:

SELECT Title, Author, Publisher
FROM Books
WHERE PubYear IN (...)

輸出符合外層 WHERE 條件之資料列的 Title、Author、Publisher 三個欄位。外層條件是:該書的 PubYear 必須出現在子查詢所傳回的年份集合中。

子查詢:

SELECT PubYear
FROM Books
WHERE Author = '村上春樹'
 AND Publisher = '時報出版公司'

子查詢會找出作者為「村上春樹」且出版社為「時報出版公司」的資料列,並傳回這些資料列的 PubYear。

因此,整體查詢的結果是:所有出版年份與上述村上春樹作品年份相同的書籍,並列出其書名、作者及出版社。外層沒有再限制作者或出版社,所以符合年份的其他作者作品也會列出。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題