iT邦幫忙

演算法相關文章
共有 302 則文章
鐵人賽 影片教學 DAY 5

技術 "課綱" 從零開始搞懂,寫程式, 資料結構, 演算法, 物件導向

這一集沒什麼ho就只是課綱,方便大家建立接下來 有點硬的內容的架構 不過請放心,我講的都會讓他很簡單的 基礎語法 變數 資料型態 運算符號 陣列 Condi...

鐵人賽 Software Development DAY 18

技術 [演算法] 深度優先搜尋 (Depth-first Search)

還記得之前有討論過的列舉法嗎?今天我們來做個延伸。 之前的列舉法是將用 for 迴圈的方式,一層一層的舉出所有的可能,然後將所有舉出的可能和我們所設定的條件相比...

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

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

達標好文 技術 Week11 - 讓遞迴的Stack永遠不會爆炸的「尾遞迴」真的有那麼神奇嗎 - 尾遞迴篇 [高智能方程式系列]

本文章同時發佈於: Medium iT邦幫忙 大家好,最近因為有一位朋友提到尾遞迴,說這個優化技術「可以讓遞迴跑個一百萬次都沒問題」,驚呆的我,就花...

鐵人賽 Software Development DAY 28
從LeetCode學演算法 系列 第 28

技術 [Day 28] 從LeetCode學演算法 - 0189. Rotate Array (Easy)

目標:這題主要目的同樣是協助讀者熟悉陣列操作。 原題: Question: Given an array, rotate the array to the ri...

鐵人賽 自我挑戰組 DAY 10

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

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

鐵人賽 Software Development DAY 30

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

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

鐵人賽 開發技術 DAY 7

技術 [Day07] 30天挑戰演算法 - 配對之合

題目來源:Two Sum 問題: 給一個陣列和一個 目標數字,試著從這陣列中找出兩個數字,並且這兩個數字的 和 會等於 目標數字。 此外陣列的 index 從...

鐵人賽 Software Development DAY 5

技術 [One Punch 一拳搞定前後端面試] DAY-05 - FizzBuzz

FizzBuzz 問題 給一個整數 n請列印出 1~n 的每一個整數,但是 當整數可以被 3 整除的時候印出 Fizz 來代替原本要印出的數, 當整數可以被 5...

鐵人賽 開發技術 DAY 12
連續30天,挑戰演算法 系列 第 12

技術 [Day12] 30 天挑戰演算法 - 從已排序的 list 中刪除有重複值的節點

題目來源:Remove Duplicates from Sorted List 問題: 給予一個已排序過的 Linked List, 請試著刪除所有重複值的節點...

鐵人賽 Software Development DAY 1

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

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

鐵人賽 開發技術 DAY 3

技術 [Day03] 股市中最佳買賣時機-I

題目來源:[LeetCode Online Judge] 問題: 假設你有一個陣列,該陣列第 i 個元素代表第 i 天股票的價格,並且你指有一次買賣的機會,請設...

技術 [筆記本: 演算法] Line Segment Intersection 線段交叉判斷

線段交叉判斷方法 線性函數 初等數學方法以多項式函數的方式找出交叉點,換句話說,如果找得出交叉點即兩線段交叉。 算法 當p、q皆存在時應符合 與 如果p...

鐵人賽 Software Development DAY 17

技術 [守] 你需要的是資料結構, 演算法與物件導向概念的加持

之前有說過我們團隊每週會刷leetcode,幾乎1000題內都是在考資料結構+演算法,資料結構像是你身上裝備的武器,而演算法則是你真正的武功。而物件導向/設計模...

鐵人賽 Software Development DAY 27
從LeetCode學演算法 系列 第 27

技術 [Day 27] 從LeetCode學演算法 - 0096. Unique Binary Search Trees (Medium)

目標:這題主要目的在於再進一步引導讀者去思考如何做出一個適合dp的鏈結關係。 原題: Question: Given n, how many structura...

鐵人賽 Software Development DAY 13
從LeetCode學演算法 系列 第 13

技術 [Day 13] 從LeetCode學演算法 - 0092. Reverse Linked List II (Medium)

目標:這題主要目的在於理解常見的資料結構:堆疊(Stack),同時也會處理常見的Linked List。 原題: Question: Reverse a lin...

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

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

技術 [Google Code Jam] C++ Trouble Sort 麻煩排序

前言 這是Google的第二題,這題跟上一題比起來簡易了許多,主要使用排序功能。我國文造詣真的很差,打篇文章都筆寫程式還久了有點慘...請見諒。原題目 題目 C...

鐵人賽 Software Development DAY 19
從LeetCode學演算法 系列 第 19

技術 [Day 19] 從LeetCode學演算法 - 0124. Binary Tree Maximum Path Sum (Hard)

目標:這題主要目的在於進階探索Tree較複雜的問題。 原題: Question: Given a non-empty binary tree, find the...

鐵人賽 Software Development DAY 29
從LeetCode學演算法 系列 第 29

技術 [Day 29] 從LeetCode學演算法 - 0198. House Robber (Easy)

目標:這題主要目的在於幫助讀者熟悉具備不確定條件的DP題目。 原題: Question: You are a professional robber plann...

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

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

鐵人賽 Software Development DAY 20
從LeetCode學演算法 系列 第 20

技術 [Day 20] 從LeetCode學演算法 - 0111. Minimum Depth of Binary Tree (Easy)

目標:這題主要目的在於讓讀者更清楚樹的深度(depth)的觀念。 原題: Question: Given a binary tree, find its min...

鐵人賽 自我挑戰組 DAY 18

技術 【第十八天 - Binary Tree介紹】

Q1. binary tree 是什麼 二元樹 (binary tree) 是一種資料結構,應用非常廣泛,是資訊人必學的基礎概念 二元樹是圖論中的一種樹,這種...

技術 【最完整!演算法學習路線圖】 入門|介紹|教學|LeetCode|資料結構

Youtube連結:https://bit.ly/2L88JSm 這次我們將精確定位出,在整個演算法學習中,我們所站立的位置;了解資料結構與演算法的定義後...

技術 [Google Code Jam] C++ Cubic UFO 不明立體飛行物

前言 這道題目第一個測資比較簡單,但第二個測資我很堅持求公式解但還是失敗了,但至少有得到角度,還好最後發現官方提供一些訊息(比賽結束的解析),但發現其實題目就有...

鐵人賽 自我挑戰組 DAY 15

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

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

鐵人賽 自我挑戰組 DAY 6

技術 希爾排序法(Shell Sort)

希爾排序法其實是優化版的插入排序法,插入排序法只能跟左方一個數值比對,而希爾排序法則是先取一個Gap值作為選取左方數值的間隔值,然後進行比對排序,而Gap在每...

技術 【圖解演算法教學】一次搞懂「資料結構」與「演算法」到底是什麼?

Youtube連結:https://bit.ly/35x3dih 這次我們將精確定位出,在整個演算法學習中,我們所站立的位置;了解資料結構與演算法的定義...

鐵人賽 Software Development DAY 22
從LeetCode學演算法 系列 第 22

技術 [Day 22] 從LeetCode學演算法 - 0062. Unique Paths (Medium)

目標:這題主要目的在於進一步講解需要二維陣列輔助解的DP問題。 原題: Question: A robot is located at the top-left...

鐵人賽 Software Development DAY 14

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

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