所屬科目:資料處理
(一)執行 Dijkstra 演算法,逐步計算節點 A 到每個節點的最短距離與路徑。請以此例說明 Dijkstra 演算法的運作方式,寫出每一步目前的「A到每個節點的最短距離」與「前接節點(predecessor)」。
(二)請寫出 A 到各節點的最短路徑與路徑長度。
(三)舉出兩個 Dijkstra 演算法實際上的應用。
(一)假設你負責設計一個「線上圖書目錄系統」 ,需要對 50 萬筆已經按照「出版年份」由大到小排序的書籍資料,重新依照「作者名稱」排序,讓使用者能快速找到作者撰寫的書,但同時需要保持同一作者撰寫的書籍能依據原本出版年份順序排列。根據 QuickSort 和 MergeSort 兩種演算法的特性,你會選擇那一種演算法?為什麼?
(二)有一個數列[39, 18, 61, 46, 11, 2, 24, 33],利用 QuickSort(以第一個元素為基準)進行由小到大的排序,請寫出並說明每一次循環的結果。
(三)與上面問題同一個數列,利用 MergeSort 進行由小到大的排序,請寫出並說明每一次循環的結果。
(一)請寫一個 SQL 查詢,尋找張曼娟於 2020 年出版的書籍名稱與出版社。
(二)請說明下列 SQL 語法之查詢過濾條件與輸出欄位為何?
(三)請以 JOIN 指令,利用自我關連的概念,改寫上面的查詢。