二元樹 (Binary Tree) 練習程式

二元樹 (Binary Tree) 是資結中相當重要的一環, 常用於實作 Map、Set、Priority Queue…, 例如,紅黑樹 便應用於 C++ STL 與 Linux 中。   演算法筆記: 「二元樹」是計算機科學最重要的概念, 甚至可以說:二元樹開創了計算機科學。 &nbs […]

陣列 (Array) 簡介

陣列 (Array),又稱數組,為一資料結構 (Data Structure), 是用來儲存一群『相同資料型態 [註1] 的元素 (element)』之串列。 通常 佔用 連續的 (consecutive) 記憶體位置 (memory location)。   每個元素,會有一類 […]

遞迴 (Recursion)

遞迴 (Recursion),是指 一個函式 (或操作、方法、數列、演算法), 會 直接 或 間接 地 呼叫自己本身。   也就是: 使用相同的方法,解決重複性的問題 (Recurrent Problems)。   不同於 非遞迴的 (Non-Recursive) 做法, [e.g […]

引數 (Argument) vs. 參數 (Parameter)

引數 (Argument) vs. 參數 (Parameter)

在使用函式時,往往會遇到這兩個名詞, 翻譯上時常造成混淆,每人翻的也不盡相同, 為了日後便於溝通,做個簡單的釐清 😬。   個人較常見的翻譯: 引數 (Argument) 參數 (Parameter)   引用 stack overflow 的解答: An argument is an e […]

抽象資料型態 (Abstract Data Type, ADT)

資料型態 (Data Type) Def: A data type is a collection of objects and a set of operations that act on those objects。   資料型態,是一組 物件 (objects),及作用於這些物件的 操作 ( […]