iT邦幫忙

演算法相關文章
共有 302 則文章
鐵人賽 Modern Web DAY 8

技術 Trick 7: 追著主角跑的攝影機大哥

若說有一個隱藏在畫面背後,卻掌管著遊戲躍動的重要舵手,那指的就是遊戲的攝影機了。攝影機的操作和性能,除了直接連結了視覺效果,也可能影響角色的操縱性,甚至改變玩家...

鐵人賽 Modern Web DAY 6

技術 Trick 5: 旋轉角度的靠近演算法

昨天我們講到靠近演算法,應用這個演算法,可以讓一個數值以一個速率持續接近目標值,套用在畫面上的元件,就能將原本死硬的畫面變成滑順的視覺效果。 那麼我們能用同樣的...

鐵人賽 Software Development DAY 1

技術 前言

這是我第一次想參加鐵人30天,畢業後工作了3年左右,覺得工作上想要再進修自己不足的部份,於是開始研讀以前大學時代沒有認真學習的演算法科目。不讀還好,一讀就確確實...

鐵人賽 Modern Web DAY 5

技術 Trick 4: 你可以再靠近一點…演算法

路邊撿來的偏方 在小哈剛開始接觸遊戲程式設計的時候,偶然看到了這一小段程式碼,在感佩之餘,小哈也在往後的日子將這個方法應用於各式遊戲的開發之中。 hpbar.w...

鐵人賽 Modern Web DAY 4

技術 Trick 3: 火焰傷害的頻率管理

身為冒險者的你,如果不小心闖入遊戲中的森林火海因而引火上身,那麼就會持續受到燒傷的傷害。不過另人好奇的是,即使受到四面八方無數的火焰轟擊,被燒傷的人物仍然只固定...

鐵人賽 Modern Web DAY 3

技術 Trick 2: 迷你四輪車演算法

自幼時玩過迷魂車之後,心中就埋下了一個製作開車遊戲的夢想。不過長大後開始寫遊戲,卻一直沒花時間想通這個四輪車前輪轉後輪不轉的運動軌跡,到底要如何不藉助物理引擎的...

鐵人賽 Modern Web DAY 2

技術 Trick 1: 萬惡的摸彩箱

萬惡的抽卡遊戲 玩過手機上的抽卡遊戲嗎? 就是店家的桌上放著一疊蓋起來的角色卡片,每花十元可以抽一張卡,但是抽到的總是那幾張老卡,最可愛的那個角色開了幾十百來張...

技術 軟體職涯談:該去外商媽?東西兩方職場文化的差異分享

Youtube 完整影片連結:https://bit.ly/3ndEWqP iT邦幫忙 的大家好,此次想跟大家分享在我三個工作經驗中:台商、在台外商、美國...

達標好文 技術 【最完整!演算法學習路線圖】(2021 統整版)

大家好~分享 演算法 相關影片到現在也一年多了,這次整理出幾個數據上反響較好的主題給大家,相信能幫助正在此條路上的人。更主要的,是希望能透過清楚的 圖解 概念,...

技術 科普一下顏色在不同空間轉換的意義和演算法

和大家分享一下我在製作遊戲中很常使用的HSB顏色空間。和一般我們用RGB的顏色空間不同,很大一部分的色彩學都是建立在色相上的,這支影片主要就是帶大家看一下這兩個...

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

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

技術 【Day35】[演算法]-常見的演算法策略Algorithmic Patterns

分治法(Divide and conquer) 又稱分而治之法,是最常被使用的策略方式,原理是將一個難以直接解決的大問題,依據相同的概念分割成多個子問題,再各個...

技術 【Day34】[演算法]-費波那契數列Fibonacci Sequence

之前在遞迴的篇章有介紹過費波那契數列,是使用遞迴的方式實作,但是從下面遞迴的樹狀圖來看,會發現有很多重複的節點,遞迴的深度越深,重複計算的節點也就越多,甚至會出...

技術 【Day33】[演算法]-深度優先搜尋DFS與廣度優先搜尋BFS

深度優先搜尋(Depth-First Search,DFS)與廣度優先搜尋(Breadth-First Search, BFS),是可以用來走訪或搜尋樹節點與圖...

技術 【Day32】[演算法]-內插搜尋法Interpolation Search

內插搜尋法(Interpolation Search  ),又稱插補搜尋法,是二分搜尋法的改良版,二分搜尋法是先找出中間值,而內插搜尋法是透過斜率公式來估出資料...

鐵人賽 自我挑戰組 DAY 30

技術 Day 30:寫在不怕演算法之後

如果說演算法讓人以更好的方法解決問題,那麼對於以程式解決問題的人而言,演算法理當能讓我們寫出更好的程式。所以隨著鐵人賽來到了終點,經過了沐浴在演算法光輝中的一個...

技術 【Day31】[演算法]-二分搜尋法Binary Search

二分搜尋法(Binary Search ),在執行前有一項必須條件,資料列需要是已排序好的狀態,因此若資料龐大且未排序,需要先搭配使用前面幾天介紹的排序法,再來...

鐵人賽 自我挑戰組 DAY 29

技術 Day 29:K-近鄰演算法(k-nearest neighbors)

K-近鄰演算法是一個以已知的資料作為輸入,為資料進行分類的演算法,在日常生活中有非常多應用。 舉例來說,假設我們想要幫一些不知道是章魚還是烏賊的動物分類,我們依...

鐵人賽 自我挑戰組 DAY 28

技術 Day 28:Diffie–Hellman演算法

一路到了鐵人賽最後階段,最後寫兩個完全不同但都蠻有趣的演算法。 我們之前寫到SHA家族演算法可以用來為資料加密,今天的演算法也跟加密有關,不過並不是直接用來改變...

鐵人賽 Software Development DAY 30

技術 【Day30】[演算法]-線性搜尋法Linear Search

搜尋(Search) 就是從一群資料中找出符合某些條件的資料,當資料量非常龐大時,如何在短時間內有效率地找到所要的資料,因此,搜尋演算法就變得相當重要。 線性...

鐵人賽 自我挑戰組 DAY 27

技術 Day 27:碰到困難問題,演算法也救不了?

上一回我們說旅行推銷員問題(TSP)是一個NP困難問題,沒有快速的演算法可以解決。 那一個問題怎樣叫做「困難」,演算法又要多快才叫做快呢? 如果說所有運算問題有...

鐵人賽 Software Development DAY 29

技術 【Day29】[演算法]-基數排序法Radix Sort

基數排序法(Radix Sort),與前篇的桶排序都是非比較排序,也屬於「分配性」的排序方式,原理依據鍵值排序的方向又分為兩種: LSD(Least Sig...

鐵人賽 自我挑戰組 DAY 26

技術 Day 26:旅行推銷員問題(TSP)

之前在貪婪演算法的文章中有提到,現實生活中並不是所有問題都能用演算法快狠準地解決,有些困難的問題只有非常慢的解法。旅行推銷員問題(travelling sale...

鐵人賽 Software Development DAY 28

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

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

鐵人賽 Software Development DAY 27

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

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

鐵人賽 自我挑戰組 DAY 25

技術 Day 25:動態規劃(dynamic programming)

動態規劃也是一種演算法設計模式,常用來解決最佳化問題。它的方法是將問題(通常是遞迴地)分解成子問題,再以子問題的最佳解組成原問題的最佳解。 這樣的描述看起來完全...

鐵人賽 自我挑戰組 DAY 24

技術 Day 24:霍夫曼編碼(Huffman coding)

這回寫到的霍夫曼編碼是在Algorithms Illuminated Part 3: Greedy Algorithms and Dynamic Program...

鐵人賽 Software Development DAY 26

技術 【Day26】[演算法]-快速排序法Quick Sort

快速排序法(Quick Sort)又稱分割交換排序法,是目前公認效率極佳的演算法,使用了分治法(Divide and Conquer)的概念。原理是先從原始資料...

鐵人賽 自我挑戰組 DAY 23

技術 Day 23:最小生成樹(MST)

貪婪演算法可以解決的一個問題就是找到一張圖中的最小生成樹(minimum spanning tree)。 樹、生成樹與最小生成樹 我們之前提到資料結構中的樹是有...

鐵人賽 Software Development DAY 25

技術 【Day25】[演算法]-合併排序法Merge Sort

合併排序法(Merge Sort)原理是會先將原始資料分割成兩個資料列,接著再將兩個資料繼續分割成兩個資料列,依此類推,直到無法再分割,也就是每組都只剩下一筆資...