iT邦幫忙

algorithm相關文章
共有 318 則文章
鐵人賽 Software Development DAY 3
舌尖上的演算法 系列 第 3

技術 Day3 -- 解析演算法的優劣(下)

本系列文章同步分享於個人Blog → Informistry-HankLee 前言 第二天我們提到了衡量一個演算法好壞的因素分別是執行時間(Time compl...

鐵人賽 Software Development DAY 10
舌尖上的演算法 系列 第 10

技術 Day10 -- Decrease and Conquer - Insertion Sort

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 第六天到第九天,我們都是在介紹屬於Brute Force的演算法,若要複習的...

鐵人賽 自我挑戰組 DAY 19

技術 Day-19 ADT與鏈結串列(linked list)

前言 鏈結串列(linked list)是由一連串的結構(由 struct 所建立的節點)所構成,每一個節點中都含有兩筆資料,分別為節點的內容和下一個節點的記憶...

鐵人賽 Software Development DAY 8
舌尖上的演算法 系列 第 8

技術 Day8 -- Brute Force - Knapsack

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 接連兩天分別介紹了Selection Sort和Bubble Sort兩種排...

鐵人賽 Software Development DAY 16
舌尖上的演算法 系列 第 16

技術 Day16 -- Divide and Conquer - Quick Sort

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 昨天介紹了第一種Divide and Conquer的演算法(Merge S...

鐵人賽 自我挑戰組 DAY 22

技術 Day-22 樹(Tree), 二元搜尋樹(Binary Search Tree)

前言 對於大量的資料處理,使用串列的走訪是一種十分沒有效率的方法,其效率會根據串列的長度而不斷線性成長,也就是,而樹(tree)這種資料結構,其大部分的操作時間...

鐵人賽 Software Development DAY 15
舌尖上的演算法 系列 第 15

技術 Day15 -- Divide and Conquer - Merge Sort

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 一連五天,我們介紹了Decrease and Conquer,今天和明天我們...

鐵人賽 Software Development DAY 5
舌尖上的演算法 系列 第 5

技術 Day5 -- 線性資料結構(Linear Data Structures)

本系列文章同步分享於個人Blog → Informistry-HankLee 前言 第四天我們說明了什麼是抽象資料型別(Abstract Data Type,...

鐵人賽 Software Development DAY 27

技術 【Day27】[演算法]-堆積排序法 Heap Sort

堆積排序法(Heap Sort)原理是利用「堆積」的資料結構為基礎來完成排序。 堆積的介紹可以參考此篇。 操作流程(最大堆積為例): 將陣列轉換最大堆積(...

鐵人賽 自我挑戰組 DAY 7

技術 Day-7 Divide-and-Conquer-2 : 求解遞迴式

如何求解遞迴式 目前主要有三種方法來求解遞迴式(至今沒有任何一個好的演算法可以有效地解決遞迴式) 代換法(substitution method) 他主要遵循以...

鐵人賽 Software Development DAY 2

技術 [One Punch 一拳搞定前後端面試] DAY-02 - 字串反轉

第一題先來一個容易,但您可能想不到的題目... 此文同時發佈於好讀整理版 題目:寫一個方法(函式)把提供的字串,反轉過來。 例如: ex1: 輸入 'abcde...

鐵人賽 學生 DAY 11

技術 將資料化為資訊:Data Mining 基礎算法簡介

# 有了資料之後... 當輸入的資料都準備好之後,需要透過一些分析方法來取得我們想要的資訊。 往後幾天會介紹資料分析中最基本的幾種方式、如何實作以及產生的結果。...

鐵人賽 自我挑戰組 DAY 3

技術 Day-3 insertion sort與循環不變式

插入排序(insertion sort) Input: 一連串正整數所成的集合 { }Output: 一連串已經過排序的正整數集合 { },且 雖然概念上我...

鐵人賽 Software Development DAY 1

技術 [One Punch 一拳搞定前後端面試] DAY-01 - 簡介

分享 JavaScript 與 Java 面試上機考常見問題。 分析題目與參考解答。 從簡單的字串反轉,到複雜的資料結構、演算法。由淺入深。 為什麼選這兩種程式...

鐵人賽 Software Development DAY 13
舌尖上的演算法 系列 第 13

技術 Day13 -- Decrease and Conquer - Binary Search Tree(上)

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 第十二天我們介紹了Binary Search,而Binary Search在...

鐵人賽 自我挑戰組 DAY 26

技術 Day-26 Hash Table-開放定址(Open Addressing)

open addressing概念 前面提到,在Hash table中發生碰撞時,我們會使用chaining的方式處理,也就是在每一個slot中建立一個link...

鐵人賽 Software Development DAY 17
舌尖上的演算法 系列 第 17

技術 Day17 -- Transform and Conquer - AVL Tree(上)

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 目前為止已經介紹了三種類別的演算法,每一種演算法都有其有趣的地方,今天我們要...

鐵人賽 自我挑戰組 DAY 28

技術 Day-28 Breadth-First Search(BFS), 廣度優先搜尋

BFS簡介 BFS是用來遍歷一張圖的最簡單演算法,也是很多在圖論演算法的原型,許多演算法都是基於BFS,像是Prim最小生成樹,Dijkstra演算法等等。 給...

鐵人賽 Software Development DAY 28

技術 【Day28】[演算法]-桶排序法Bucket Sort

桶排序法(Bucket Sort),與前面幾篇的排序法不一樣,前面都是經由兩兩互相比較而成的排序,稱為比較排序法,而桶排序是非比較排序,屬於「分配性」的排序。原...

鐵人賽 自我挑戰組 DAY 29

技術 Day-29 Depth-First-Search(DFS), 深度優先搜尋

DFS介紹 與昨天BFS不同的地方在於,BFS是給定一個節點s,接著找到s可以到達的所有節點,而DFS是遍歷整張圖,如果我們給定特定的節點s,我們使用BFS可能...

鐵人賽 自我挑戰組 DAY 1

技術 Day 1: 演算法無所不在

寫程式的目的,即是把不斷重複的計算流程自動化。而演算法,則是用以明確定義自動化後的計算流程。在設計演算法之前,除了對於要解決的問題有一定程度的認識以外,還必須考...

鐵人賽 Software Development DAY 7
舌尖上的演算法 系列 第 7

技術 Day7 -- Brute Force - Bubble Sort

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 第六天我們終於開始上主菜了,第一個演算法Brute Force中的Selec...

鐵人賽 自我挑戰組 DAY 20

技術 Day-20 堆疊(Stack)

堆疊介紹 堆疊是限制插入元素和刪除元素只能在同一個位置的表(list),該位置一般來說稱為棧頂(Top)。對堆疊的基本操作有 Push(推入,將資料加到棧頂)...

技術 [用 Python 解 LeetCode] (001) 27. Remove Element

題幹懶人包 輸入一個數組及一個數,最後輸出一個數值代表非重複數值的數量,然後以下幾點要注意: 只能修改該數組,利用的空間複雜度最多為1(意思就是不能創建新的...

鐵人賽 Software Development DAY 11

技術 Day 11:94. Binary Tree Inorder Traversal

今日題目 題目連結:94. Binary Tree Inorder Traversal 題目主題:Stack, Tree, Depth-First Search...

鐵人賽 Software Development DAY 6

技術 Day 6:232. Implement Queue using Stacks

今日題目 題目連結:232. Implement Queue using Stacks題目主題:Stack, Design, Queue 此題目主要是來了解Qu...

鐵人賽 Software Development DAY 3

技術 [One Punch 一拳搞定前後端面試] DAY-03 - 判斷回文

題目 寫一個方法(函式),判斷給的字串是否為回文,是回文回傳 True,不是回文回傳 False。 此文同時發佈於好讀整理版。 example: input '...

鐵人賽 Software Development DAY 11
舌尖上的演算法 系列 第 11

技術 Day11 -- Decrease and Conquer - Shell Sort

本系列文章同步分享於個人Blog → InformisTry-HankLee 前言 第十天我們第一次介紹了Decrease and Conquer類別的運作方式...

鐵人賽 自我挑戰組 DAY 13

技術 Day-13 線性時間演算法 : Counting sort

Counting sort Input : Output : Aux(auxiliary) array : Counting sort假設一個陣列中有個整數,...

達標好文 技術 [LeetCode 筆記] 200. Number of Islands

前言   這題是一個經典的 DFS 深度優先搜尋問題,聽說是 FAANG 高頻題(?,目標是在二維陣列裡找到連續出現 1 的範圍 (島嶼),計算島嶼共出現幾個,...