iT邦幫忙

algorithm相關文章
共有 358 則文章
鐵人賽 Kotlin DAY 25
Kotlin is all you need 系列 第 25 篇

技術 [Day 25] Backtracking

Backtracking 是一種用於解決組合問題、排列問題和搜索問題的演算法。 它通常用於試圖找到所有可能的解,或者找到滿足特定條件的解。 這個方法是一種遞迴的...

鐵人賽 自我挑戰組 DAY 18

技術 Day-18 深度優先搜尋例題講解

前言 今天有兩題相關題目,一題是最簡單的應用,另一題算是經典題,希望大家可以更熟悉 DFS 的應用與如何撰寫 UVa 441 - Lotto 題目說明 給定多個...

鐵人賽 Kotlin DAY 24
Kotlin is all you need 系列 第 24 篇

技術 [Day 24] Greedy Algorithm — Minimum Spanning Tree / Shortest Path

Minimum Spanning Tree Minimum Spanning Tree 是用來解決與連通圖(Connected Graph)相關的問題。 生成樹...

鐵人賽 自我挑戰組 DAY 17

技術 Day-17 深度優先搜尋

概念 深度優先搜尋是一種圖的走訪方式。以一個圖的例子來解釋:圖上有編號為 到 的節點。如果我們從節點 開始走,我們會先往與節點 相鄰的節點走,然後一直往...

鐵人賽 Kotlin DAY 23
Kotlin is all you need 系列 第 23 篇

技術 [Day 23] Greedy Algorithm — Job Sequencing Problem / Fractional Knapsack Problem

Job Sequencing Problem Job Sequencing Problem 是一個排程問題,通常在生產和製造領域中遇到。目標是在有限的時間內,安...

鐵人賽 Kotlin DAY 17

技術 Day09#2 經典但不實用的氣泡排序

「但妳好像沒提過要我學這個啊?」勇者困惑的說。 「不學演算法和資料結構也可以寫程式。」蕭凱琪不在意地擺擺手,但勇者還是一臉不相信,所以只好說出來差別:「⋯⋯但如...

鐵人賽 Kotlin DAY 22
Kotlin is all you need 系列 第 22 篇

技術 [Day 22] Greedy Algorithm — Activity Selection Problem / Huffman Coding

Activity Selection Problem Activity Selection Problem 通常用於時間表排程或資源分配。 該問題要求在一組互相...

鐵人賽 自我挑戰組 DAY 16

技術 Day-16 二分搜尋例題講解

前言 今天講解兩題相關題目,希望大家可以透過題目更加瞭解二分搜尋使用時機 TOJ 47 / PB magic spell 題目說明 簡單來說有多筆詢問,要找出詢...

鐵人賽 自我挑戰組 DAY 15

技術 Day-15 二分搜尋

概念 二分搜尋是一種在已經排序過的資料中快速找到目標資料的高效率的演算法。這個方法建立在一個基本的觀念上:將資料集一分為二,然後根據目標資料與中間元素的大小比較...

鐵人賽 Kotlin DAY 21
Kotlin is all you need 系列 第 21 篇

技術 [Day 21] Greedy Algorithm

Greedy Algorithm Greedy Algorithm 是一種常見的演算法設計方法,通常用於求解最佳化問題。 它的基本思想是在每一步都做出當前看起來...

鐵人賽 自我挑戰組 DAY 14

技術 Day-14 學習資源分享

前言 今天是中秋節,所以就分享一些學習資源以供大家自學、參考,以下資源皆為免費內容,請安心服用 講義 以下是我過去所使用過的學習資源,有些因為難度太高半途而廢,...

鐵人賽 Kotlin DAY 20
Kotlin is all you need 系列 第 20 篇

技術 [Day 20] Dynamic Programming — Matrix Chain Multiplication / Edit Distance

Matrix Chain Multiplication Matrix Chain Multiplication 通常是在計算機科學和數學中討論的,其目標是找到一...

鐵人賽 自我挑戰組 DAY 13

技術 Day-13 遞迴例題講解

前言 今天講解三題相關題目,希望大家可以透過這三題更加瞭解遞迴形式的使用方式及時機 UVa 834 - Continued Fractions 題目說明 簡單來...

鐵人賽 Kotlin DAY 19
Kotlin is all you need 系列 第 19 篇

技術 [Day 19] Dynamic Programming — Coin Change Problem / Rod Cutting Problem

Coin Change Problem 如何以最少的硬幣數量來湊出特定金額的錢。 這個問題可以用簡單的方式描述如下: 假設我們有一些不同面額的硬幣,每種面額的硬...

鐵人賽 Kotlin DAY 18
Kotlin is all you need 系列 第 18 篇

技術 [Day 18] Dynamic Programming — Longest Increasing Subsequence / 0-1 Knapsack Problem

Longest Increasing Subsequence Longest Increasing Subsequence 是在一個數字序列中找到一個具有最大長...

鐵人賽 自我挑戰組 DAY 12

技術 Day-12 遞迴

概念 有些人認為遞迴僅是在運行過程中,直接或間接地持續呼叫自己的一個函式。 然而,我認為遞迴的基本概念更深入,它是一種將一個大問題分解成多個子問題的方法,並透過...

鐵人賽 Kotlin DAY 17
Kotlin is all you need 系列 第 17 篇

技術 [Day 17] Dynamic Programming — Fibonacci Sequence / Longest Common Subsequence

Dynamic Programming Dynamic Programming 是一種在計算機科學和數學中常用的問題解決方法。 它的主要策略是將一個複雜的問題拆...

鐵人賽 自我挑戰組 DAY 11

技術 Day-11 排序例題講解

前言 今天帶三題題目,希望大家可以經過這三題的練習更加瞭解排序演算法與在競賽、解題中的使用 UVa 10327 - Flip Sort 題目說明 白話來說就是要...

鐵人賽 自我挑戰組 DAY 10

技術 Day-10 排序 II

前言 昨天介紹一些比較基本的排序演算法,今天介紹進階的排序演算法與 C++ 內更方便使用的函式 更快的排序 以下的排序法會利用一些遞迴或是其他技巧來避免掉許多不...

鐵人賽 Kotlin DAY 16
Kotlin is all you need 系列 第 16 篇

技術 [Day 16] Graph — Prim's Algorithm / Kruskal's Algorithm

補一下前幾天的演算法類型 ~ Single Source Shortest Paths Single Source Shortest Paths 是圖論和計算...

鐵人賽 Kotlin DAY 15
Kotlin is all you need 系列 第 15 篇

技術 [Day 15] Graph — Bellman-Ford Algorithm / Floyd-Warshall Algorithm

Bellman-Ford Algorithm Bellman-Ford 演算法是一種用於解決最短路徑問題的演算法,可以處理包含負權重邊的圖。 演算法 初始化...

鐵人賽 自我挑戰組 DAY 9

技術 Day-9 排序 I

為何學排序? 排序為最基本也最容易上手也最泛用的演算法,解題方面有時候如果將資料排序過也會更容易解題或是大大降低時間複雜度,因此,如何更快的排序資料就成為了我們...

鐵人賽 Kotlin DAY 14
Kotlin is all you need 系列 第 14 篇

技術 [Day 14] Graph — Topological Sort / Dijkstra's Algorithm

Topological Sort Topological Sort 是一種在有向無環圖(DAG)中對節點進行排序的算法。 它通常應用於解決依賴關係的排序問題,例...

鐵人賽 自我挑戰組 DAY 8

技術 Day-8 演算法概念

概念 首先,讓我們使用一個不太常見的比喻來解釋演算法的概念。我們將繼續以拉麵為例,製作一碗美味的拉麵需要經過多個步驟,例如製麵、熬湯、煮麵、製作叉燒和添加配料等...

鐵人賽 Kotlin DAY 13
Kotlin is all you need 系列 第 13 篇

技術 [Day 13] Graph — Breadth First Search / Depth First Search

Graph 圖(Graph)是一種用來表示物件之間關係的數據結構。 它由節點(或稱為頂點)和邊組成,節點代表物件,而邊則代表這些物件之間的關係。 圖可分為有向圖...

鐵人賽 Kotlin DAY 12
Kotlin is all you need 系列 第 12 篇

技術 [Day 12] Tree — Red-Black Tree

Red-Black Tree Red-Black Tree 是一種自平衡二叉搜索樹,用於數據結構中的排序和檢索操作。它於樹中節點的顏色標記,以確保樹的平衡性。...

鐵人賽 Kotlin DAY 11
Kotlin is all you need 系列 第 11 篇

技術 [Day 11] Tree — Binary Search Tree / AVL Tree

Tree 在第 7 天的文章中,我們介紹了 Tree。 Tree(樹)是一種資料結構,是具有樹狀結構性質的資料集合。 接下來我們要介紹兩種不同類型的樹。 Bin...

鐵人賽 Kotlin DAY 10
Kotlin is all you need 系列 第 10 篇

技術 [Day 10] Sorting — Counting Sort / Radix Sort / Bucket Sort

有了昨天的介紹後,我們今天來介紹它們的演算法! Counting Sort Counting Sort 是一種用於排序一組數字的演算法,它主要適用於範圍較小的非...

鐵人賽 Kotlin DAY 9
Kotlin is all you need 系列 第 9 篇

技術 [Day 9] Sorting — Specific data range

在介紹 Counting Sort、Radix Sort、Bucket Sort 之前,我們必須理解它們與之前提到的排序不同之處 不依賴比較操作:Counti...

鐵人賽 Kotlin DAY 8
Kotlin is all you need 系列 第 8 篇

技術 [Day 8] Sorting — Quick Sort / Heap Sort

今天我想來點 CLRS 我們會透過 Introduction to Algorithms 來講解 Quick Sort 和 Heap Sort Quick S...