iT邦幫忙

資料結構與演算法相關文章
共有 23 則文章

技術 【小馬的資結演算法秘笈】(15)Hash Table 簡介,平均O(1)時間查找的工具

哈囉~ 大家好, 跟大家介紹一種很有用的資料結構- Hash Table 想像我們現在要解這樣一個問題, 有一個集合S裡面有n個元素, 每個元素的範圍來自[1,...

技術 【小馬的資結演算法秘笈】(14) AVL tree簡介,會自動平衡的BST

哈囉~ 大家好, 上回【小馬的資結演算法秘笈】(13) Binary Search Tree,方便二分查找的樹中, 跟大家介紹一種很有用的資料結構- Binar...

技術 系列篇章統整: 小馬的資料結構演算法筆記 (主要是用c++程式實作)

嗨嗨~ 大家好, 歡迎來到小馬的系列欄- 小馬的資料結構演算法筆記, 「資料結構」是資訊領域一個蠻重要的課題, 用意是如果我們能將資料整理的更有結構, 那麼使用...

技術 【小馬的資結演算法秘笈】(13) Binary Search Tree,方便二分查找的樹

哈囉~ 大家好, 今天跟大家介紹一種很有用的資料結構- Binary Search Tree(簡稱BST), BST是一種特別的binary tree,它滿足二...

技術 資結經典題目: 計算字串四則運算的結果

參考題目: zerojudge- a017: 五則運算 這一題看似沒什麼,不過花蠻多時間終於研究出程式碼怎麼寫(細節蠻多的) 題意是輸入一個字串譬如2 * (...

技術 資結經典題目: 實作一個Trie (又稱prefix tree、字典樹、前綴樹)

今天在練習leetcode時, 看到這樣一個題目: LeetCode- 208. Implement Trie (Prefix Tree) 是一個沒看過的資料結...

技術 【小馬的資結演算法秘笈】(12) 將infix表達式轉postfix(即普通四則運算式轉逆波蘭表達式)

之前曾介紹過,若是把一個普通的四則運算式5 - 4 * 3 + 2轉換為 逆波蘭表達式5 4 3 * - 2 +, 那麼程式會很容易計算逆波蘭表達式的值。 轉換...

技術 資結經典題目: 用stack計算逆波蘭表達式

參考題目: 150. Evaluate Reverse Polish Notation 逆波蘭表達式是不必用括號也可以正確計算四則運算順序的一種神奇表達式, 例...

技術 【小馬的資結演算法秘笈】(11) 四則運算與expression tree

嗨,大家好,今天來繼續談談資料結構的應用, 我們從最簡單的一個算式看起, 比如說「5-4*3+2」, 想要求這個算式的答案 一般來說,我們學過國小數學, 知道應...

技術 【小馬的資結演算法秘笈】(10) binary tree的四種走訪方式(preorder, inorder, postorder, level-order)

看完許多graph的問題,再回頭來介紹binary tree吧, 複習一下,binary tree就是一棵每個節點最多有兩個children的樹。 譬如說這是一...

技術 【小馬的資結演算法秘笈】(9) 做拓撲排序(topological sort)的兩種方法- 用queue及DFS

上回【小馬的資結演算法秘笈】(8) 有向圖(directed graph)及DAG(directed acyclic graph)的介紹我們簡介了DAG與拓撲排...

技術 【小馬的資結演算法秘笈】(8) 有向圖(directed graph)及DAG(directed acyclic graph)的介紹

哈囉~ 大家好, 之前在【小馬的資結演算法秘笈】(6)超好懂的圖(gragh)與樹(tree) 的觀念介紹介紹過什麼是graph, 那什麼是directed g...

技術 【小馬的資結演算法秘笈】(7) 在演算法中常見的BFS, DFS是什麼?

演算法領域中,有很常見的兩種演算法, BFS- Breadth-First Search,廣度優先搜索的簡稱 DFS- Depth-First Search,...

技術 資結經典題目: 在二元樹中找最長路徑和

今天跟大家分享一道LeetCode上的題目 參考題目: LeetCode- 124. Binary Tree Maximum Path Sum (相關子題: L...

技術 【小馬的資結演算法秘笈】(6)超好懂的圖(gragh)與樹(tree) 的觀念介紹

今天要繼續介紹兩種常見的資料結構- 圖(gragh)與樹(tree) 什麼是一個圖呢? 這邊給個定義: Graph定義 graph是由一些頂點和一些邊所構成,...

技術 資結經典題目: 用stack 解括號配對問題

題目簡介 今天要介紹一道經典題- 括號配對問題, 輸入可能抱括圓括號 ()、方括號 []、小於大於括號 <> 和曲括號 {}, 判斷括號配對是否正確...

技術 【小馬的資結演算法秘笈】(5) stack與queue

今天要再介紹兩種實用的資料結構- stack與queue stack- 最緊急的事情優先做 stack是一種先進後出的結構, 我們稱為FILO(First In...

技術 【小馬的資結演算法秘笈】(4) linked list 與 array比較

今天要介紹一種新的資料結構- linked list, 在介紹這種資料結構之前呢, 我們要先了解array array有什麼缺點? array可以用來記錄一連...

技術 【小馬的資結演算法秘笈】(3)堆積排序法- heapSort

今天要來講另一種經典的排序方法,叫作堆積排序法(heapSort) 我們會用到一種叫作heap的資料結構, heap這個單字中文翻譯叫作堆, 就是把東西放成一堆...

技術 【小馬的資結演算法秘笈】(2)合併排序法- mergeSort

續上一篇【小馬的資結演算法秘笈】(1)二分搜索法(Binary Search) 我們知道若是在一個有排序過的陣列中找東西是較簡單的, 所以今天就要來教這個經典的...

技術 【小馬的資結演算法秘笈】(1)二分搜索法(Binary Search) #附c++程式教學

嗨嗨,大家好,我是心原一馬, 「資料結構」是資訊領域一個蠻重要的課題, 用意是如果我們能將資料整理的更有結構, 那麼使用上會更加方便, 比如說在一堆有排序過的物...

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

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

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

鐵人賽 Software Development DAY 1

技術 零、美術女孩遇見工程師男孩

星光熠熠,女孩與男孩躺在草地上。女孩一手牽著男孩的手,另一手指向蒼穹。 「欸!你說那幾個星星連起來像是什麼呀?」 「恩...我想應該像是一棵紅黑樹!」 女孩捏...