iT邦幫忙

資料結構與演算法相關文章
共有 268 則文章
鐵人賽 Software Development DAY 29

技術 解題-Dynamic Programming

今天我們來做大家比較害怕的DP問題,我個人做下來發現有幾個步驟可以放我們去比較簡易的解決一個DP問題,大雞可以參考看看。 看看在最一開始你能做甚麼? 有沒有B...

鐵人賽 Software Development DAY 28

技術 解題-Greedy

Greedy的題目我認為是最難寫的,原因是我們如果沒有經過證明,會很難知道這是可行的答案,不過這邊還是找了幾題想讓大家感受一下Greedy演算法的思想。另外,撇...

鐵人賽 Software Development DAY 27

技術 解題-Binary Search

今天我們來看看Binary Search類型的題目吧!還記得當初我們提到Binary Search的時候,會覺得這個演算法也不是特別的難,確實如果說單純搜尋一個...

鐵人賽 Software Development DAY 26

技術 解題–DFS/ BFS

今天我們來看看DFS跟BFS的題目吧! BFS跟DFS的題目有幾件事情要注意一下,這也是我做題下來發現的小技巧。 很多時候DFS跟BFS都是可以解決問題的。...

鐵人賽 Software Development DAY 25

技術 解題-Tree

樹的題目我個人認為也相對簡單的,而且非常非常適合用來練習遞迴思想,有以下的技巧讓大家參考看看。 樹的題目大概7成以上都是用遞迴去思考,要思考的點通常有兩個,分別...

鐵人賽 Software Development DAY 24

技術 解題-Linked List

Linked List的題目相對單純一點,大概就一個技巧就是Two Pointer,因為我們只能單向的尋訪鏈結串列,所以時間複雜度通常都是O(n)。 Linke...

鐵人賽 Software Development DAY 15

技術 Day 15. Binary Tree Traversal-二元樹走訪

昨天看了二元樹的表示方式,今天來看看他的走訪!! 二元樹走訪(Binary Tree Traversal) 我 定義: 拜訪Binary tree 中每個Nod...

鐵人賽 Software Development DAY 23

技術 解題-Array

總算來到我們寫題目的環節了,首先第一天我們來學習Array類型的題目吧! Array技巧整理 Array類型的題目在我的經驗裡有幾個小技巧,大家可以參考看看。...

鐵人賽 Software Development DAY 15

技術 Day 14 左右開通 - Doubly Linked List

Singly Linked List 與 Doubly Linked List 差別在 Node 的指標一個只有下一個節點,另個有存上下兩個節點。 Doubly...

鐵人賽 Software Development DAY 14

技術 Day 14. Binary Tree之表示方式

大家會不會也常常有那種被時間追著跑的感覺呢(´A`。)最近的我時常有這種感覺,越是這種時候好像越想逃避,但不可以!我們一起加油吧,不管怎麼樣還是要持續努力持續進...

鐵人賽 Software Development DAY 22

技術 解題常用到的小技巧和淺談空間複雜度

在我們開始進入解題之前這邊有一些解題的小技巧想跟大家分享,對了~這些方法是Python內建的Library,所以其實寫法上比較固定,沒有甚麼特別的。如果讀者用的...

鐵人賽 Software Development DAY 13

技術 Day 13. Binary tree-二元樹

昨天介紹了很多跟樹狀結構有關的名詞,今天開始介紹不同種類的樹吧ヽ(✿゚▽゚)ノ 二元樹(Binary Tree) 定義 可以為空集合 若不為空,則有root及...

鐵人賽 Software Development DAY 21

技術 演算法-Dynamic Programming

終於來到大家所最害怕的Dynamic Programming也就是中文所說的「動態規劃」,希望各位讀者到這邊能依舊繼續堅持下去啦,我會盡力用最簡單的方式講述給大...

鐵人賽 Software Development DAY 20

技術 演算法-BFS

BFS全名Breadth-first search中文叫「廣度優先搜尋」,我個人覺得比DFS還要好理解很多,也因為他是「廣度」優先的原因,感覺就像「擴散」開來的...

鐵人賽 Software Development DAY 12

技術 Day 12. Tree-樹 ┏((= ̄(エ) ̄=))┛

一看到樹大家會想到甚麼勒,我會想到野餐,好想出去玩歐歐歐☆^(o´Ф∇Ф)o沒想到資料結構裡面也有樹和森林吧,他其實像是模擬現實生活中的樹幹、樹枝和葉子的樣子那...

鐵人賽 Software Development DAY 11

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

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

鐵人賽 Software Development DAY 19

技術 演算法-DFS

DFS全名Depth First Search中文叫「深度優先搜尋」,DFS是一種圖的搜尋演算法,顧名思義就是「深度」為優先去搜尋的演算法。 「深度」優先? 至...

鐵人賽 Software Development DAY 10

技術 Day 10. Queue-佇列

歐歐終於結束Stack的部分了,接下來換來介紹Queue~我們一樣先來舉一些生活中的例子,像是我們平常要買東西、搭車等等都需要排隊,先排到隊伍中的人會先獲得購買...

鐵人賽 Software Development DAY 18

技術 演算法 -Tree Traversal

今天要來討論的是樹的尋訪,「尋訪」或是「遍歷」的意思就是把所有樹的節點都看過的意思啦!不曉得大家還記不記得之前學過的樹,如果忘記了可以再往前看呦。 想想看一個比...

鐵人賽 Software Development DAY 9

技術 Day 9. Stack的各種應用

今天再來一天Stack,昨天說到Stack的應用有很多種,今天就來舉幾個實例給大家看吧ξ( ✿>◡❛)▄︻▇▇〓▄︻┻┳═一 Stack Permutation...

鐵人賽 Software Development DAY 17

技術 演算法-Greedy

今天要來介紹,貪婪演算法,其實與其說貪婪演算法是一種演算法,更精確的說他更像是一種思想。貪婪演算法概念其實超級簡單,簡單到你難以想像的地步。貪婪演算法的核心就是...

鐵人賽 Software Development DAY 8

技術 Day 8. Stack-堆疊

講完了Array跟Linked list接下來我們來講Stack跟Queue吧d(`・∀・)b什麼是Stack勒,先舉一些日常生活中的例子,像是餐廳裡面洗好堆起...

鐵人賽 Software Development DAY 16

技術 演算法-Sorting

今天我們要來介紹經典的排序演算法,我還記得我大學的時候,被排序演算法搞的一頭霧水,現在再回去看會覺得:「我以前怎麼那麼笨呀。」不過我相信各位讀者,絕對都是比我還...

鐵人賽 Software Development DAY 7

技術 Day 7. Circular Linked List - 環狀鏈結 &Linked List 基本操作

昨天講了單向跟雙向鏈結,今天來講最後一個!!環狀鏈結ლ(́◕◞౪◟◕‵ლ)還有講一些Linked List 基本操作的pseudo code 環狀鏈結(Circ...

鐵人賽 Software Development DAY 15

技術 演算法-Recursion

今天終於要來講遞迴的部分,其實實際上我們在撰寫遞迴的Code的時候,不會真的那麼在意每一個Call Stack的細節,我們更多的是去定義他每一層狀態的關係,我們...

鐵人賽 Software Development DAY 6

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

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

鐵人賽 Software Development DAY 14

技術 演算法-Recursion先修班,先來談談Call Stack

我們花了大半時間在討論資料結構,終於從今天開始我會開始跟大家介紹我們常用的演算法,希望讀者們都還可以跟上這幾天的步調,好了那就讓我們繼續往下看下去吧! 為了讓大...

鐵人賽 Software Development DAY 13

技術 資料結構-Prefix Tree(Trie)

今天要講的資料結構叫做Trie,也可以稱作Prefix Tree,我認為他是一種比較進階的資料結構,所以我把它放到後面一點來介紹囉, 既然都叫作Prefix T...

鐵人賽 Software Development DAY 5

技術 Day 5. Array之特殊矩陣存放

昨天講了利用array來儲存一維,二維,三維....到n維矩陣,今天繼續來用array,我們來儲存一些酷逼八的矩陣(♛‿♛) 下、上三角矩陣 下三角矩陣(Low...

鐵人賽 Software Development DAY 4

技術 Day 3 好用兩件套 - 物件與陣列的時間與空間複雜度

陣列與物件是 JavaScript 內建的資料結構,當提到一個資料結構的好壞時,我們會評斷操作該資料結構時所用的各個方法 (新增、刪除、存取或修改、查詢) 所需...