iT邦幫忙

演算法相關文章
共有 354 則文章
鐵人賽 Software Development DAY 3

技術 【在廚房想30天的演算法】Day 03 那個時間複雜度會讓人生變複雜嗎?

Aloha!又是我少女人妻Uerica!話說這次有很多以前的朋友同學們一起參加鐵人賽,,不但可以一起加油打氣,因為每天都會去收看大家的文章,真是收穫滿滿~啊。...

鐵人賽 自我挑戰組 DAY 3

技術 【Day 03】如何評估演算法的效率? Big O 與時間複雜度

一、如何判斷演算法的效能 ? 當同樣的問題,可以用不一樣的演算法來解決時,要如何判斷哪個演算法比較好 ?可以使用以下兩個評量指標: 花的時間少,所需步驟少 (...

鐵人賽 自我挑戰組 DAY 5

技術 Day 05:到底有多壞?演算法的最壞情況執行時間

討論演算法的執行時間到現在,我們只提最糟糕的情況,好像不斷在強調演算法的效能可以有多差。 你可能會想,就算用線性搜尋玩猜數字,最衰最衰要猜100次,那也會有很多...

鐵人賽 自我挑戰組 DAY 17

技術 【第十七天 - 動態規劃 題目分析】

先簡單回顧一下,今天預計分析的題目: 53. Maximum Subarray 題目敘述:https://leetcode.com/problems/m...

鐵人賽 自我挑戰組 DAY 2

技術 【Day 02】認識演算法 Algorithm ( 使用 JavaScript )

一、什麼是演算法 ( Algorithm ) ? 演算法是一組 step by step 用來解決問題、完成任務的指令,它的定義: 在有限時間內 在有限步驟內...

鐵人賽 Software Development DAY 2

技術 【在廚房想30天的演算法】Day 02 想著想著想到一個 Big O

Aloha!又是我少女人妻Uerica!第二天了,真是令人興奮,因為後面要怎麼寫我都還沒想好啊~哈哈哈哈!昨晚躺在床上想了一夜都睡不著,一直在想...明天要吃什...

鐵人賽 自我挑戰組 DAY 4

技術 Day 04:大O符號的含意

上一回提到大O符號表達執行時間,但對於大O符號我們可能有些疑問。 既是叫時間,那它的單位是什麼? 我們可以在演算法的例子中加入時間來比較一下。 如果今天有一個有...

鐵人賽 Software Development DAY 1

技術 【在廚房想30天的演算法】Day 01 演算法好吃嗎~

【在廚房想30天的演算法】Day 01 演算法好吃嗎~ Aloha!我是少女人妻Uerica!哈哈哈,過了一年又開始跟老公沒話題了,加上疫情關係天天處一起,我...

鐵人賽 自我挑戰組 DAY 16

技術 【第十六天 - 動態規劃 介紹】

Q1. 動態規劃(Dynamic Programming)是什麼 ? Dynamic programming,簡稱DP,是一種多階段決策出最佳解的方法,他會...

鐵人賽 自我挑戰組 DAY 15

技術 【第十五天 - Linked list 題目分析】

先簡單回顧一下,今天預計分析的題目: Swap Nodes in Pairs 題目連結:https://leetcode.com/problems/s...

鐵人賽 自我挑戰組 DAY 3

技術 Day 03:如何分析演算法?

上一回講到兩種搜尋演算法,一種是一個一個找,一種則是每次尋找都可以去掉一半的選項,好像有一種是明顯比較快的做法,可是我們要怎麼表達這樣的差異呢? 執行時間 一般...

鐵人賽 自我挑戰組 DAY 14

技術 【第十四天 - Linked list介紹】

Q1. linked list是什麼 是一種資料結構,透過很多節點(Node)串接成一個 linked list 型態的資料。 以 python 宣告的 Li...

鐵人賽 自我挑戰組 DAY 13

技術 【第十三天 - 遞迴 題目分析】

先簡單回顧一下,今天預計分析的題目: 題目連結:https://leetcode.com/problems/merge-two-sorted-lists/...

鐵人賽 自我挑戰組 DAY 2

技術 Day 02:二分搜尋(binary search)

第一個演算法既是叫搜尋,那我們先想像一些生活中找東西的情境。 如果有一疊照座號排好的作業,要找出28號同學的,我們很可能會先拿開上面半疊,從中間開始找。 或者如...

鐵人賽 自我挑戰組 DAY 12

技術 【第十二天 - 遞迴介紹】

Q1. 遞迴 (recursive) 是什麼? 遞迴是一種解題的方法,主要是透過「重複呼叫自身程式碼」,將大問題切成小問題來找到解答 提到 recursive...

鐵人賽 Software Development DAY 1

技術 【Day1】資料結構 + 演算法

程式設計中資料結構與演算法是非常重要的兩大項目,彼此之間都會影響程式的運作。 資料結構 電腦在儲存資料時,會儲存在電腦的記憶體中,而資料可以有不同的儲存與組織...

鐵人賽 自我挑戰組 DAY 11

技術 【第十一天 - Two-pointer 題目分析】

先簡單回顧一下,今天預計分析兩個題目: Remove Duplicates from Sorted Array Two Sum II - Inpu...

鐵人賽 自我挑戰組 DAY 10

技術 【第十天 - Two-pointer 介紹】

Q1. Two-pointer 是什麼? 我個人認為雙指標 ( Two-pointer ) 比較像寫題目的技巧,一些演算法也會用到雙指標的概念,例如昨天介紹到...

鐵人賽 自我挑戰組 DAY 9

技術 【LeetCode】Linked List

能夠完賽的人是鬼吧本文會提到做 singular linked list 常犯錯誤、如何避免,與常見的技巧。此系列 Leetcode 篇不介紹基本資料結構。 常...

鐵人賽 自我挑戰組 DAY 9

技術 【第九天 - Quick Sort 題目分析】

先簡單回顧一下,今天預計分析的題目: 題目敘述: 題目連結:https://leetcode.com/problems/sort-an-array/ 會...

鐵人賽 自我挑戰組 DAY 8

技術 【第八天 - Quick Sort 介紹】

Q1. Quick Sort是什麼 與前天介紹的 bubble sort 一樣,是一種計算排序的方法,但是此種演算法比起 bubble sort 平均所花費...

鐵人賽 自我挑戰組 DAY 7

技術 【第七天 - Bubble Sort 題目分析】

先簡單回顧一下,今天預計分析的題目: 如何利用 Bubble sort 進行排序? 我們要將下圖六個數字進行從小到大的排序 我們現...

鐵人賽 自我挑戰組 DAY 6

技術 【第六天 - Bubble Sort 介紹】

Q1. Bubble Sort 是什麼? 一種排序方式,bubble sort 是透過兩兩相比,將正確順序逐漸往後/往前放。每次跑完一次全部數字比對,就會有...

鐵人賽 自我挑戰組 DAY 5

技術 【第五天 - Queue 題目分析】

先簡單回顧一下,今天預計分析的題目: 如何利用兩個 stack 完成 Queue 的概念? 邏輯很簡單,如下: 先準備兩個 stack 的盒子 (...

鐵人賽 自我挑戰組 DAY 4

技術 【第四天 - Queue 介紹】

Q1. Queue是什麼? 與 Stack 一樣,是一種資料結構的概念,假設有一個容器是裝馬克杯的盒子 (從這個盒子下方拿東西,有點類似飲水機旁邊會放的下落式...

鐵人賽 自我挑戰組 DAY 3

技術 【第三天 - Stack 題目分析】

先簡單回顧一下,今天預計分析的題目: Valid Parentheses 昨天問到,如果 ([)] 是錯誤的,那什麼是正確的 ? 你寫 (...

鐵人賽 自我挑戰組 DAY 2

技術 【第二天 - Stack 介紹】

Q1. Stack 是什麼 一種資料結構的概念,假設有一個容器是裝馬克杯的盒子 (這個盒子下面是封死的,無法拿東西) 現在第一步有小明、小美、...

技術 Ruby、演算法學習心得(一) 二元搜尋法 Binary Search。

鐵人賽結束後一陣空虛??文章內容都會以Ruby來撰寫程式碼,然後繼續來傳教K-POP啦! 有請韓國國民妹妹IU來獻唱第一首! 轉載於:Jaxirius個人Yo...

鐵人賽 自我挑戰組 DAY 1

技術 【第一天 - Leetcode 介紹】

Q1. 什麼是 Leetcode ? Leetcode 是一個線上練程式網站,收集了許多軟體工程師面試考古題 許多軟體公司在面試時會給你題目,讓你思考如何解決...

鐵人賽 自我挑戰組 DAY 2
一個月的演算法挑戰 系列 第 2 篇

技術 Day02:空間複雜度

今天來聊聊,空間複雜度(Space Complexity) 空間複雜度,空間指的是在執行程式碼時所耗費的記憶體容量。空間複雜度與時間複雜度的表示方式相同,都用B...