Chapter2ArrayandMatrix.pptVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章重點 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為上標。 二維陣列(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) n維陣列 以行為主(column-major) 2-3 矩陣(matrix)的應用 基本上,數學的矩陣(matrix)是一種用來描述二維陣列的最好方式。 許多矩陣的運算與應用,都可以使用電腦中的二維陣列解決,例如討論到兩個矩陣的相加、相乘,或是某些稀疏矩陣(sparse matrix)、轉置矩陣(At)、上三角形矩陣(Upper Triangular Matrix)與下三角形矩陣(Lower Triangular Matrix)等等。 轉置矩陣 假設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)代表此稀疏

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档