在昨天的文章中,筆者對「雜湊」(hash)做了介紹。而接下來兩天的文章要以此為基礎,進一步認識 Java 8 的 HashMap 是怎麼儲存和查詢資料的。Has...
前言 今天帶兩題題目,一題跟 stack 相關一題跟 queue 相關,為的是讓大家可以更了解怎麼應用這些資料結構,而不是只有瞭解概念 UVa 10935 Th...
Java 有兩種常見的資料結構,叫做「HashSet」和「HashMap」。那麼「Hash」是什麼呢?本文會先用生活情境的例子來介紹雜湊資料結構,後面兩篇則進一...
概念 昨天,我們以排隊吃拉麵的情境為例,介紹了佇列(Queue)的基本概念。今天,我們將深入探討 stack 的實作方式,以及在 C++ 中如何使用陣列和 C+...
上一篇文章中,介紹了 Pandas 中的 Series 結構,今天要和大家聊聊 Pandas 中最常使用的資料結構——DataFrame,其概念和操作都和...
概念 如果有排隊吃拉麵的經驗,就會理解到一個隊伍一定是按照先來的人先進店吃的原則,這就是佇列(Queue)的基本概念,也稱為「先進先出」(First-In Fi...
學習撰寫程式時,常會遇到資料結構(Data Structure)這個詞彙,指的是如何用最有利的型態儲存或組織資料,並將其存在記憶體當中,以便電腦更有效率的使...
資料結構 在資訊工程學系中,資料結構是非常重要的一門課。在資訊科學中,資料結構是電腦中儲存、組織資料的方式,像是陣列(array)、佇列(queue)、堆疊(s...
何謂複雜度 通常在解題或打競程時都會看到題目有時間與記憶體限制,而這基本上會跟你程式的時間/空間複雜度(Time/Space Complexity)有關。 ex...
簡介 首次參與鐵人賽,我將在為期 30 天的比賽中,分享我多年來在參加比賽中所學到的資料結構和演算法知識。我將深入探討這些主題的概念,同時不定時比較高中和大學競...
Bomb Lab實驗紀錄 GDB常用指令 gcc -g test.c生成可除錯文件 gdb a.out進行除錯 r 程式開始執行 q 離...
此演算法是由一位叫 Edsger Dijkstra 的荷蘭工程師所發明,他在電腦科學領域貢獻了許多奠定目前網際網路、電腦科學與數位服務等等的基礎。 在學習 D...
當要取得、更新、檢查 Graph 裡所有的節點時就會需要用到 Traversal 方法,常見的使用場景為點對點的網際網路、網站爬蟲、導航、迷宮問題或遊戲類的 A...
簡言之, Graph 就是很多個節點與節點之間的連線所組成的,前幾天提到的 Three 也算是 Graph 的一種 , Graph 主要有以下幾點特色: Gr...
From Medium Hash Table 是用來儲存鍵值對的資料 (key-value pairs)。 而 Hash Table 在找特定資料與新增刪除...
Heap Sort 使用 Binary Heap 處理資料排序,也可視為 Selection Sort 的改良版。 兩者一樣都是將資料分成兩區,一區為排序好的,...
Priority Queue 的每個節點都含有優先度 (Priority),而套用至 Queue 的規則中則是優先度高的會先被移除。 舉日常開發的任務優先度來說...
Binary Heap 和 Binary Search Tree 很類似,但規則上有些不同。 有兩種 Binary Heap : Max Binary Hea...
一種樹狀資料結構,含有根節點與子節點,每個節點彼此是親子的關聯。 Root: 根節點,樹狀資料結構的第一個的節點,以上圖來說就是 15。 Child: 子節...
Queue 是一種 FIFO (First In First Out) 資料結構。 第一個加入的元素,會被第一個移除。 可應用在排隊等待處理的功能,像是對戰遊戲...
Stack 是一種 LIFO (Last In First Out) 資料結構 最後一個加入的元素,會被第一個移除。 可應用在回復上一步的功能,在操作繪圖軟體時...
Singly Linked List 與 Doubly Linked List 差別在 Node 的指標一個只有下一個節點,另個有存上下兩個節點。 Doubly...
Linked List 是一種資料結構,由一個個節點 (Node) 鏈結起來組成,本身僅存有 Head Node 和 Tail Node 以及總節點數 (len...
陣列與物件是 JavaScript 內建的資料結構,當提到一個資料結構的好壞時,我們會評斷操作該資料結構時所用的各個方法 (新增、刪除、存取或修改、查詢) 所需...
Big O Notation 是一種表示演算法複雜度的方式。同樣解決一個演算法問題,若該算法執行的時間越少,使用的記憶體愈少,就是越好的解法。可以用來評斷該演算...
本系列將使用 JavaScript 來撰寫程式,文中也會穿插英文讓讀者盡量熟悉這些單詞,未來在看相關題目時能夠幫助理解。 什麼是演算法與資料結構 演算法指...
圖靈獎得主曾經說過:「程式設計 = 資料結構 + 演算法」 在入門階段,我們不見得會認為資料結構的重要性。只要 Online Judge 系統亮起 Accept...
終於終於,費波納契數的解題能告一段落了!最後兩題,我的程式雖然有一些小瑕疵,但是最終還是能夠跑過測試,那我們先來統整一下,費波納契數的幾個關鍵字重點吧! Pi...
今天,IT邦幫忙一直處於當機狀態,天氣之熱,天空卻一滴雨都沒有下,經歷了費波納契數卡關多日的洗禮,我的感受就像被人道殺害的魷魚一樣,痛苦掙扎最後邁向心死的過程。...
如題,我們這一次要試著設計出,能夠計算出費波納契數加總的尾數輸出,我原本用了大數相加方式,但在輸入值為8萬多時,就爆掉了,所以我查詢了網路,一直冒出來一個關鍵字...