iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

資料結構與演算法,使用JavaScript與Python 系列

本身為前端工程師,因此常使用JavaScript,也因為工作環境的關係,增加了對Python的使用。許多面試會考到資料結構與演算法,而在練習刷leetcode時,也發現許多題目也要應用它們,所以這次想回歸基本面扎根,對於程式邏輯與思路才能有良好的成長。

鐵人鍊成 | 共 35 篇文章 | 95 人訂閱 訂閱系列文 RSS系列文
DAY 11

【Day11】- 遞迴Recursion

遞迴(Recursion)的概念是將一個大的問題,分割成許多小問題去解決。而從程式設計角度來看,函式不單只能被其他函式呼叫,也能被它自己呼叫,也就是在一個函式當...

2021-09-22 ‧ 由 科科 分享
DAY 12

【Day12】[資料結構]-樹Tree

樹(Tree)屬於一種非線性結構,是一種上下階層關係,舉例: 組織架構圖、家族譜、賽程表等,類似一棵倒過來的樹,從一個樹根(root)開始向下發展許多節點(no...

2021-09-23 ‧ 由 科科 分享
DAY 13

【Day13】[資料結構]-二元樹Binary Tree

二元樹(Binary Tree)是最廣泛被使用的樹狀資料結構,簡單來說即為每個節點最多只能有兩個子節點。 樹與二元樹不同之處 樹不能是空集合,二元樹可以是空...

2021-09-24 ‧ 由 科科 分享
DAY 14

【Day14】[資料結構]-二元樹走訪Binary Tree Traversal

二元樹走訪或稱二元樹遍歷,簡單來說就是走訪樹中各節點,轉化為線性關係。 主要分成兩種策略方式 深度優先搜尋(Depth-first Search,DFS)...

2021-09-25 ‧ 由 科科 分享
DAY 15

【Day15】[資料結構]-二元搜尋樹Binary Search Tree, BST

二元搜尋樹(Binary Search Tree),也稱有序/排序二元樹,是一種特殊二元樹結構,而節點資料的排序具備一些特性。 特性如下 左子樹任一節點的...

2021-09-26 ‧ 由 科科 分享
DAY 16

【Day16】[資料結構]-二元搜尋樹Binary Search Tree-實作

二元搜尋樹(Binary Search Tree)建立的方法 insert: 新增元素進入樹中 delete: 從樹中刪除此元素 preOrderTra...

2021-09-27 ‧ 由 科科 分享
DAY 17

【Day17】[資料結構]-堆積Heap

堆積(Heap)是一種特別的完全二元樹,又分為最小堆積(Min-Heap)、最大堆積(Max-Heap)。 最小堆積(Min-Heap) 樹根(Root)會是...

2021-09-28 ‧ 由 科科 分享
DAY 18

【Day18】[資料結構]-堆積Heap-實作

堆積(Heap)建立的方法(以最大堆積實作) maxHeapify: 最大堆積化 push: 新增元素 pop: 刪除特定元素 popRoot: 刪除...

2021-09-29 ‧ 由 科科 分享
DAY 19

【Day19】[資料結構]-圖Graph

圖(Graph),並非多數人直接聯想到形狀或圖片,在計算機科學或離散數學中的圖,是由數個頂點Vertex(或稱節點Node)及數條邊(Edge)所構成,頂點與頂...

2021-09-30 ‧ 由 科科 分享
DAY 20

【Day20】[資料結構]-圖Graph-實作

圖(Graph)建立的方法 addVertex: 新增頂點 addEdge: 新增邊 removeVertex: 刪除頂點 removeEdge: 刪...

2021-10-01 ‧ 由 科科 分享