本章重點 2-1 有序串列(Ordered List) 2-2 介紹陣列(array) 2-3 矩陣(matrix)的應用

Slides:



Advertisements
Similar presentations
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
Advertisements

布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
:New Land ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11871: New Land 解題者:施博修 解題日期: 2011 年 6 月 8 日 題意:國王有一個懶兒子,為了勞動兒子,他想了一個 辦法,令他在某天早上開始走路,直到太陽下山前,靠.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
: Matrix Decompressing ★★★★☆ 題組: Contest Volumes with Online Judge 題號: 11082: Matrix Decompressing 解題者:蔡權昱、劉洙愷 解題日期: 2008 年 4 月 18 日 題意:假設有一矩陣 R*C,
5.1 Rn上之長度與點積 5.2 內積空間 5.3 單範正交基底:Gram-Schmidt過程 5.4 數學模型與最小平方分析
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
JAVA 程式設計與資料結構 第十四章 Linked List. Introduction Linked List 的結構就是將物件排成一列, 有點像是 Array ,但是我們卻無法直接經 由 index 得到其中的物件 在 Linked List 中,每一個點我們稱之為 node ,第一個 node.
MATLAB 程式設計 第 11 章 多維陣列 多維陣列的定義 在 MATLAB 的資料型態中,向量可視為 一維陣列,矩陣可視二維陣列,對於維 度 (Dimensions) 超過 1 的陣列則均可視 為「多維陣列」 (Multidimesional Arrays , 簡稱 N-D Arrays)
陣列的抽象定義是一組具有相同資料 型態 (data type) 的元素,所組成 的有序集合 (ordered set) ,通常 儲存在一塊連續的記憶體上 。 陣列的應用技巧可開啟善用陣列資料 結構之門。 陣列在實體記憶空間中配置的關係可 引領各位瞭解陣列資料結構如何存放 在電腦中,以及程式語言、編譯器如.
8.1 何謂高度平衡二元搜尋樹 8.2 高度平衡二元搜尋樹的加入 8.3 高度平衡二元搜尋樹的刪除
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Chapter 07 低階程式語言.
1 單元三 查詢結果的引用分析 Web of Science 利用指引 查看出版及被引用情況 在查詢結果的清單中,可以瀏覽近 20 年來查詢主題出版和被引用的情況。
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
1 第四章 多變數函數的微分學 § 4.1 偏導數定義 定義 極限值 ■. 2 定理 極限值的基本定理 (1) 極限值的唯一性 : 若 存在,則 其值必為唯一。 (2) 若 且 ( 與 為常數 ) , 則 且 為常數且.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
7 陣列與搜尋 7.1 陣列 一般資料變數 宣告一維陣列 起始一維陣列 7-4
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
3.1 矩陣的行列式 3.2 使用基本運算求行列式 3.3 行列式的性質 3.4 特徵值介紹 3.5 行列式的應用
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
第十章 再論結構. 指標與結構的關係 /* File name: ex10-1a.c */ #include int main() { struct student { char *name; int score; }; struct student st= {"Brian", 97}; struct.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
結構學(一) 第七次作業 97/05/15.
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
第六章 陣列.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
觀測量的權 權的觀念與計算.
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
第五章 內積空間 5.1 Rn上之長度與點積 5.2 內積空間 5.3 單範正交基底:Gram-Schmidt過程
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
2005/7 Linear system-1 The Linear Equation System and Eliminations.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
連續隨機變數 連續變數:時間、分數、重量、……
Visual C++重點複習.
資料結構實習-六.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標  描述作業系統的兩個主要任務  定義記憶體及程序管理  解釋邏輯位址與實體位址間的關係  基礎:第 5.2 節 范紐曼 電腦架構  ( 第 5 章講義第 頁 )
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
1 柱體與錐體 1. 找出柱體與錐體的規則 2. 柱體的命名與特性 3. 柱體的展開圖 4. 錐體的命名與特性 5. 錐體的展開圖
Presentation transcript:

本章重點 2-1 有序串列(Ordered List) 2-2 介紹陣列(array) 2-3 矩陣(matrix)的應用 2-4 陣列與多項式應用

2-1 有序串列(Ordered List) 就是一個有序串列,而且序列中元素的資料型態是數字。而有序串列的定義,可以形容如下: 有序串列可以是空集合,或者可寫成(a1,a2,a3...,an-1,an)。 存在唯一的第一個元素a1與存在唯一的最後一個元素an。 除了第一個元素a1外,每一個元素都有唯一的先行者(precessor),例如ai的先行者為ai-1。 除了最後一個元素an外,每一個元素都有唯一的後續者(successor),例如ai+1是ai的後續者。

8種常見的運算 計算串列的長度n。 取出串列中的第i項元素來加以修正。 插入一個新元素到第i項,並使得原來的第i,i+1...,n項,後移變成i+1,i+2...,n+1項。 刪除第i項的元素,並使得第i+1,i+2,…n項,前移變成第i,i+1...,n-1項。 從右到左或從左到右讀取串列中各個元素的值。 在第i項存入新值,並取代舊值。 複製串列。 合併串列。

有序串列在電腦中的儲存方式 按照記憶體儲存的方式,可區分為以下兩種方式: 靜態資料結構: 動態資料結構: 或稱為密集串列(dense list),它是一種將有序串列的資料使用連續記憶空間(contiguous allocation)來儲存。例如陣列型態就是一種典型的靜態資料結構。 動態資料結構: 又稱為鍵結串列(linked list),它是一種將有序串列的資料使用不連續記憶空間來儲存。例如指標(pointer)型態就是一種典型的動態資料結構。

2-2 介紹陣列(array) 五種屬性: 起始位址:表示陣列名稱(或陣列第一個元素)所在記憶體中的起始位址。 維度(dimension):代表此陣列為幾維陣列,如一維陣列、二維陣列、三維陣列等等。 索引上下限:指元素在此陣列中,記憶體所儲存位置的上標與下標。 陣列元素個數:是索引上限與索引下限的差+1。 陣列型態:宣告此陣列的型態,它決定陣列元素在記憶體所佔有的大小。

一維陣列(one-dimension array) 陣列A宣告為A(1:u1),表示A為含n個元素的一維陣列,其中1為下標,u1為上標。 A(1)、A(2) 、 A(3) 、..................A(u1) α 、α+1*d、α+2*d 、.................α+( u1-1)*d Loc(A(i))= α+(i-1)*d (Loc(A(i))表示A(i)所在的位址)

二維陣列(two-dimension array) 假設陣列A宣告為(1:m,1:n),表示A為一個含有m*n個元素的二維陣列名稱,且有m 個列與n個行。我們可以把A(i,j)元素想像成平面上矩陣圖

陣列元素與記憶體位址關係 通常依照不同的語言,又可區分為兩種方式: 以列為主(row-major) Loc(A(i,j))= α+n*(i-1)*d+(j-1)*d 以行為主(column-major) Loc(A(i,j))= α+(i-1)*d+m*(j-1)*d

三維陣列(three-dimension array) 如果陣列A宣告為A(1:u1,1:u2,1:u3),表示A為一個含有u1*u2*u3元素的三維陣列。我們可以把A(i,j,k)元素想像成空間上的立方體圖

三維陣列-以列為主 以列為主(row-major) Loc(A(i,j,k))=α+(i-1)*u2*u3*d+(j-1)*u3*d+(k-1)*d

三維陣列-以行為主 以行為主(column-major) Loc(A(i,j,k))=α+(i-1)*u2*u3*d+(j-1)*u3*d+(k-1)*d

n維陣列 以列為主(row-major) Loc(A(i1,i2,i3………,in))= α+(i1-1)u2u3u4……und +(i2-1)u3u4……und +(i3-1)u4u5……und +(i4-1)u5u6……und +(i5-1)u6u7……und : +(in-1-1)und +(in-1)d

n維陣列 以行為主(column-major) Loc(A(i1,i2,i3………,in))= α+(in-1)un-1un-2……u1d +(in-1-1)un-2……u1d : : +(i2-1-1)u1d +(i1-1)d

2-3 矩陣(matrix)的應用 基本上,數學的矩陣(matrix)是一種用來描述二維陣列的最好方式。 許多矩陣的運算與應用,都可以使用電腦中的二維陣列解決,例如討論到兩個矩陣的相加、相乘,或是某些稀疏矩陣(sparse matrix)、轉置矩陣(At)、上三角形矩陣(Upper Triangular Matrix)與下三角形矩陣(Lower Triangular Matrix)等等。

矩陣的相加 1 3 5 7 9 11 13 15 17 A矩陣 10 11 12 13 14 15 16 17 18 C矩陣 9 8 7 6 5 4 13 2 1 B矩陣 + 3x3

轉置矩陣 假設A為mxn矩陣,則At為nxm矩陣,對每一個A(i,j)=At(j,k)則稱At為A的轉置矩陣。

矩陣的乘積 A為一個mxn矩陣,B為一個nxp矩陣;也就是A矩陣的行數必須與B矩陣的列數相等。 AxB之後的乘積必須為一個mxp矩陣C。

矩陣的乘積計算公式

稀疏矩陣(Sparse Matrix) 稀疏矩陣最簡單的定義就是一個矩陣中大部份的元素為0,即可稱為「稀疏矩陣」。

稀疏矩陣的儲存 傳統的方式會浪費記憶體空間。 改進方法:假如一個稀疏矩陣有n個非零項目,那麼可以利用一個A(0:t,1:3)的二維陣列來表示。其中A(0,1)代表此稀疏矩陣的列數,A(0,2)代表此稀疏矩陣的行數,而A(0,3)則是此稀疏矩陣非零項目的總數。

三項式稀疏矩陣表示方式

上三角形矩陣(Upper Triangular Matrix) 上三角形矩陣就是一種對角線以下元素皆為0的nxn矩陣。其中又可分為右上三角形矩陣(Right Upper Triangular Matrix)與左上三角形矩陣(Left Upper Triangular Matrix)。

右上三角形矩陣

以列為主

以行為主

左上三角形矩陣

下三角形矩陣(Lower Triangular Matrix) 與上角形矩陣相反,就是一種對角線以上元素皆為0的nxn矩陣。 對映到一維陣列B(1:n(n+1))的方式,也可區分為以列為主及以行為主兩種陣列記憶體配置方式。

左下三角形矩陣

右下三角形矩陣

2-4 陣列與多項式的應用 多項式使用陣列結構,可以使用底下兩種模式: 2-4 陣列與多項式的應用 多項式使用陣列結構,可以使用底下兩種模式: 使用一個n+2長度的一維陣列存放,陣列的第一個位置儲存最大指數n,其他位置依照指數n遞減,依序儲存相對應的係數: P=(n,an,an-1,……,a1,a0)儲存在A(1:n+2) 例如P(x)=2x5+3x4+5x2+4x+1,可轉換為成A陣列來表示=>A={5,2,3,0,5,4,1} 只儲存多項式中非零項目。 P(x)=2x5+3x4+5x2+4x+1,可表示成A(1:2m+1)陣列 =>A={5,2,5,3,4,5,2,4,1,1,0}