iT邦幫忙

data structure相關文章
共有 68 則文章
鐵人賽 自我挑戰組 DAY 30

技術 Day30 - 從競賽程式學習資料結構與演算法-最後總結

終於到最後一天了,在這過程中有著無數次催隊友快點發文,也有幾次差點忘記需要寫文,甚至最近因為社團的事情和比賽沒有什麼時間可以寫文章,所以內容越來越簡單,不過終究...

鐵人賽 自我挑戰組 DAY 14

技術 Day-14 學習資源分享

前言 今天是中秋節,所以就分享一些學習資源以供大家自學、參考,以下資源皆為免費內容,請安心服用 講義 以下是我過去所使用過的學習資源,有些因為難度太高半途而廢,...

鐵人賽 Software Development DAY 7

技術 【Java】HashMap 的工作原理(下)

昨天介紹了 HashMap 將 key 定位到 bucket 的過程。而本文主要解說的是,在一個 bucket 中,要如何找到 key 所對應的節點,進而討論為...

鐵人賽 自我挑戰組 DAY 7

技術 Day-7 鏈結串列(Linked List)

概念 Linked List 是一種線性資料結構,可以從中間直接插入元素,相對陣列來說會比較省時,不過在競賽程式其實我其實一次也沒有用過,原因我會在底下做說明。...

鐵人賽 自我挑戰組 DAY 7

技術 Day 7|新增 Series 或 DataFrame

  嗨!大家好!了解完如何載入和觀察資料後,接著將開始一系列對資料內容的操作,今天的主題為「新增資料」,內容分別以Pandas兩種常見的數據結構說明,包含:...

鐵人賽 Software Development DAY 6

技術 【Java】HashMap 的工作原理(上)

在昨天的文章中,筆者對「雜湊」(hash)做了介紹。而接下來兩天的文章要以此為基礎,進一步認識 Java 8 的 HashMap 是怎麼儲存和查詢資料的。Has...

鐵人賽 自我挑戰組 DAY 6

技術 Day-6 堆疊 & 佇列例題講解

前言 今天帶兩題題目,一題跟 stack 相關一題跟 queue 相關,為的是讓大家可以更了解怎麼應用這些資料結構,而不是只有瞭解概念 UVa 10935 Th...

鐵人賽 Software Development DAY 5

技術 【Java】認識 HashMap 前要具備的雜湊概念

Java 有兩種常見的資料結構,叫做「HashSet」和「HashMap」。那麼「Hash」是什麼呢?本文會先用生活情境的例子來介紹雜湊資料結構,後面兩篇則進一...

鐵人賽 自我挑戰組 DAY 5

技術 Day-5 堆疊(Stack)

概念 昨天,我們以排隊吃拉麵的情境為例,介紹了佇列(Queue)的基本概念。今天,我們將深入探討 stack 的實作方式,以及在 C++ 中如何使用陣列和 C+...

鐵人賽 自我挑戰組 DAY 4

技術 Day 4|資料結構 - DataFrame 篇

  上一篇文章中,介紹了 Pandas 中的 Series 結構,今天要和大家聊聊 Pandas 中最常使用的資料結構——DataFrame,其概念和操作都和...

鐵人賽 自我挑戰組 DAY 4

技術 Day-4 佇列(Queue)

概念 如果有排隊吃拉麵的經驗,就會理解到一個隊伍一定是按照先來的人先進店吃的原則,這就是佇列(Queue)的基本概念,也稱為「先進先出」(First-In Fi...

鐵人賽 自我挑戰組 DAY 3

技術 Day 3|資料結構 - Series 篇

  學習撰寫程式時,常會遇到資料結構(Data Structure)這個詞彙,指的是如何用最有利的型態儲存或組織資料,並將其存在記憶體當中,以便電腦更有效率的使...

鐵人賽 自我挑戰組 DAY 3

技術 Day-3 資料結構概念

資料結構 在資訊工程學系中,資料結構是非常重要的一門課。在資訊科學中,資料結構是電腦中儲存、組織資料的方式,像是陣列(array)、佇列(queue)、堆疊(s...

鐵人賽 自我挑戰組 DAY 2

技術 Day-2 複雜度分析

何謂複雜度 通常在解題或打競程時都會看到題目有時間與記憶體限制,而這基本上會跟你程式的時間/空間複雜度(Time/Space Complexity)有關。 ex...

鐵人賽 自我挑戰組 DAY 1

技術 Day-1 簡介

簡介 首次參與鐵人賽,我將在為期 30 天的比賽中,分享我多年來在參加比賽中所學到的資料結構和演算法知識。我將深入探討這些主題的概念,同時不定時比較高中和大學競...

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

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

技術 CSAPP 深入理解計算機 Bomb Lab實驗紀錄

Bomb Lab實驗紀錄 GDB常用指令 gcc -g test.c生成可除錯文件 gdb a.out進行除錯 r 程式開始執行 q 離...

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

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

鐵人賽 Software Development DAY 30

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

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

鐵人賽 Software Development DAY 29

技術 Day 28 又肉又痛 - Graph

簡言之, Graph 就是很多個節點與節點之間的連線所組成的,前幾天提到的 Three 也算是 Graph 的一種 , Graph 主要有以下幾點特色: Gr...

鐵人賽 Software Development DAY 28

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

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

鐵人賽 Software Development DAY 27

技術 Day 26 展現解題 GAP - Heap Sort

Heap Sort 使用 Binary Heap 處理資料排序,也可視為 Selection Sort 的改良版。 兩者一樣都是將資料分成兩區,一區為排序好的,...

鐵人賽 Software Development DAY 26

技術 Day 25 先拿龍再拆塔 - Priority Queue

Priority Queue 的每個節點都含有優先度 (Priority),而套用至 Queue 的規則中則是優先度高的會先被移除。 舉日常開發的任務優先度來說...

鐵人賽 Software Development DAY 25

技術 Day 24 出疊書上課囉 - Binary Heap

Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。 有兩種 Binary Heap : Max Binary Hea...

鐵人賽 Software Development DAY 22

技術 Day 21 超硬 Tree 登場 - Binary Search Tree

一種樹狀資料結構,含有根節點與子節點,每個節點彼此是親子的關聯。 Root: 根節點,樹狀資料結構的第一個的節點,以上圖來說就是 15。 Child: 子節...

鐵人賽 Software Development DAY 17

技術 Day 16 先進先出 - Queue

Queue 是一種 FIFO (First In First Out) 資料結構。 第一個加入的元素,會被第一個移除。 可應用在排隊等待處理的功能,像是對戰遊戲...

鐵人賽 Software Development DAY 16

技術 Day 15 先進後出 - Stack

Stack 是一種 LIFO (Last In First Out) 資料結構 最後一個加入的元素,會被第一個移除。 可應用在回復上一步的功能,在操作繪圖軟體時...

鐵人賽 Software Development DAY 15

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

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

鐵人賽 Software Development DAY 14

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

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

鐵人賽 Software Development DAY 4

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

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