阵列可说是最基本的资料结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chapter 2 陣列 陣列可說是最基本的資料結構,也可將陣列稱為循序串列,因為每一元素的排列是依序的。 2.1 陣列的表示法 線性串列又稱循序串列(sequential list)或有序串列(ordered list)。其特性乃是每一項依據它在串列的位置,可以形成一個線性的排列次序,所以x[i]在 x[i + 1]之前。 2.1 陣列的表示法 線性串列經常發生的操作如下: 1. 取出串列中的第i項;0≤ i ≤ n-1。 2. 計算串列的長度。 3. 由左至右或由右至左讀此串列。 4. 在第i項加入一個新值,使其原來的第i,i+1,......,n項變為第i+1,i+2,......,n+1項。 5. 刪除第i項,使原來的第i+1,i+2,......,n項變為第i,i+1,......,n-1項。 2.1 陣列的表示法 在C程式語言中常利用陣列設置線性串列,以線性的對應方式將元素ai置於陣列的第i個位置上,若要讀取ai時,可利用ai的相對位址等於陣列的起始位址加i*d來求得,其中d是每一元素所佔空間的大小,不要忘記C的陣列從0開始喔! 2.1 陣列的表示法 2.1.1 一維陣列(one dimension array) 若陣列是A[0 : u-1],並假設每一個元素佔d個空間,則A[i]=α+i*d,其中α是陣列的起始位置。 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 陣列的表示法 2.1 陣列的表示法 由圖2-1知A[i,j]=α+i*u2d+j*d,其中α為此陣列第一個元素的位址 2.1 陣列的表示法 以行為主:視此陣列有u2個元素0, 1, 2, ..., u2,其中每一元素含有u1個單位,每單位佔d個空間,其情形如圖2-2所示: 2.1 陣列的表示法 2.1 陣列的表示法 由圖2-2知A[i,j]=α+j*u1d+i*d 2.1 陣列的表示法 假若陣列是A[s1 : u1 , s2 : u2],則此陣列共有m=u1- s1+1列,n=u2-s2+1行。計算A(i,j)的位址如下: 1. 以列為主: A[i,j]=α+(i-s1)nd+(j-s2)d 2. 以行為主: A[i,j]=α+(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.2 上三角形和下三角形表示法 若一矩陣的對角線以下的元素均為零時,亦即aij=0,ij,則稱此矩陣為上三角形矩陣(upper triangular matrix)。反之若一矩陣的對角線以上的元素均為零,亦即aij= 0,ij,此矩陣稱為下三角形矩陣(lower triangular matrix),如圖2-4所示: 2.2 上三角形和下三角形表示法 2.2 上三角形和下三角形表示法 由上述得知一個n×n個的上、下三角形矩陣共有[ n(n+1) ]/2個元素,依序對映至D(1:[ n(n+1) ]/2 ) 。 2.2 上三角形和下三角形表示法 1.以列為主: 一個n×n的上三角形矩陣其元素分別對映至D陣列,如下所示: ∴aij=D(k) 其中k=n(i-1)-[i(i-1)]/2+j 2.2 上三角形和下三角形表示法 例如圖2-4之(a)的a34元素對映D(k): k=4(3-1)-[3(3-1) ] /2 +4 = 8-3+4=9 2.2 上三角形和下三角形表示法 假使是一個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.2

文档评论(0)

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

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

1亿VIP精品文档

相关文档