iT邦幫忙

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

技術 【Day24】[演算法]-希爾排序法Shell Sort

希爾排序法(Shell Sort)是插入排序(Insertion Sort)的改良版。可減少插入排序的資料搬移次數,加入了間距(Gap)的概念將資料分成多個小區...

鐵人賽 自我挑戰組 DAY 22

技術 Day 22:貪婪演算法(2)

上一回寫到大部分貪婪演算法並非永遠正確,那哪些問題適合用它來解呢? 最佳子結構 貪婪演算法既是在過程中不斷地尋求局部最佳解,換句話說,它也就適合解決有辦法透過局...

鐵人賽 Software Development DAY 23

技術 【Day23】[演算法]-插入排序法Insertion Sort

插入排序法(Insertion Sort),原理是逐一將原始資料加入已排序好資料中,並逐一與已排序好的資料作比較,找到對的位置插入。例如:已有2筆排序好資料,將...

鐵人賽 自我挑戰組 DAY 21

技術 Day 21:貪婪演算法(greedy algorithm)

之前寫到過分治法,它並不是單一個演算法,而是許多演算法設計的基礎。同理,貪婪演算法也是一種設計模式。這類演算法的作法是,在每一個階段選擇當前最佳解,並以此達到整...

鐵人賽 自我挑戰組 DAY 20

技術 Day 20:Dijkstra演算法

先前我們利用廣度優先搜尋,找到圖中兩節點之間的最短路徑,其中所謂「最短」是指「經過最少的邊」。可是這樣的路徑卻未必是最快路徑,因為現實生活中不會每條路徑的距離或...

鐵人賽 Software Development DAY 22

技術 【Day22】[演算法]-選擇排序法Selection Sort

選擇排序法(Selection Sort),原理是反覆從未排序數列中找出最小值,將它與左邊的數做交換。可以有兩種方式排序,一為由大到小排序時,將最小值放到末端;...

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

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

鐵人賽 自我挑戰組 DAY 19

技術 Day 19:深度優先搜尋(DFS)與拓樸排序(topological sorting)

深度優先搜尋(depth-first search, DFS)是一種搜尋整張圖所有節點的演算法。它的名稱也表達出跟廣度優先搜尋的順序不太一樣,它是從根節點(樹的...

鐵人賽 Software Development DAY 21

技術 【Day21】[演算法]-排序Sort & 氣泡排序法Bubble Sort

排序(Sorting) 排序(Sorting)在電腦領域中是非常普遍且重要工作,即是將一群不規格的資料按照某個規格來重新排列,讓排序過的資料容易閱讀、利於統計整...

鐵人賽 自我挑戰組 DAY 18

技術 Day 18:廣度優先搜尋(BFS)

上一回提到廣度優先搜尋的步驟是檢查圖中節點,並將與其相連的節點放入佇列中,再一一檢查。 光是這樣的文字描述,可能感覺只是線性地檢查所有節點,但其實廣度優先搜尋的...

鐵人賽 自我挑戰組 DAY 30

技術 【第三十天 - 結論】

本系列文章複習了一些業界常考演算法 從中也一再的複習/整理自己所學,釐清一些概念,希望大家經過一系列的文章,都能有所收穫,再次提醒,建議練習題目時,除了...

鐵人賽 自我挑戰組 DAY 17

技術 Day 17:圖與演算法

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

鐵人賽 自我挑戰組 DAY 29

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

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

鐵人賽 Software Development DAY 14

技術 【在廚房想30天的演算法】Day 14 演算法 : 排序 sort I 氣泡、選擇、插入

Aloha~!又是我少女人妻 Uerica!今天終於可以進入到演算法的章節啦 (歡呼) ~ 之前因為從沒碰過演算法,在整理和學習的時候發現大家都從資料結構開始提...

鐵人賽 影片教學 DAY 29

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

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

鐵人賽 自我挑戰組 DAY 28

技術 【第二十八天 - 系統設計 介紹】

Q1. 系統設計 是什麼 在業界基本上都是團隊開發專案,每個人負責實作部分功能,而 Leetcode 會列出典型的系統設計,學會看到問題時,會使用什麼方式實...

鐵人賽 自我挑戰組 DAY 27

技術 【第二十七天 - Dijkstra 題目分析】

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

鐵人賽 自我挑戰組 DAY 26

技術 【第二十六天 - Dijkstra 介紹】

Q1. Dijkstra 是什麼? 一種利用 Dynamic Programming ,與 Floyd-Warshall 一樣,是求 Graph 中兩點之間...

鐵人賽 自我挑戰組 DAY 25

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

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

鐵人賽 自我挑戰組 DAY 24

技術 【第二十四天 - Floyd-Warshall介紹】

Q1. Floyd-Warshall 是什麼 一種利用 Dynamic Programming ,求 Graph 中兩點之間最短路徑的演算法。 考慮 A, B...

鐵人賽 自我挑戰組 DAY 9

技術 【Day 09】Sorting:Bubble Sort 氣泡排序法 ( 用 JavaScript 學演算法 )

氣泡排序法是,從第一個元素開始,和相鄰數字比大小,若有需要就交換位置。因此也可稱為交換排序法。它的時間複雜度是 O(n^2)。 一、步驟觀察 遍歷未排序...

鐵人賽 自我挑戰組 DAY 11

技術 Day 11:合併排序(mergesort)

合併排序(merge sort 或 mergesort)是另一種採用分治法的排序演算法。它的步驟是: 分割:用遞迴的方式,將長度為n的數列分成兩半,直到子數列...

鐵人賽 自我挑戰組 DAY 23

技術 【第二十三天 - DFS 題目分析】

先簡單回顧一下,今天預計分析的題目: 112. Path Sum 題目連結:https://leetcode.com/problems/path-sum...

鐵人賽 自我挑戰組 DAY 8

技術 【Day 08】Sorting:Selection Sort 選擇排序法 ( 用 JavaScript 學演算法 )

選擇排序法的概念是,將陣列分為兩個部分,每次掃描未排序的部分時,從數列中拿出最小的數,丟到另一邊,最後就會得到一個完成排序的陣列。它的時間複雜度是 O(n^2...

鐵人賽 自我挑戰組 DAY 10

技術 Day 10:快速排序(quicksort)

看完了分治法與遞迴,再來看這樣的方法如何解決排序問題。 快速排序是一種利用分治法的演算法,比前面提到的排序方法都要快速許多,有些程式語言的函式庫也直接包含了快速...

鐵人賽 自我挑戰組 DAY 7

技術 【Day 07】Sorting:Insertion Sort 插入排序法 ( 用 JavaScript 學演算法 )

插入排序法是將陣列中未排序的元素,逐一與排序好的資料作比較。它的時間複雜度是 (O(n^2))。 一、步驟觀察 標記第一個元素作為已排序的部分 遍歷未排...

鐵人賽 自我挑戰組 DAY 22

技術 【第二十二天 - DFS 介紹】

Q1. DFS 是什麼 Depth-First Search (DFS) 是一種走訪 Graph 的策略,以深度優先,只要遇到能走的路,就先繼續往下走,直...

鐵人賽 AI & Data DAY 7

技術 Day 7: 人工智慧在音樂領域的應用 (有趣的AI演算法一)

前面幾天我們講完了AI經過了幾次大起大落,最後在AlphaGo一戰封神後被推向最高端,機器學習/深度學習成為人人所追逐的技術。 但如同我們前面一再強調的: 機器...

鐵人賽 自我挑戰組 DAY 9

技術 Day 09:遞迴(2)

上一回我們看到,同樣的跨年倒數任務,可以用迴圈或遞迴的方式完成。 用迴圈通常可以看到某個變數(例如i)記錄著重複執行的次數,可是遞迴的寫法往往更簡潔,好像我們只...

鐵人賽 自我挑戰組 DAY 6

技術 【Day 06】LeetCode:Two Sum ( 用 JavaScript 學演算法 )

我們繼續透過 LeetCode #1 Two Sum 來實際感受解決問題的過程 ( 題目連結 ) 一、理解題目 輸入:一個 nums[] 和 target 找...