iT邦幫忙

演算法相關文章
共有 330 則文章

技術 【紅黑樹十講・參】紅黑樹新增・四大規則介紹・完整圖解步驟

Youtube連結:https://bit.ly/3inN3zI 紅黑樹的新增觀念,涵蓋「旋轉」與「顏色」兩樣重要操作,總計共有四種新增處理狀況,並且彼此...

技術 Boyer-Moore字串搜尋演算法

從後面往前面比對 text = 'QQQA23B23' pattern = 'B23' # 長度 n = len(text) m = len(pattern)...

鐵人賽 Software Development DAY 9

技術 Day 8 BO5-5 - Recursion

Recursion 的定義是一個會呼叫自己的函式。 Recursion 技巧在很多地方都有用到,例如: JSON.stringify & JSON....

鐵人賽 自我挑戰組 DAY 4

技術 【Day 04】LeetCode:Fizz Buzz ( 用 JavaScript 學演算法 )

我們透過 LeetCode #412 Fizz Buzz 來實際感受解決問題的過程 ( 題目連結 ) 一、理解題目 輸入:一個正整數 從 1 到 n,依序判斷...

鐵人賽 自我挑戰組 DAY 6

技術 Day 06:選擇排序(selection sort)

先前看到了常見執行時間的圖形,線條越平代表演算法速度越快,越陡則代表越慢。 我們會發現O(log n)的二分搜尋其實算是數一數二快速的演算法,不過二分搜尋的條件...

鐵人賽 自我挑戰組 DAY 25

技術 【第二十五天 - Floyd-Warshall 題目分析】

先簡單回顧一下,今天預計分析的題目: 題目連結:https://leetcode.com/problems/find-the-city-with-the...

鐵人賽 自我挑戰組 DAY 29

技術 【第二十九天 - 系統分析 題目分析】

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

鐵人賽 Software Development DAY 1

技術 [Day 1] 不是在摸魚,但認識環境真的很重要

對於軟體工程師來說,演算法絕對是很重要的。既然早晚都要學,不如就趁早開始面對它吧(所謂早死早超生) 這系列文章主要是 LeetCode 的解題筆記,每天會有一些...

鐵人賽 Software Development DAY 10

技術 Day 9 絕命雙排 - Linear Search & Binary Search

Linear Search Linear Search 非常常見,甚至在學迴圈時就已經用過了。以下直接給範例練習! Practice - Linear Sear...

鐵人賽 Software Development DAY 6

技術 Day 6. Linked List -鏈結串列

Linked List (鏈結串列)◝( ゚∀ ゚ )◟ 介紹完Array接下來來看Linked List,他們可以算是好兄弟常常會一起被提到呢!陣列是屬於靜態...

技術 資料結構與演算法(筆記)

一、資料結構的定義"資料結構與演算法"是程式設計最佳化的”方法論” 名詞解釋:資料:未經處理的文字、數字、符號、模型資訊:以特定方法有系統的...

鐵人賽 Software Development DAY 18

技術 Day 17 切出去合進來 升職發大財 - Merge Sort

Merge Sort 是一種透過切分資料再一一合併的排序演算法。 Merge Sort 有使用到 Divide and Conquer 與 Recursion...

鐵人賽 自我挑戰組 DAY 17

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

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

鐵人賽 Software Development DAY 3

技術 Day 2 哎呀這什麼水平 - 時間與空間複雜度

在 Day 1 我們講到的複雜度表示都是指時間複雜度,在輸入的參數越多越大的情況下,所要執行的步驟(執行所需花費的時間)的增長趨勢。 我們也可以使用 Big O...

鐵人賽 Software Development DAY 11

技術 Day 11. Queue的製作與種類

昨天介紹了用array的方式做Queue,今天來介紹用linked list製作! [法二]用linked list製作 一、single linked lis...

鐵人賽 自我挑戰組 DAY 17

技術 Day 17:圖與演算法

有一些演算法是在圖(graph)上操作,我們可以先想一些實際的例子,例如: 開車的時候,使用導航系統找到最短路徑抵達目的地。 下棋的程式知道如何利用最少...

鐵人賽 自我挑戰組 DAY 21

技術 【第二十一天 - Graph 題目分析】

先簡單回顧一下,今天預計分析的題目: 997. Find the Town Judge 題目連結:https://leetcode.com/proble...

技術 【演算法新手村】筆記01 - 初識二分之二分搜尋

作為大多數人一開始學程式就學到的搜尋演算法,不過多引入介紹,這邊主要提一些基本概念 線性搜尋法 Linear Search 又稱循序搜尋法,這是最直觀的方法(把...

技術 【演算法新手村】[初階]筆記04 - 前綴和(一維)

首先我們要引入一個問題,我要求一個陣列中從頭到某一項的和要怎麼辦呢? 這邊默認第幾項都是口語上的用法,也就是首項是第 1 項 你會說簡單啊,直接遍歷陣列不...

技術 LeetCode 35. Search Insert Position

筆記: 【演算法新手村】[初階]筆記02 - 初識二分之常見問題 題目翻譯(by Gemini) 給定一個已排序且元素皆不重複的整數陣列,以及一個目標值(ta...

鐵人賽 影片教學 DAY 29

技術 [Day-29] R語言 - 分群其他演算法 ( Clustering other Algorithms )

您的訂閱是我製作影片的動力訂閱點這裡~ 若內容有誤,還請留言指正,謝謝您的指教

技術 LeetCode 69. Sqrt(x)

筆記: 【演算法新手村】[初階]筆記03 - 二分練習題 題目翻譯(by Gemini) 給定一個非負整數 x,回傳 x 的算術平方根,並無條件捨去至最接近的...

技術 【演算法新手村】[初階]筆記02 - 初識二分之常見問題

前置知識:【演算法新手村】[初階]筆記01 - 初識二分之二分搜尋配合使用效果更佳喔XD 二分搜尋的題目有不少,這邊講一些簡單的(難的跳過,請新手上路者放心食...

技術 LeetCode 162. Find Peak Element

筆記: 【演算法新手村】[初階]筆記03 - 二分練習題 題目翻譯 所謂的峰值元素(Peak Element),是指一個其值嚴格大於左右鄰居的元素。給定一個下...

鐵人賽 自我挑戰組 DAY 11
30天演算法解題 系列 第 11

技術 Day 11:palindrome check

problem 輸入為一個不為空的字串,回傳該字串是否為回文 (palindrome)。所謂回文是指從前到後和從後到前寫法一樣的字串,只有一個字元的字串也是回文...

鐵人賽 自我挑戰組 DAY 9
30天演算法解題 系列 第 9

技術 Day 09:monotonic array

problem 輸入為一陣列,回傳陣列是否為單調陣列 (monotonic array)。 單調陣列有兩種情況:陣列為單調遞增 (非遞減),或單調遞減 (非遞增...

技術 【演算法新手村】[初階]筆記03 - 二分練習題

書接上回:【演算法新手村】[初階]筆記02 - 初識二分之常見問題 二分答案會有點困難,可以多思考,只要能掌握那怕毛皮,那你也是終於"略懂&quot...

技術 打磚塊:球磕到角角的碰撞與反彈

打磚塊可能是很多老師給初學程式的學生的第一個練習專案,雖然我以前沒經過這個階段,但還是來分享一下和打磚塊相關的演算法以及使用Typescript實作的Live...

鐵人賽 自我挑戰組 DAY 29
30天演算法解題 系列 第 29

技術 Day 29:invert binary tree

problem 輸入為一個二元樹,將它左右反轉後回傳。 二元樹如下結構,每一個 BinaryTree 節點有一個整數值 value,左子節點 left,右子節點...

技術 【圖解演算法】【Hash】 LeetCode 459 Repeated Substring Pattern

Question link: https://leetcode.com/problems/repeated-substring-pattern/ class S...