資料結構 優點 缺點 1 陣列 (Array) 沒有額外變量 (例head, next,...) 運作/操作較簡單 更新資料時,若要保持順序,需要移動較大量資料 靜態結構Static (宣告時已決定了陣列元素多少,不能在程式執行期間增減元素) 2 隊列Queue (FIFO) 容易更新 加入enqueue:

Slides:



Advertisements
Similar presentations
電腦與問題解決 5-1 電腦解題概論 5-2 電腦解題程序 5-3 演算法概論.
Advertisements

基本概論 Basic concepts.
動畫與遊戲設計 Data structure and artificial intelligent
Performance Evaluation
第三章 鏈結串列 Linked List.
資料結構與C++程式設計進階 資料結構概論 講師:林業峻 CSIE, NTU 6/ 7, 2010.
書名 Java於資料結構與演算法之實習應用
Operating System CPU Scheduing - 2 Monday, August 11, 2008.
Minimum Spanning Trees
Tree(樹) 什麼是「樹」? 「樹」的範例 「樹」的定義 「樹」的表示法.
第三章 堆疊與佇列的基本應用 3-1 簡介堆疊(Stack) 3-2 迷宮問題研究 3-3 佇列(queue)的介紹
Linked List(串列) Why Linked List? Pointer Dynamic Allocation
第4章 鏈結串列(Linked Lists) 4-1 動態記憶體配置-(6) 4-2 鏈結串列的基礎-(7)
第6章 佇列(Queues) 6-1 佇列的基礎 6-2 佇列的表示法 6-3 環狀佇列 6-4 雙佇列.
struct 可以在同一個名稱下擁有多種資料型態。使用struct能讓資料的存取和處理更為靈活。
樹狀結構 陳怡芬 2018/11/16 北一女中資訊專題研究.
佇列 (Queue).
佇列與推疊 (Queue and Stack)
資料結構簡介.
資料結構 第5章 佇列.
講師:郭育倫 第3章 基本資料結構 講師:郭育倫
Chap 3 堆疊與佇列 Stack and Queue.
Chapter 6 Graph Chang Chi-Chung
Course 4 搜尋 Search.
第8章 列舉器與集合 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
演算法方式總覽 The Divide-and-Conquer Strategy (個各擊破)(binary Searching、Quick Sort…. ) The Greedy Method(貪婪演算法) (Prim MST、Kruskal MST、Djikstra's algorithm) Dynamic.
Data Structure(資料結構) 授課老師: 蕭志明 助理教授 Ext:6779
第十五章 Linked List, Stack and Queue
计算机问题求解 – 论题 堆与堆排序 2018年05月14日 数据的组织(逻辑的,物理的)均可以影响到算法的设计和性能.
4 堆疊與佇列 4.1 前言 四種基本的資料結構 (可儲存資料的容器) 陣列 (Array)、串列(List): 最基本
演算法與資料結構 製作單位: 高雄市立高雄中學.
高级数据结构.
(Circular Linked Lists)
堆疊 Stack chapter 4 德明科技大學資訊科技系.
第三章 栈与队列 £3.1 栈 £3.3 队列 £3.2 栈的应用举例 £3.1.1 栈的定义 £3.1.2 栈的顺序存储结构
第三章 栈和队列.
第 七 章 樹狀結構 課程名稱:資料結構 授課老師:________ 2019/1/1.
第 六 章 鏈結串列(Link List) 課程名稱:資料結構 授課老師:________ 2019/1/2.
重點 資料結構之選定會影響演算法 選擇對的資料結構讓您上天堂 程式.
資料結構與C++程式設計進階 堆疊與佇列(Stack & Queue) 講師:林業峻 CSIE, NTU 6/ 21, 2010.
樹狀結構 Tree Structure chapter 7 德明科技大學資訊科技系.
Data Structure.
Chap3 Linked List 鏈結串列.
佇列(queue) Lai Ah Fur.
第三章 栈和队列.
資料結構 第4章 堆疊.
樹 2 Michael Tsai 2013/3/26.
感謝同學們在加分題建議. 我會好好研讀+反省~
資料結構 Data Structures Fall 2006, 95學年第一學期 Instructor : 陳宗正.
自我參考結構 (self-reference – 1)
資料結構與C++程式設計進階班 課程大綱 講師:洪安.
Total Review of Data Structures
第五章 介面/集合/泛型 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
第十二章 文件管理 (Chapter 5 File Management)
Linked Lists Prof. Michael Tsai 2013/3/12.
数据结构 Data Structures Prof. Qing WANG 王庆.
Chap2 Stack & Queue.
第四章 栈和队列 栈 ( Stack ) 队列 ( Queue ) 优先队列 (Priority Queue) 小结.
本教學投影片係屬教科書著作之延伸,亦受著作權法之保護。
Amortized Analysis Michael Tsai 2013/11/14.
資料結構簡介 綠園.
第 六 讲 栈和队列(一).
1. 志明打算就客戶服務開發一個語音互動(IVR)系統, 顧客可透過電話鍵盤與系統進行互動。
反覆迴圈、陣列、副程式 靜宜大學資管系 楊子青
反覆迴圈、陣列、副程式 靜宜大學資管系 楊子青
第4章 鏈結串列(Linked Lists) 4-1 動態記憶體配置-(6) 4-2 鏈結串列的基礎-(7)
计算机问题求解 – 论题 基本的数据结构 2018年05月09日.
Data Structure.
第六章 直接成本法.
13-1 電腦可以協助解決哪些問題 13-2 電腦解題簡介 13-3 電腦解題規劃-演算法 13-4 認識資料結構
Presentation transcript:

資料結構 優點 缺點 1 陣列 (Array) 沒有額外變量 (例head, next,...) 運作/操作較簡單 更新資料時,若要保持順序,需要移動較大量資料 靜態結構Static (宣告時已決定了陣列元素多少,不能在程式執行期間增減元素) 2 隊列Queue (FIFO) 容易更新 加入enqueue: 隊尾tail 移除dequeue: 隊首head 需要額外變量head / tail 3 堆疊Stack (LIFO) 容易操作 加入Push移除Pop皆在頂部stack top進行 需要額外變量top 4 鏈表Linked List 加新或移除資料時,只需改動少量資料,仍能保持順序 動態結構Dynamic (程式執行期間,可隨意增減元素) 需要額外變量head, next 運作/操作較複雜(搜尋、更新) 2D Array: 98Queen, 00, 06, 08, 09 Stack 05, 06 LList: 94, 07, 08, 09 Queue

#define N 100 1 Linear Ordered List (Array) char List [N] [10]; 2 Queue (FIFO) char Queue [N] [10]; int Head, Tail; Circular Queue Priority Queue 3 Stack (LIFO) char Stack [N] [10]; int Top; 4 Linked List char LList [N] [10]; int Next [N]; int Head; Doubly Linked Lists 5 Binary Tree 6 DiGraph 7 Heap 8 Hash Table

http://www.apsu.edu/myersb2/linked_list_animation.htm http://www.cs.stir.ac.uk/~mew/dissertation/ http://www.apl.jhu.edu/Classes/605202/felikson/lectures/L3/L3.html http://www.eecg.toronto.edu/~jayar/courses/aps105S/quizzes/quiz2b/node2.html http://www.theparticle.com/javadata2.html Data Structure Advantages Disadvantages 1 Linear Ordered List (Array) No additional storage is required Simple in operation Large overhead for updating (i.e. shifting of elements up or down the list) Static (elements cannot be added at run-time) 2 Queue (FIFO) Easy to update Enqueue at the tail of Queue Dequeue at the head of Queue Additional storage is required i.e. Head / Tail 3 Stack (LIFO) Push and Pop operation are always performed at the Stack Top i.e. Top 4 Linked List Insertion and Deletion are easier than those of a Linear List Dynamic (nodes can be added or removed at run-time) i.e. Head, Link to next node More complex algorithm is required for searching and updating is used