Chapter 2 陣列 2.1 陣列表示法 2.2 C 語言的陣列表示法 2.3 矩陣 2.4 多項式表示法

Slides:



Advertisements
Similar presentations
工職數學 第四冊 第一章 導 數 1 - 1 函數的極限與連續 1 - 2 導數及其基本性質 1 - 3 微分公式 1 - 4 高階導函數.
Advertisements

大綱 1. 三角函數的導函數. 2. 反三角函數的導函數. 3. 對數函數的導函數. 4. 指數函數的導函數.
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
Introduction to C Programming
圓的一般式 內容說明: 由圓的標準式展出圓的一般式.
1.1 利用平方差及完全平方的恆等式 分解因式 A 利用平方差的恆等式 B 利用完全平方的恆等式 目錄.
圓的一般式 內容說明: 由圓的標準式展出圓的一般式.
陣列 Array chapter 3 德明科技大學資訊科技系.
第四章 數列與級數 4-1 等差數列與級數 4-2 等比數列與級數 4-3 無窮等比級數 下一頁 總目錄.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
会计账簿 6 会计账簿的概念、意义、种类 会计账簿的格式及登记 结帐与对账 上海大学 会计系.
資料結構 Data Structure.
第2章 陣列與結構 (Arrays and Structures)
資料結構 第2章 陣列.
資料結構 第3章 鏈結串列.
Chapter 2 陣列結構 資料結構導論 - C語言實作.
資料結構設計與C++程式應用 Fundamentals of Data Structures and Their Applications Using C++ 第3章 佇列 資料結構設計與C++程式應用.
陣 列.
Chapter 2 陣列結構 資料結構導論 - C語言實作.
第二章 鏈結串列 2-1 線性串列 2-2 認識陣列 2-3 矩陣的簡介與運算 2-4 陣列與多項式.
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
第八章 欧氏空间 8.1 向量的内积 8.2 正交基 8.3 正交变换 8.4 对称变换和对称矩阵.
資料結構與演算法 第二章 陣列.
Chap 2 Array (陣列).
學習 2019/1/12. 學習 2019/1/12 Chapter 3 鏈結串列結構 資料結構導論 - C語言實作.
Java 程式設計 講師:FrankLin.
數學在實驗設計的一些應用 鄭清水 2004年4月24日 國際數學奧林匹亞競賽第二階段選訓營.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
第一章 直角坐標系 1-1 數系的發展.
線 性 代 數 第 3 章 行列式.
Chapter 2 聯立線性方程式與矩陣 授課教師:李金鳳(Amy Lee)
陣列(Array).
數學 近似值 有效數值.
陣列 (Array)      授課老師:蕭志明.
Definition of Trace Function
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
第 2 章 陣列(Array)與矩陣(Matrix)的運算
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
如何利用範本來製作網頁.
大綱:加減法的化簡 乘除法的化簡 去括號法則 蘇奕君 台灣數位學習科技股份有限公司
挑戰C++程式語言 ──第8章 進一步談字元與字串
Graph Theory Chapter 2 An Introduction to Algorithms
遞迴關係-排列組合.
The Flow of PMOS’s Mobility (Part2)
向量 (vector) 就是典型的一維陣列,而更高維的矩陣,例如矩陣 (matrix) 和張量 (tensor) 則分別是二維和三維的陣列。
C qsort.
體積.
陣列的位址計算.
反矩陣與行列式 東海大學物理系‧數值分析.
陣列與結構.
3-5 多項式方程式 實係數多項式方程式及其根 多項式方程式的解法 虛根成對定理 勘根定理 正數a的正n次方根.
第 三 章 陣 列 課程名稱:資料結構 授課老師:________ 2019/5/15.
5. 令圖畫動起來 Tween 功能介紹 移動效果 顏色漸變效果 形狀漸變效果 離開.
11058: Encoding ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
例題 1. 多項式的排列 1-2 多項式及其加減法 將多項式 按下列方式排列: (1) 降冪排列:______________________ (2) 升冪排列:______________________ 排列 降冪:次數由高至低 升冪;次數由低至高.
1757: Secret Chamber at Mount Rushmore
( )下列何者正確? (A) 7< <8 (B) 72< <82 (C) 7< <8 (D) 72< <82 C 答 錯 對.
3.1 矩陣的行列式 3.2 使用基本運算求行列式 3.3 行列式的性質 3.4 特徵值介紹 3.5 行列式的應用
第一章 直角坐標系 1-3 函數及其圖形.
在直角坐標平面上兩點之間 的距離及平面圖形的面積
資料結構使用Java 第5章 串列程式實作.
3-5 多項式方程式 實係數多項式方程式及其根 一般而言,可化成 f (x)=0 形式的方程式,其中
Array(陣列) Anny
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
§4.5 最大公因式的矩阵求法( Ⅱ ).
7. 三角學的應用 正弦公式 餘弦公式 a2 = b2 + c2 - 2bc cos A b2 = a2 + c2 - 2ac cos B
快取映射 之直接對映 計算整理.
第三章 比與比例式 3-1 比例式 3-2 連比例 3-3 正比與反比.
Presentation transcript:

Chapter 2 陣列 2.1 陣列表示法 2.2 C 語言的陣列表示法 2.3 矩陣 2.4 多項式表示法 2.1 陣列表示法 2.2 C 語言的陣列表示法 2.3 矩陣 2.4 多項式表示法 2.5 上三角形和下三角形表示法 2.6 魔術方陣 2.7 生命細胞遊戲

2.1 陣列的表示法 線性串列又稱循序串列(sequential list)或有序串列(ordered list)。 2.1 陣列的表示法 線性串列又稱循序串列(sequential list)或有序串列(ordered list)。 其特性乃是每一項依據它在串列的位置,可以形成一個線性的排列次序,所以 x[i]在x[i + 1]之前。

2.1 陣列的表示法 線性串列經常發生的操作如下: 取出串列中的第i項;0≤ i ≤ n-1。 計算串列的長度。 2.1 陣列的表示法 線性串列經常發生的操作如下: 取出串列中的第i項;0≤ i ≤ n-1。 計算串列的長度。 由左至右或由右至左讀此串列。 在第i項加入一個新值,使其原來的第i,i+1,......,n項變為第i+1,i+2,......,n+1項。 刪除第i項,使原來的第i+1,i+2,......,n項變為第i,i+1,......,n-1項。

2.1 陣列的表示法 C程式語言表示法 在C程式語言中常利用陣列設置線性串列,以線性的對應方式將元素ai置於陣列的第i個位置上,若要讀取ai時,可利用ai的相對位址等於陣列的起始位址加i*d來求得,其中d是每一元素所佔空間的大小,不要忘記C的陣列從0開始喔!

2.1 陣列的表示法 2.1.1 一維陣列(one dimension array) 2.1 陣列的表示法 2.1.1 一維陣列(one dimension array) 若陣列是A(0 : u-1),並假設每一個元素佔d個空間,則A(i)= l0 +i*d,其中l0是陣列的起始位置。

2.1 陣列的表示法 2.1.2 二維陣列 假若有一陣列是A[0 : u1-1, 0 : u2-1],表示此陣列有u1列及u2行;每一列是由u2個元素組成。 二維陣列化成一維陣列時,對映方式有二種:一種以列為主(row-major),二為以行為主(column-major)。

2.1 陣列的表示法 以列為主: 視此陣列有u1個元素0, 1, 2, ..., u1-1,每一元素有u2個單位,每個單位佔d個空間。 其情形如圖2-1所示: 由圖2-1知A(i,j)= l0 +i*u2d+j*d,其中α為此陣列第一個元素的位址

2.1 陣列的表示法

2.1 陣列的表示法 以行為主: 視此陣列有u2個元素0, 1, 2, ..., u2,其中每一元素含有u1個單位,每單位佔d個空間,其情形如圖2-2所示: 由圖2-2知A(i,j)= l0 +j*u1d+i*d

2.1 陣列的表示法

2.1 陣列的表示法 假若陣列是A[l1 : u1 , l2 : u2],則此陣列共有m=u1- l1+1列,n=u2-l2+1行。 2.1 陣列的表示法 假若陣列是A[l1 : u1 , l2 : u2],則此陣列共有m=u1- l1+1列,n=u2-l2+1行。 計算A(i,j)的位址如下: 以列為主:A(i,j)= l0 +(i-s1)nd+(j-s2)d 以行為主:A(i,j)= l0 +(j-s2)md+(i-s1)d

2.1 陣列的表示法

2.1 陣列的表示法

2.1 陣列的表示法 2.1.3 三維陣列

2.1 陣列的表示法 一般三維陣列皆先化為二維陣列後再對映到一維陣列,對映方式也有二種: 以列為主 以行為主

2.1 陣列的表示法 以列為主:視此陣列有u1個u2×u3的二維陣列,每一個二維陣列有u2個元素,每個u2皆有u3d個空間。

2.1 陣列的表示法 以行為主

2.1 陣列的表示法

2.1 陣列的表示法

2.1 陣列的表示法 2.1.4 n維陣列 假若有一n 維陣列(n dimension array)為A(0: u1–1, 0: u1–2, 0: u3–1, … , 0: un–1 ),表 示A 陣列為n 維陣列,同樣n 維陣列亦有二種表示方式:(1)以列為主,(2)以行為主。

2.2 C語言的陣列表示方法

2.3 矩陣 矩陣相乘

2.3 矩陣

2.3 矩陣

2.3 矩陣 稀疏矩陣

2.4 多項式表示法 有一多項式p=anxn+an-1xn-1+...+a1x+a0,我們稱A為n次多項式,aixj是多項式的項(0≤ i ≤ n, 1≤ j ≤ n)其中ai為係數,x為變數,j為指數。

2.4 多項式表示法 多項式使用線性串列來表示有兩種方法: 2.4 多項式表示法 多項式使用線性串列來表示有兩種方法: 使用一個n+2長度的陣列,依據指數由大至小依序儲存係數,陣列的第一個元素是此多項式最大的指數,如p=(n, an, an-1, ..., a0) 。 另一種方法只考慮多項式中非零項的係數,若有m項,則使用一個2m+1長度的陣列來儲存,分別存每一個非零項的指數與係數,而陣列中的第一個元素是此多項式非零項的個數。

2.4 多項式表示法 例如有一多項式p=8x5+6x4+3x2+12分別利用第1種和第2種方式來儲存,其情形如下: 2.4 多項式表示法 例如有一多項式p=8x5+6x4+3x2+12分別利用第1種和第2種方式來儲存,其情形如下: p=(5, 8, 6, 0, 3, 0, 12) p=(4, 5, 8, 4, 6, 2, 3, 0, 12)

2.4 多項式表示法 假若是一個兩變數的多項式,那如何利用線性串列來儲存呢? 此時需利用二維陣列,若m, n分別是兩變數最大的指數,則需要一個(m+1)×(n+1)的二維陣列。 如多項式pxy=8x5+6x4y3+4x2y+3xy2+7,則需要一個(5+1)×(3+1)=24的二維陣列,表示的方法如下:

2.4 多項式表示法

2.4 多項式表示法 兩多項式A、B相加其原理很簡單,比較兩多項式時,有下列三種情況: 這三種情況的運作情形,請參閱程式實作。 2.4 多項式表示法 兩多項式A、B相加其原理很簡單,比較兩多項式時,有下列三種情況: A指數=B指數; A指數>B指數; A指數<B指數。 這三種情況的運作情形,請參閱程式實作。

2.4 多項式表示法

2.4 多項式表示法

2.5 上三角形和下三角形表示法 若一矩陣的對角線以下的元素均為零時,亦即aij=0,i>j,則稱此矩陣為上三角形矩陣(upper triangular matrix)。 反之若一矩陣的對角線以上的元素均為零,亦即aij= 0,i<j,此矩陣稱為下三角形矩陣(lower triangular matrix),如圖2-4所示:

2.5 上三角形和下三角形表示法 由上述得知一個n×n個的上、下三角形矩陣共有[ n(n+1) ]/2個元素,依序對映至D(1:[ n(n+1) ]/2 ) 。

2.5 上三角形和下三角形表示法 以列為主: 一個n×n的上三角形矩陣其元素分別對映至D陣列,如下所示: ∴aij=D(k) 其中k=n(i-1)-[i(i-1)]/2+j 例如圖2-4之(a)的a34元素對映D(k): k=4(3-1)-[3(3-1) ] /2 +4 = 8-3+4=9

2.5 上三角形和下三角形表示法 假使是一個n×n的下三角形矩陣,其元素分別對映至D陣列,如下所示: ∴aij=D(k)其中k=[i(i-1)]/2+j 例如圖2-4之(b)的下三角形矩陣的a32位於D(k),而k=[3(3-1) ] /2 +2=5

2.5 上三角形和下三角形表示法 以行為主: 上三角形矩陣的對應情形如下: ∴aij=D(k) 其中k=[j(j-1)]/2+i 2.5 上三角形和下三角形表示法 以行為主: 上三角形矩陣的對應情形如下: ∴aij=D(k) 其中k=[j(j-1)]/2+i 例如圖2-4之(a)的a34位於D(k),其中 k=[ 4(4-1) ] /2+3=6+3=9

2.5 上三角形和下三角形表示法 而下三角形矩陣對應情形如下: ∴aij=D(k)其中k=n(j-1)-[j(j-1)]/2+i 2.5 上三角形和下三角形表示法 而下三角形矩陣對應情形如下: ∴aij=D(k)其中k=n(j-1)-[j(j-1)]/2+i 如圖2-4之(b)的a32位於D(k),其中 k=4(2-1)-[2(2-1) /2 ]+3=4-1+3=6

2.5 上三角形和下三角形表示法 由此可知上三角形矩陣以列為主和下三角形以行為主的計算方式略同,而上三角形矩陣以行為主的計算方式與下三角形以列為主的計算方式略同。

2.6 魔術方陣 有一n×n的方陣,其中n為奇數,請你n×n的魔術方陣,將1到n2的整數填入其中,使其各列、各行及對角線之和皆相等。

2.6 魔術方陣 做法很簡單,首先將1填入最上列的中間格,然後往左上方走,(1)以1的級數增加其值,並將此值填入空格;(2)假使方格已填滿,則在原地的下一方格填上數字,並繼續做;(3)若超出方陣,則往下到最底層或往右到最右方,視兩者那一個有方格,則將數目填上此方格;(4)若兩者皆無方格,則在原地的下一方格填上數字。

2.6 魔術方陣 例如有一5×5的方陣,其形成魔術方陣的步驟如下,並以上述(1)、(2)、(3)、(4)規則來說明。

2.6 魔術方陣 將1填入此方陣最上列的中間方格,如下所示:

2.6 魔術方陣 承1.往左上方走,由於超出方陣,依據規格(3)發現往下的最底層有空格,因此將2填上。如下所示:

2.6 魔術方陣 承2.往左上方,依據規格(1)將3填上,然後再往左上方,此時,超出方陣,依據規則(3)將4填在最右方的方格,如下所示:

2.6 魔術方陣 承3.往左上方,依據規則(1)將5填上,再往左上方時,此時方格已有數字,依據規則(2)往5的下方填,如下所示:

2.6 魔術方陣 餘此類推,依據上述四個規格繼續填,填到15的結果如下:

2.6 魔術方陣 承5.此時往左上方,發現往下的最底層和往右的最右方皆無空格,依據規則(4)在原地的下方,將此數字填上,如下所示:

2.6 魔術方陣 繼續往下填,並依據規則(1)、(2)、(3)、(4)最後的結果如下: 2.6 魔術方陣 繼續往下填,並依據規則(1)、(2)、(3)、(4)最後的結果如下: 此時可以算算各行、各列及對角線之和是否皆相等,答案是肯定的,其和皆為65。

2.6 魔術方陣 奇數魔術方陣

2.7 生命細胞遊戲 在1970 年由英國數學家J. H.CONWAY 所提出。生命細胞遊戲將陣列元素視為細胞,而某一細胞鄰居乃是指在其垂直、水平、對角線相鄰之細胞(cells)。

2.7 生命細胞遊戲

2.7 生命細胞遊戲

2.7 生命細胞遊戲

2.7 生命細胞遊戲 由上規則可得: 有0, 1, 4, 5, 6, 7, 8 個相鄰細胞者在下一代將因孤單或擁擠而死。 2.7 生命細胞遊戲 由上規則可得: 有0, 1, 4, 5, 6, 7, 8 個相鄰細胞者在下一代將因孤單或擁擠而死。 有2 個相鄰活細胞者,下一代會繼續其狀態不會改變。 有3 個相鄰活細胞者不管其現在是生是死,下一代一定會是活的。