演算法來用台語講 - 解題詞彙對照表
予你會當用台語來解釋電腦的演算法。
hōo lí ē-tàng iōng Tâi-gí lâi kái-sueh tiān-náu ê ián-sǹg-huat.
info
《演算法來用台語講》內底包含誠濟台語新詞的創作,目的是鼓勵咱去揣看覓敢有較適合 ê 詞,來解說予電腦走 ê 演算法。你若有發現寫毋著 ê 所在,請佇下跤留話抑是寫電子批共我講,我會趁有閒的時陣來改,請手梳攑懸,多謝!
🚀 這个網站使用 ê HackMD 平台,是一个會當予逐家做伙參與來寫 ê 網站,你若有興趣做伙合作,也請佇下跤留話抑是寫電子批共我講。
✉️ 電子批: minsiansu@gmail.com
英語 | 台語 Tâi-gí | 台灣華語 | 中国翻译 | 解釋 |
---|---|---|---|---|
1D Dynamic Programming | 一次元動態計算 tsi̍t tshù-guân tōng-thài-kè-soàn | 1 維動態規劃 | 一维动态规划 | 使用一維陣列來解決需要考慮一個變數的最佳化問題,通過將問題拆解成子問題並記錄中間結果來提高效率。 |
2D Dynamic Programming | 二次元動態計算 jī tshù-guân tōng-thài-kè-soàn | 2 維動態規劃 | 二维动态规划 | 使用二維陣列來解決需要考慮兩個變數的最佳化問題,通過將問題拆解成子問題並記錄中間結果來提高效率。 |
Algorithm | 演算法/計算術 ián-sǹg-huat/kè-soàn-su̍t | 演算法 | 算法 | 用來解決問題或完成任務的方法。 |
All pairs shortest path | 凊彩兩點之間的上短路程 tshìn-tshái nňg-tiám tsi-kan ê siōng té lōo-tîng | 任兩點之間的最短路徑 | 任两点之间的最短路径 | 在加權圖中,計算每對節點之間的最短路徑。 |
Array | 陣列 tīn-lia̍t | 陣列 | 数组 | 陣列是一種資料結構,用來儲存具有相同型別的多個元素,這些元素在記憶體中是連續排列的,可以透過索引快速存取每個元素。 |
Array transformation | 陣列轉換 tīn-lia̍t tsuán-uānn | 陣列轉換 | 数组转换 | 在一個連接首尾形成環狀結構的數組中進行操作或處理,如循環索引或資料迴圈。 |
Auxiliary data structures | 輔助資料結構 hú-tsōo-tsu-liāu-kiat-kòo | 輔助資料結構 | 辅助数据结构 | 使用額外的資料結構解決問題。 |
Backtracking | bak-kuh 演算法 bak-kuh-ián-sǹg-huat | 回溯法 | 回溯法 | Brute-force 的一種,透過不斷嘗試,如果遇到不符合條件就回溯到之前的選擇,來逐步找到解決問題的所有可能解答。 |
Balance problems | 平衡問題 pîng-hîng-būn-tê | 平衡問題 | 平衡问题 | 在資料結構中,保持各元素或資源間分佈均勻。例如找出分割點使兩邊和相等 |
Bellman-Ford algorithm | 貝爾曼-福特演算法 Puè-ní-bān Hok-ti̍k ián-sǹg-huat | 貝爾曼-福特演算法 | 贝尔曼-福特算法 | 一種用於計算從單一起點到其他所有點的最短路徑的演算法,且能處理帶有負權重邊的圖。 |
BFS with queue | 使用排陣做成闊度代先搜揣 sú-iōng pâi-tīn tsò-tsiânn khuah-tōo-tāi-sing-tshiau-tshuē | 使用佇列實現廣度優先搜尋 | 使用队列实现广度优先搜索 | 使用佇列 實現廣度優先搜尋。 |
Bi-connected components | 雙連結元件 siang-liân-kiat-guân-kiānn | 雙連通元件 | 双连通分量 | 在無向圖中,每個元件中的任意兩個節點在去除圖中的任何一條邊後仍能保持連通的最大節點集合。 |
Bidirectional breadth-first search | 雙爿闊度代先搜揣 siang-pîng-khuah-tōo-tāi-sing-tshiau-tshuē | 雙向廣度優先搜尋 | 双向广度优先搜索 | 雙向廣度優先搜尋是一種圖搜尋演算法,從起點和終點同時進行廣度優先搜尋,當兩邊搜尋相遇時,即找到最短路徑,這樣可以有效減少搜尋空間和時間。 |
Binary lifting | 增倍法 tsing-puē-huat | 倍增 | 倍增 | 在樹狀結構上進行快速查詢與計算的演算法,特別適用於 LCA 等問題的解決方法。 |
Binary search | 破爿搜揣演算法 phuà-pîng tshiau-tshuē ián-sǹg-huat | 二元搜尋演算法 | 二分查找算法 | 一種有效率的搜尋演算法,能在有序陣列或資料集中快速尋找目標值的方法。 |
Binary search tree (BST) | 雙爿搜揣樹 siang-pîng-tshiau-tshuē-tshiū | 二元搜尋樹 | 二叉查找树 | 一種樹狀結構,其中每個節點最多有兩個子節點,並且滿足左子節點的值小於父節點的值,而右子節點的值大於父節點的值。這種結構使得在樹中查找、插入和刪除節點都能夠以較高的效率完成。 |
Binary tree | 雙爿樹 siang-pîng-tshiū | 二元樹 | 二叉树 | 一種樹狀資料結構,其中每個節點最多有兩個子節點,用於組織資料以及進行有效的搜尋和排序。 |
Bit manipulation | 位元計算 uī-guân-kè-sǹg | 位元運算 | 位元运算 | 利用二進位資料的運算來有效的處理和操作數字 。 |
Boundary walking | 邊頭行徙 pinn-thâu-kiânn-suá | 邊界行走 | 边界行走 | 在資料結構或圖形處理中,用來沿著特定區域或物件的邊界進行走訪的方法。 |
Boyer-Moore voting algorithm | 投票演算法 tâu-phiò ián-sǹg-huat/摩爾投票演算法 moo-ní-tâu-phiò ián-sǹg-huat | 多數投票演算法/摩爾投票演算法 | 多数投票算法/摩尔投票算法 | 在線性時間內找出陣列中主要元素的方法。 |
Branch and bound algorithm (BB) | 分叉隔界演算法 hun-tshe-keh-kài ián-sǹg-huat | 分支定界演算法 | 分支定界算法 | 在解決最佳化或搜索問題時,透過分支、搜索和剪枝來有效地尋找最佳解或全域最優解的演算法。 |
Breadth-first search | 闊度代先搜揣演算法 khuah-tōo tāi-sing tshiau-tshuē ián-sǹg-huat | 廣度優先搜尋 | 广度优先搜索 | 從起始節點開始逐層擴展探索,確保先探索所有相鄰節點,適合用於尋找最短路徑或狀態空間的解決方案。 |
Brute-force (BF) | 拚勢演算法 piànn-sè ián-sǹg-huat | 暴力演算法 | 暴力法 | 透過走訪所有的情況,尋找最佳解,通常是在面試時難以立即想出最佳解時提出的解法。根據與面試官的討論,有可能會衍生出其他更適合的解決方案。 |
Bubble sort | 起波排序 khí-pho-pâi-sī | 冒泡排序 | 冒泡排序 | 一種簡單的排序演算法,通過重複比較相鄰元素並交換它們的位置,將較大的元素「冒泡」到陣列的末尾。 |
Bucket sort | 桶仔排序 tháng-á-pâi-sī | 桶排序 | 桶排序 | 一種將資料分配到不同桶中進行排序的演算法,然後再將桶中的資料合併以完成整體排序。 |
Cellular automata | 細胞自動機 sè-pau-tsū-tōng-ki | 細胞自動機 | 细胞自动机 | 一種數學模型,通過在格狀空間中對每個單元格進行局部規則更新來模擬複雜系統的演化。 |
Chessboard problems | 棋盤問題 kî-puânn būn-tê | 棋盤問題 | 棋盘问题 | 在棋盤上進行特定操作或解決問題,例如放置棋子、尋找路徑或解決擺放問題。 |
Circular array problems | 圓箍陣列問題 înn-khoo tīn-lia̍t būn-tê | 環型陣列問題 | 环型数组问题 | 在一個環狀結構的陣列中進行操作或解決問題,例如處理循環查詢或走訪。 |
Combination problems | 組合問題 tsoo-ha̍p būn-tê | 組合問題 | 组合问题 | 在給定的元素集合中,找出所有可能的子集或排列組合的方法。 |
Complete Binary Tree (CBT) | 完全雙爿樹 uân-tsuân siang-pîng-tshiū | 完全二元樹 | 完全二叉树 | 一種二元樹,每一層都被完全填滿,除了最後一層外,其餘節點都靠左對齊。 |
Connected components | 連結元件 liân-kiat-guân-kiānn | 連通元件 | 连通分量 | 在無向圖中,任意兩個節點在同一個元件內都可以互相到達的最大節點集合。 |
Connected graph | 連結圖 liân-kiat-tôo | 連通圖 | 连通图 | 在無向圖中,任意兩個節點之間都可以通過一條或多條邊互相到達。 |
Counting sort | 計數排序 kè-sòo-pâi-sī | 計數排序 | 计数排序 | 一種非比較排序演算法,通過統計每個元素的出現次數來確定元素的最終位置,並按計數結果進行排序。 |
Cumulative product | 累積乘積 luí-tsik-sîng-tsik | 累積乘積 | 累积乘积 | 在一個數列中每個元素與其之前所有元素相乘所得到的連續乘積。 |
Cumulative sum calculation | 累積和計算 luí-tsik-hô-kè-sǹg | 累積和計算 | 累积和计算 | 計算並儲存從開始到每個位置的累積和。 |
Cycle detection | 循環檢查 sûn-khuân kiám-tsa | 環檢測 | 环检测 | 環檢測是用來識別資料結構(如圖或鏈結串列)中是否存在迴圈或循環的演算法。 |
Cyclic replacements | 循環替換 sûn-khuân-thè-uānn | 循環替換 | 循环替换 | 在一個序列中,按照特定規則或循環模式進行元素位置互換的操作。 |
Data structure | 資料結構 tsu-liāu-kiat-kòo | 資料結構 | 数据结构 | 資料結構是一種組織和儲存資料的方式,以便於有效率的存取和修改。 |
Define pointer roles | 定義指標的角色 tīng-gī tsí-piau ê kak-sik | 定義指標角色 | 定义指针角色 | 定義指標的用途或行為,例如一個用於讀取,一個用於寫入。 |
Depth-first search | 深度代先搜揣演算法 tshim-tōo tāi-sing tshiau-tshuē ián-sǹg-huat | 深度優先搜尋演算法 | 深度优先搜索算法 | 一種圖或樹的搜尋演算法,優先從起始節點深入到最深的分支,再回溯至上一節點繼續搜尋未探索的路徑。 |
Difference calculation | 精差計算 tsing-tsha-kè-sǹg | 差值計算 | 差值计算 | 找出兩個數值或集合之間的差。 |
Dijkstra's algorithm | 戴克斯特拉演算法 tài-khik-su-ti̍k-lá ián-sǹg-huat | 戴克斯特拉演算法 | 戴克斯特拉算法 | 計算從單一起點到圖中所有其他點的最短路徑,前提是圖中邊的權重皆為非負數。 |
Directed acyclic graph (DAG) | 有向無環 圖 ū-hiòng-bô-huân-tôo | 有向無環圖 | 有向无环图 | 一種有向圖,其中不存在任何循環,且邊的方向從不形成迴路。 |
Directed graph | 有向圖 ū-hiòng-tôo | 有向圖 | 有向图 | 有向圖問題(Directed Graph Problems)是指在有向圖中處理節點和邊的各種問題,如尋找最短路徑、拓撲排序或循環檢測。 |
Direction arrays | 方向陣列 hong-hiòng-tīn-lia̍t | 方向陣列 | 方向数组 | 使用預定義的方向陣列來簡化走訪和鄰居檢查,例如 directions = [[0, 1], [0, -1], [1, 0], [-1, 0]]。 |
Divide and conquer | 分開解決法 hun-khui-kái-kuat-huat | 各個擊破法 | 分治法 | 將題目分成一樣的小題目,最後將結果合併起來,經常應用在其他的演算法中。 |
Doubly linked list | 雙爿鍊仔列 siang-pîng-liān-á-lia̍t | 雙向鏈結串列 | 双向链表 | 鏈結串列的一種,每個節點包含指向前後兩個節點的指標,使得走訪可以在兩個方向進行。 |
Dynamic programming (DP) | 動態計算 tōng-thài-kè-soàn | 動態規劃 | 动态规划 | 一種通過將問題拆分為較小子問題,並保存它們的解以避免重複計算的方法。 |
Edge case handling | 邊界情況處理 pian-kài-tsîng-hóng-tshú-lí | 邊界情況處理 | 边界情况处理 | 注意處理矩陣的邊界和角落元素。 |
Enumerate | 列舉 lia̍t-kí | 列舉 | 枚举 | 逐一列舉或走訪所有可能的選項或元素。 |
Eulerian path | 尤拉路徑 iû-la lōo-kìng | 尤拉路徑 | 欧拉路径 | 在圖中找到一條經過每條邊恰好一次的路徑。 |
Exponential search | 指數搜揣 tsí-sòo-tshiau-tshuē | 指數搜尋 | 指数搜索 | 在有序陣列中查找目標值的演算法,通過指數增長的方式逐步擴展搜尋範圍,直到找到目標值或確定目標值不在陣列中。 |
Fast and slow pointers | 慢緊指標 bān-kín-tsí-piau | 快慢指標 | 快慢指针 | 在資料結構中使用兩個指針,其中一個以較快的速度移動,另一個以較慢的速度移動,以便檢測循環或找到特定位置。 |
Fenwick tree/binary indexed tree (BIT) | 芬威克樹 hun-ui-khik-tshiū/雙爿索引樹 siang-pîng-soh-ín-tshiū/樹形陣列 tshiū-hîng-tīn-lia̍t | 芬威克樹/二元索引樹/樹狀陣列 | 芬威克树/二元索引树/树状数组 | 用於頻繁地進行陣列區間求和和單點更新操作。使用樹狀結構來壓縮資訊,能夠在 O(logN) 的時間複雜度內完成這些操作,適合用在頻繁查詢和更新的情況下。 |
Fibonacci search | 費波那契搜揣 huì-pho-ná-khì tshiau-tshuē | 費波那契搜尋 | 斐波那契搜索 | 一種基於費波那契數列的搜尋演算法,用於在有序陣列中高效率地尋找目標值。 |
FIFO processing | FIFO 處理 FIFO-tshú-lí | FIFO 處理 | FIFO 処理 | 利用佇列的先進先出特性處理資料。 |
Floyd–Warshall algorithm | 弗洛伊德演算法 Hu̍t-lo̍k-i-ti̍k ián-sǹg-huat | 弗洛伊德演算法 | 弗洛伊德算法 | 計算圖中每一對節點間的最短路徑,能處理帶有負權重邊的圖。 |
Formula application | 公式應用 kong-sik-ìng-iōng | 公式應用 | 公式应用 | 應用適當的數學公式解決問題。 |
Full Binary Tree (FBT) | 滿雙爿樹 muá siang-pîng-tshiū | 滿二元樹 | 满二叉树 | 一種二元樹,每個節點要麼有兩個子節點,要麼沒有子 節點,且所有葉子節點都在同一層次。 |
Graph | 圖 tôo | 圖 | 图 | 通常涉及圖形結構的問題,例如最短路徑、連通性、拓撲排序等,要求對圖的節點和邊進行操作和分析。 |
Graph and matrix search problems | 圖佮矩陣搜揣問題 tôo kah kí-tīn tshiau-tshuē būn-tê | 圖形與矩陣搜尋問題 | 图形与矩阵搜索问题 | 在圖形結構或矩陣中進行尋找特定元素、路徑或模式的問題。 |
Greedy algorithm | 痟貪演算法 siáu-tham-ián-sǹg-huat | 貪婪演算法 | 贪心算法 | 透過在每一步選擇當前最佳的選項來試圖達到全局最佳解。 |
Greedy with priority queue | 痟貪演算法加代先排陣 siáu-tham-ián-sǹg-huat ka tāi-sing-pâi-tīn | 貪婪演算法結合優先佇列 | 贪心算法结合优先队列 | 貪婪演算法搭配優先佇列(Priority Queue)可以有效管理和選擇當前最重要的元素,以達成最佳解。 |
Hamiltonian path | 漢彌爾頓路徑 hàn-mí-nī-tùn lōo-kìng | 漢彌爾頓路徑 | 哈密顿路径 | 在圖中找到一條經過每個節點恰好一次的路徑。 |
HashMap | 插濫表 tshap-lām-pió | 雜湊表 | 哈希表 | 用於儲存鍵值對並提供快速的查詢、插入和刪除操作。 |
HashMap for frequency | 用插濫表算頻率 iōng tshap-lām-pió sǹg pîn-lu̍t | 使用雜湊表統計頻率 | 使用哈希表统计频率 | 記錄前置和出現的次數,用於快速查找。 |
HashSet | 插濫集合 tshap-lām-tsi̍p-ha̍p | 雜湊集合 | 哈希集 | 用於儲存唯一元素並提供快速的查詢、插入和刪除操作。 |
Heap sort | 堆積排序 tui-tsik-pâi-sī | 堆積排序 | 堆排序 | 一種基於堆積資料結構的排序演算法,通過構建最大堆積或最小堆積來逐步提取最大或最小元素,實現陣列的排序。 |
Hungarian algorithm | 匈牙利演算法 Hiong-gâ-lī ián-sǹg-huat | 匈牙利演算法 | 匈牙利算法 | 用於解決二分圖中的最大比對問題,尋找最佳的配對以最大化總權重。 |
Identify pointer movement | 決定指標 ê 方向 kuat-tīng tsí-piau ê hong-hiòng | 確定指標移動 | 识别指针移动 | 決定指針如何移動(同向、反向、快慢等) |
In-place operations | 原位操作 guân-uī-tshau-tsok | 原地操作 | 就地操作 | 在不使用額外空間的情況下修改資料結構。 |
Inorder traversal | 中央走訪 tiong-sū-tsáu-hóng | 中序走訪 | 中序遍历 | 一種樹的走訪方式,先走訪左子樹,再訪問節點本身,最後走訪右子樹。 |
Insertion sort | 安插排序 an-tshah-pâi-sī | 插入排序 | 插入排序 | 一種逐步排序演算法,通過將每個新元素插入到已排序部分的正確位置來完成排序。 |
Interpolation search | 內插搜揣 lāi-tshah-tshiau-tshuē | 內插搜尋 | 插值搜索 | 一種基於資料分佈進行預測的搜尋演算法,用於在有序數組中高效率地尋找目標值。 |
Intervals problems | 區間問題 khu-kan-būn-tê | 區間問題 | 间隔问题 | 處理和分析區間的問題,如合併重疊區間、查找區間交集或間隔等。 |
Iteration | 逐代 ta̍k-tāi | 疊代 | 迭代 | 重複執行某個過程或步驟,直到達成預期的結果或滿足特定條件。 |
Johnson's algorithm | 強生演算法 kiông-sing ián-sǹg-huat | 強生演算法 | 约翰逊算法 | 一種用來在加權圖中計算所有點對最短路徑的演算法,適用於處理邊權可能為負值的情況。 |
Josephus problem | 約瑟夫問題 Jio̍k-sik-hū būn-tê | 約瑟夫問題 | 约瑟夫斯难题 | 描述一群人按順序圍成一圈,每次刪除指定位置的人,直到只剩下最後一個人為止,要求找出最後存活的位置。 |
Knapsack problems | kha·báng 問題 kha·báng-būn-tê | 背包問題 | 背包问题 | 在背包容量有限的情況下,選擇物品以達到最大總價值的問題,常見的有0/1背包問題和分數背包問題。 |
Knuth-Morris-Pratt (KMP) algorithm | KMP 演算法 KMP ián-sǹg-huat | KMP 演算法 | KMP 算法 | 一種高效率的字串比對演算法,用於在主字串中搜尋子字串,避免不必要的重複比較。 |
Kosaraju's algorithm | 科薩拉珠演算法 kho-sat-la-tsu ián-sǹg-huat | 科薩拉珠演算法 | 科萨拉朱算法 | 用來在有向圖中找到所有強連通元件的演算法,通過兩次深度優先搜尋來實現。 |
Kruskal's algorithm | 克魯斯克爾演算法 khik-luh-suh-khik-nī ián-sǹg-huat | 克魯斯克爾演算法 | 克鲁斯克尔算法 | 一種用來在加權圖中找出最小生成樹的演算法,通過按邊的權重從小到大排序並逐步選擇邊來實現。 |
Lagrange's four-square theorem | 四平方和定理 sì-pîng-hong-hô tīng-lí | 四平方和定理 | 拉格朗日四平方定理 | 每個自然數都可以表示為最多四個平方數的和。 |
Layered traversal | 分層走訪 hun-tsân-tsáu-hóng | 分層走訪 | 分层遍历 | 從外到內逐層處理矩陣元素。 |
Level order traversal | 分層走訪 hun-tsàn-tsáu-hóng |