iT邦幫忙

data structure相關文章
共有 68 則文章
鐵人賽 Software Development DAY 9

技術 【Day9】[資料結構]-雜湊表Hash Table

雜湊表(Hash Table)又稱哈希表,是透過雜湊函式(Hash Function)來計算出一個鍵(key)與值(value)所對應的位置,進而建立雜湊表格,...

鐵人賽 Software Development DAY 3

技術 【Day3】[資料結構]-鏈結串列Linked List

鏈結串列(Linked List)常用來處理相同類型資料,在不連續的記憶體位置,以隨機的方式儲存,由於不用事先宣告一塊連續記憶體空間,所以較不會造成記憶體的浪費...

鐵人賽 Software Development DAY 14

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

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

鐵人賽 Software Development DAY 2

技術 【Day2】[資料結構]-陣列Array

陣列(Array)是一種常見的資料結構,常用來處理相同類型的有序資料,並存放在連續的記憶體空間中。但由於會先宣告固定記憶體空間,容易造成記憶體浪費。 在讀取與修...

鐵人賽 Software Development DAY 7

技術 【Day7】[資料結構]-佇列Queue

佇列(Queue)是一種排列結構,雖然與堆疊類似,但佇列在新增與刪除資料必須在不同端進行,前端(front)能夠刪除(dequeue)與查看(peek)資料,尾...

鐵人賽 Software Development DAY 1

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

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

鐵人賽 Software Development DAY 5

技術 【Day5】[資料結構]-堆疊Stack

堆疊(Stack)是一種排列結構,不過是由下往上堆放,任何動作都必須從最頂端(top)進行,因此有「後進先出」(Last In First Out)特性,縮寫為...

鐵人賽 Software Development DAY 19

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

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

鐵人賽 Software Development DAY 15

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

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

鐵人賽 Software Development DAY 13

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

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

鐵人賽 Software Development DAY 12

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

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

技術 [DSA] - Basic ADT (Arrays, Linked List, Stack)

Abstract Data Type (ADT) Human - Interface - ADT List With Order List ADT Op...

鐵人賽 自我挑戰組 DAY 1

技術 【Day 01】認識資料結構 Data Structure ( 使用 JavaScript )

一、什麼是資料結構 ? 當我們撰寫程式時,會宣告變數來存放資料,這些資料會儲存在記憶體中,在我們需要時可以拿出來使用。這邊我們可以思考兩點: 要儲存的資料內容...

鐵人賽 Software Development DAY 17

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

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

鐵人賽 自我挑戰組 DAY 5
學習資料結構30天 系列 第 5

技術 [Data Structure][Queue]

排隊? 人潮眾多的時候就需要排隊,吃東西要排隊,看電影要排隊,搭公車也要排隊。排隊的目的就是以順序來確保公平性。所以,第一個排隊的人可以先買到食物,先看到電影,...

鐵人賽 Software Development DAY 30
從0開始學習程式-Python 系列 第 31

技術 [Day34] 什麼是資料結構與演算法?

資料結構 (Data Structure)不同的資料會有不同的儲存方式,而這些擺放的方式都會影響到程式設計,而這些儲存資料的方式就稱為資料結構。事實上,更精...

技術 Day 18, 巧妙的最大公因數C++設計

今天,我嘗試自己設計最大公因數程式碼,打得落落長一大堆if, else,不亦樂乎,結果測試結果失敗,所幸對了50%的測試(這哪好?,我卡在若輸入二數值是質數與質...

鐵人賽 Software Development DAY 1

技術 【在廚房想30天的演算法】Day 01 演算法好吃嗎~

【在廚房想30天的演算法】Day 01 演算法好吃嗎~ Aloha!我是少女人妻Uerica!哈哈哈,過了一年又開始跟老公沒話題了,加上疫情關係天天處一起,我...

技術 [HashSet vs ArrayList] contains 效能比較

不同介面不同人生 會使用到 contains 的場合,通常是為了找查是否有某個元素存在,但若是在不適當的時機使用不適當的資料結構可能會導致效能相差甚遠,以下分別...

鐵人賽 Software Development DAY 10

技術 集合: List, Tuple, Keyword List 及 Map

之前提過,在 OO 語言裡,認為資料及操作一群相關的資料的行為應該放在同一個地方,形成「物件」這種概念。 而在函數式編程裡,卻用完全不同的角度在看待資料結構以及...

技術 雜湊表 (Hash table) ?? 還是你是說 : 雜貨店??

在文章開始之前,要先說說小弟我本人其實非資訊相關出身,所以所有的知識都是 google 大神教的所以若是文章內有任何錯誤的觀念也歡迎留言指教,謝謝 是這樣子的...

鐵人賽 Modern Web DAY 24
Javascript 從寫對到寫好 系列 第 24

技術 Day 24 - 資料結構入門理解

前言 今天要來討論一些更進階的程式寫法,比較偏向效能方面的優化,怎麼寫可以讓效能變好、擴充容易,而不是討論如何寫出一個 feature,因為我們的目標是「更好」...

鐵人賽 Software Development DAY 1

技術 Day 0 歡迎來到刷題峽谷 - Algorithms & Data Structures

本系列將使用 JavaScript 來撰寫程式,文中也會穿插英文讓讀者盡量熟悉這些單詞,未來在看相關題目時能夠幫助理解。 什麼是演算法與資料結構 演算法指...

鐵人賽 Software Development DAY 28

技術 Day 27 迷因新寵兒 - Hash Table

From Medium Hash Table 是用來儲存鍵值對的資料 (key-value pairs)。 而 Hash Table 在找特定資料與新增刪除...

技術 Day 30 太無情了 - Dijkstra's Algorithm

此演算法是由一位叫 Edsger Dijkstra 的荷蘭工程師所發明,他在電腦科學領域貢獻了許多奠定目前網際網路、電腦科學與數位服務等等的基礎。 在學習 D...

鐵人賽 Software Development DAY 2

技術 Day 1 這到底是什麼符號喔齁齁齁齁齁 - Big O Notation

Big O Notation 是一種表示演算法複雜度的方式。同樣解決一個演算法問題,若該算法執行的時間越少,使用的記憶體愈少,就是越好的解法。可以用來評斷該演算...

技術 [DSA] Overview: Complexity Analysis

Data StructureHow to manipulate data?Data structure is a way to manipulate, or...

鐵人賽 Software Development DAY 14

技術 Day 13 只會往前絕不後退 - Singly Linked List

Linked List 是一種資料結構,由一個個節點 (Node) 鏈結起來組成,本身僅存有 Head Node 和 Tail Node 以及總節點數 (len...

鐵人賽 Software Development DAY 30

技術 Day 29 走囉~高歌離席~ - Graph Traversal

當要取得、更新、檢查 Graph 裡所有的節點時就會需要用到 Traversal 方法,常見的使用場景為點對點的網際網路、網站爬蟲、導航、迷宮問題或遊戲類的 A...

鐵人賽 Software Development DAY 4

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

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