資工
共 13 篇文章
- 搜尋演算法 1 - Linear Search / Sequential Search2022-04-25演算法 資工
Linear search (線性搜尋),又稱為 sequential search,是最基本的搜尋演算法,通常用來搜尋尚未排列的資料。
- 2022-04-25
- 排序演算法筆記 4 - Merge Sort (合併排序法)2022-04-18演算法 資工
Merge Sort (合併排序法) 是第一個要介紹的 efficient sort,和前面幾個排序演算法相比雖然會複雜一些,但時間複雜度相較之下也會比較好。
- 排序演算法筆記 3 - Insertion Sort (插入排序法)2022-04-16演算法 資工
Insertion Sort (插入排序法) 的原理也很直觀,將要排序的元素插入已經排列好的左側陣列。Insertion Sort 原理解釋
- 2022-04-14
- 排序演算法筆記 0 - 排序演算法介紹與種類2022-04-14演算法 資工
Sorting algorithms (排序演算法) 可以說是最常用到的演算法之一,主要有兩個原因: - 任何資料在未排序前要搜尋某個元素時只能使用 linear search,從頭到尾遍歷一次,找尋目標元素,但如果是排序好的元素則可以使用 binary search, interpolation search 等搜尋演算法來查詢目標元素
- 排序演算法筆記 2 - Selection Sort (選擇排序法)2022-04-14演算法 資工
Selection sort 的原理如其名:每次找出最小的元素,如果找得到比現在最小的元素還小的,就和尚未排序好的最左邊元素交換,找不到則不執行動作。
- 資料結構筆記 4 - Binary Tree (二元樹)2022-04-11資工 資料結構-資工
1. Binary Tree 定義 Binary tree 是定義更狹窄的 tree,一棵 binary tree 的定義如下: - 每個 node 最多有兩個 subTree (也就是最多有兩個 child node) - Left subTree (左子樹) 和 right subTree (右子樹) 是有順序的,順序不能任意顛倒 - 即使某個 node 只有一個 subTree,也必須區分
- 資料結構筆記 3 - Tree2022-04-10資工 資料結構-資工
Tree 是最常見的 non-linear data structure,構成 tree 的基本單位為 node,以下為 tree 的定義: - **Root Node**:(根節點)為 tree 的起點,每一個 tree 僅有一個且唯一的 root node - A 為 root node - **SubTree**:每個 node 底下可以分為互不相交的有限集
- 資料結構筆記 2 - Stack (堆疊), Queue (佇列)2022-04-09資工 資料結構-資工
Stack (堆疊) 和 queue (佇列) 可以說是 array 和 linked-list 的閹割版本,因此個別都可以用 array 和 linked-list 來實現。
- 資料結構筆記 1 - Array (陣列), Linked List (鏈結串列)2022-04-07資工 資料結構-資工
資料結構大致上可以分為 linear 和 non-linear 兩種類別,其中 linear data structure 包含 array, linked-list stack, queue, non-linear data structure 包含 trees, graphs。 其中 non-linear 其實也可以用 linear data structure 來表示,因此先來介紹 linear data structure。
- 資料結構筆記 0 - 為什麼要學資料結構?2022-03-29資工 資料結構-資工
KEEP 資料結構與演算法 OUT YOUR FUCKING MOUTH!這大概是正在轉職或是剛轉職的人聽到資料結構與演算法的第一個反應吧哈哈哈! 剛轉職的時候覺得:真的有必要學演算法和資料結構嗎?明明工作上就用不太到,感覺學這個就是單純為了面試和刷題而已。但在工作一陣子後你會發現,在不同的應用場景使用正確的資料結構,有助於效能的提升,雖然以當今的電腦效能對使用者來說並不會有太大的差別,但以一個工程師來說,把功能做到盡善盡美是必須的!
- 演算法筆記 0 – 演算法定義與 Big O Notation2021-08-27演算法 資工
1. 演算法定義 一般來說,符合以下這 5 種特性(Characteristics)就可以稱為演算法: 1.1 輸入(Input) An algorithm may have many inputs or no inputs at all. 演算法應該具有 0 個或多個輸入。 1.2 輸出(Output) An algorithm should result at least one outpu