iT邦幫忙

資料結構相關文章
共有 165 則文章
鐵人賽 Software Development DAY 16

技術 Day16-演算法篇開始!介紹五個常用的演算法

在結束介紹資料結構的部分後,我們將會進入學習一些和演算法相關的知識,今天就先來認識一下"五個"常見的演算法吧! Brute force 暴力...

鐵人賽 Software Development DAY 15

技術 Day15-資料結構總結與一些免費學習資源

在過去的14天我們介紹了許多種類的資料結構,並且大多都有搭配一個例題去作應用,不過寫到這邊也到一個段落了,在此想要強調的是資料結構和演算法在資工資管等資訊相關科...

鐵人賽 Software Development DAY 14

技術 Day14-來了解Map並實作它吧!

在JavaScript ES6 的規範中,新增了 Map 這種資料結構,每組資料都有對應的 key 值(索引值)與 value 值(資料值),而且索引值可以是各...

鐵人賽 AI & Data DAY 27
人工智慧 vs.工人智慧 系列 第 27

技術 Day 27:第三招 資料面改善

上一篇想辦法去改善分類演算法但似乎改善幅度不高,正所謂山不轉路轉,如果分類器改善不了,那何不來改善一下資料面的問題呢? 針對資料的部分我們會用以下三種方式重新處...

鐵人賽 Software Development DAY 13

技術 Day13-來了解 Set 並實作它吧!

集合是一種資料順序沒有意義而且其資料不會有重複值的一種資料結構,在 JavaScript ES6 的規範中,我們可以透過 new Set() 來建立一個 set...

鐵人賽 Software Development DAY 12

技術 Day12-資料結構-樹(Tree)的一些操作方法

今天將會把昨天實作的樹,加上幾個函式: sum(): 所有節點值的總和 contain(): 查詢是否樹裡有指定要找的值 size(): 計算樹裡共有幾個節點...

鐵人賽 AI & Data DAY 25
人工智慧 vs.工人智慧 系列 第 25

技術 Day 25:第一招 改進資訊辨識成果

這邊要講怎麼改善資料的辨識。 什麼叫做資料的辨識? 前面一直提到說所有的資料是靠人工標記後當作之後使用的資料集,那在標記的過程中常常遇到一些狀況是包括哪些呢?以...

鐵人賽 Software Development DAY 11

技術 Day11-來介紹資料結構-樹(Tree)吧!

今天要介紹的是樹,大致的樣子如下圖,其中樹的每個元素都稱為節點,樹最上方的節點稱為根節點,而節點之間上層節點為下層節點的父節點,下層節點為上層節點的子節點,如果...

鐵人賽 Software Development DAY 17

技術 [守] 你需要的是資料結構, 演算法與物件導向概念的加持

之前有說過我們團隊每週會刷leetcode,幾乎1000題內都是在考資料結構+演算法,資料結構像是你身上裝備的武器,而演算法則是你真正的武功。而物件導向/設計模...

鐵人賽 Software Development DAY 10

技術 Day10-來介紹遞迴(Recursion)吧!

遞迴種類 遞迴分為直接遞迴和間接遞迴兩種:直接遞迴: 直接在函式內再次呼叫本身函式 function fn1() { fn1(); } 間接遞迴: 函...

鐵人賽 Software Development DAY 9

技術 Day9-使用佇列實作質數篩選

這次我們要用昨天學到的佇列搭配一個叫做埃拉托斯特尼篩法的東西去找出一定範圍的質數。 埃拉托斯特尼篩法的維基百科介紹:https://zh.wikipedia.o...

鐵人賽 Software Development DAY 8

技術 Day8-來了解佇列並實作它吧!

佇列其資料結構用圖片來說明大概如下: 資料以一列的方式儲存每個資料,而且刪除節點時會從最前面也是最早加入佇列的資料開始刪除,新增節點從佇列尾巴開始刪除。此為佇列...

鐵人賽 Software Development DAY 7

技術 Day7-利用堆疊解決"平衡括號"問題

這次我們要用昨天學到的堆疊來解決以下問題: 括號分為以下三種: () [] {}假如一個字串的括號都有與開口(包括: ( [ { )對應的閉合符號(包括: )...

鐵人賽 Software Development DAY 6

技術 Day6-來了解堆疊並實作它吧!

今天要來介紹的資料結構是堆疊。我們可以用一疊書來做比喻堆疊,最一開始被放在桌上的書會被壓在最下面,而最後被放在書堆的書本則在書堆最上面。而當要拿書離開時,不能從...

鐵人賽 Software Development DAY 5

技術 Day5-陣列(Array)和鏈結串列(Linked List)的比較

在學習完陣列和鏈結串列之後呢,我們來把它們做統整比較吧!不過首先要先介紹一個網站,裡面整理了各式資料結構的時間複雜度並整理成表格。網站連結如下: https:/...

鐵人賽 Software Development DAY 4

技術 Day4-來了解鏈結串列(Linked List)並實作它吧!

Linked List 鏈結串列是一種常見且基礎的資料結構,我們可以基於 Linked List 去建立 Queue、Stack 等資料結構。 Linked...

鐵人賽 Software Development DAY 3

技術 Day3-二維陣列與數地雷應用

這次要來介紹的是二維陣列,二維陣列就是陣列裡面的元素也是陣列的一種資料結構舉個例子來說: const group = [ ['172', '156', '1...

鐵人賽 Software Development DAY 2

技術 Day2-陣列操作常用的20個函式

這次的文章可以說是JavaScript中,陣列相關操作函式大全了,總共有20個函式,就請準備筆記本好好記錄下吧! 1. 合併陣列 - concat() 其實字串...

鐵人賽 Software Development DAY 1

技術 Day1-來介紹一下資料結構和演算法吧!

在開始用JavaScript實作各種資料結構前,總要先了解什麼是資料結構吧,才會知道之後學習的鏈結串列/堆疊/佇列是什麼東西啊~那廢話不多說,我們就開始吧! 資...

技術 資料結構(十二)鏈結實作-5再學一次指標

在輸出二個以上變數記憶體位址,發線先宣告的變數會排在後面,百思不得其解又重翻一次教學。 【大綱】 指標二種宣告法 指標說明 總結 【指標二種宣告法】 剛開始...

技術 資料結構(十一)鏈結實作-4宣告節點之前

要先宣告結構再搭配指標,就是一個節點。 【大綱】 結構宣告順序 結構搭配指標 程式碼 閒談 【結構宣告順序】 參考:結構的對齊裡面的圖說很清楚結構裡宣告先後...

技術 資料結構(十)鏈結實作-3使用同一組宣告(結構)

標題太長會斷行看起來有點怪,之後「鏈結串列程式實作」縮成「鏈結實作」。同一支程式會重複使用,可以用迴圈來執行,那同一組宣告呢? 【大綱】 同一支程式 同型態宣...

技術 資料結構(九)鏈結串列程式實作-2指標會儲存位址

【大綱】 程式碼觀察 圖片解說 假設指標存指標 推薦02_陣列與指標關係作者藍影 Array[i]=*(Array+i);這句話很好懂 【程式碼觀察】...

技術 資料結構(八)鏈結串列程式實作-1指標

先了解指標和陣列用法,對鏈結串列程式實作會很有幫助。 【大綱】 鏈結串列前置 指標是門牌號碼 指標程式實作 總結 參考:簡單搞懂指標作者hackgrass...

技術 資料結構(七)鏈結串列常見運算-3(總整理)

關於前面文章總整理,將一篇文章濃縮在一張投影片,不過文章還是很長。 【總整理】 變數、陣列、鏈結串列 鏈結串列抽象示意圖 不同語言間使用陣列狀況 四種鏈結串列...

技術 資料結構(六)鏈結串列常見運算-2

鏈結串列的插入運算和刪除運算,這些基礎還算好理解,後面要跨好幾頁的程式碼就有點複雜。 【大綱】 插入運算 刪除運算 閒談 【插入運算】 印象中有做過,可是翻...

技術 資料結構(五)鏈結串列常見運算-1

鏈結串列修改運算跟陣列比較起來,麻煩了許多,首先要做的就是移動工作節點。 【大綱】 移動工作節點 修改運算 鏈結串列vs陣列 閒談 【移動工作節點】 工作節...

技術 資料結構(四)鏈結串列四種型態

用圖片說明鏈結串列四種型態,講解「環狀與非環狀」、「單向與雙向」的好處。 【大綱】 鏈結串列型態 環狀與非環狀 單向與雙向 總整理 【鏈結串列型態】 前面資...

技術 資料結構(三)C語言要先宣告陣列大小

Python不用事先宣告陣列大小,但C語言中就要先宣告才能使用,這讓我產生疑惑。 【大綱】 前言 為什麼c語言不能直接增加 總結 【前言】 有多少人用餐入座...

技術 資料結構(二)用鏈結串列儲存陣列資料

這是一個很特別儲存方式,要是沒有讀資料結構,我也不會認識它。基礎語法裡會有教Array,但鏈結串列Liked List就沒有了。 【大綱】 鏈結串列組成 陣列...