书签 分享 收藏 举报 版权申诉 / 56
上传文档赚钱

类型使用C语言3024多项式表示法资料结构课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3034087
  • 上传时间:2022-06-24
  • 格式:PPT
  • 页数:56
  • 大小:1.58MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《使用C语言3024多项式表示法资料结构课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    使用 语言 3024 多项式 表示 资料 结构 课件
    资源描述:

    1、資料結構資料結構 - 使用使用 C 語言語言 2線性串列又稱循序串列(sequential list)或有序串列(ordered list)。其特性乃是每一項依據它在串列的位置,可以形成一個線性的排列次序,所以xi在xi + 1之前。資料結構資料結構 - 使用使用 C 語言語言 3線性串列經常發生的操作如下:n取出串列中的第i項;0 i n-1。n計算串列的長度。n由左至右或由右至左讀此串列。n在第i項加入一個新值,使其原來的第i,i+1,.,n項變為第i+1,i+2,.,n+1項。n刪除第i項,使原來的第i+1,i+2,.,n項變為第i,i+1,.,n-1項。資料結構資料結構 - 使用使用

    2、C 語言語言 4C程式語言表示法 在C程式語言中常利用陣列設置線性串列,以線性的對應方式將元素ai置於陣列的第i個位置上,若要讀取ai時,可利用ai的相對位址等於陣列的起始位址加i*d來求得,其中d是每一元素所佔空間的大小,不要忘記C的陣列從0開始喔!資料結構資料結構 - 使用使用 C 語言語言 5若陣列是A(0 : u-1),並假設每一個元素佔d個空間,則A(i)= l0 +i*d,其中l0是陣列的起始位置。資料結構資料結構 - 使用使用 C 語言語言 6假若有一陣列是A0 : u1-1, 0 : u2-1,表示此陣列有u1列及u2行;每一列是由u2個元素組成。二維陣列化成一維陣列時,對映方

    3、式有二種:一種以列為主(row-major),二為以行為主(column-major)。資料結構資料結構 - 使用使用 C 語言語言 7以列為主:視此陣列有u1個元素0, 1, 2, ., u1-1,每一元素有u2個單位,每個單位佔d個空間。其情形如圖2-1所示:由圖2-1知A(i,j)= l0 +i*u2d+j*d,其中為此陣列第一個元素的位址資料結構資料結構 - 使用使用 C 語言語言 8資料結構資料結構 - 使用使用 C 語言語言 9以行為主:視此陣列有u2個元素0, 1, 2, ., u2,其中每一元素含有u1個單位,每單位佔d個空間,其情形如圖2-2所示:由圖2-2知A(i,j)=

    4、l0 +j*u1d+i*d資料結構資料結構 - 使用使用 C 語言語言 10資料結構資料結構 - 使用使用 C 語言語言 11假若陣列是Al1 : u1 , l2 : u2,則此陣列共有m=u1- l1+1列,n=u2-l2+1行。計算A(i,j)的位址如下:n以列為主:A(i,j)= l0 +(i-s1)nd+(j-s2)dn以行為主:A(i,j)= l0 +(j-s2)md+(i-s1)d資料結構資料結構 - 使用使用 C 語言語言 12資料結構資料結構 - 使用使用 C 語言語言 13資料結構資料結構 - 使用使用 C 語言語言 14資料結構資料結構 - 使用使用 C 語言語言 15一般

    5、三維陣列皆先化為二維陣列後再對映到一維陣列,對映方式也有二種:n以列為主n以行為主資料結構資料結構 - 使用使用 C 語言語言 16以列為主:視此陣列有u1個u2u3的二維陣列,每一個二維陣列有u2個元素,每個u2皆有u3d個空間。資料結構資料結構 - 使用使用 C 語言語言 17以行為主資料結構資料結構 - 使用使用 C 語言語言 18資料結構資料結構 - 使用使用 C 語言語言 19資料結構資料結構 - 使用使用 C 語言語言 20假若有一n 維陣列(n dimension array)為A(0: u11, 0: u12, 0: u31, , 0: un1 ),表示A 陣列為n 維陣列,同

    6、樣n 維陣列亦有二種表示方式:(1)以列為主,(2)以行為主。資料結構資料結構 - 使用使用 C 語言語言 21資料結構資料結構 - 使用使用 C 語言語言 22矩陣相乘資料結構資料結構 - 使用使用 C 語言語言 23資料結構資料結構 - 使用使用 C 語言語言 24資料結構資料結構 - 使用使用 C 語言語言 25稀疏矩陣資料結構資料結構 - 使用使用 C 語言語言 26有一多項式p=anxn+an-1xn-1+.+a1x+a0,我們稱A為n次多項式,aixj是多項式的項(0 i n, 1 j n)其中ai為係數,x為變數,j為指數。資料結構資料結構 - 使用使用 C 語言語言 27多項式

    7、使用線性串列來表示有兩種方法:n使用一個n+2長度的陣列,依據指數由大至小依序儲存係數,陣列的第一個元素是此多項式最大的指數,如p=(n, an, an-1, ., a0) 。n另一種方法只考慮多項式中非零項的係數,若有m項,則使用一個2m+1長度的陣列來儲存,分別存每一個非零項的指數與係數,而陣列中的第一個元素是此多項式非零項的個數。資料結構資料結構 - 使用使用 C 語言語言 28例如有一多項式p=8x5+6x4+3x2+12分別利用第1種和第2種方式來儲存,其情形如下:np=(5, 8, 6, 0, 3, 0, 12)np=(4, 5, 8, 4, 6, 2, 3, 0, 12)資料結構

    8、資料結構 - 使用使用 C 語言語言 29假若是一個兩變數的多項式,那如何利用線性串列來儲存呢?此時需利用二維陣列,若m, n分別是兩變數最大的指數,則需要一個(m+1)(n+1)的二維陣列。如多項式pxy=8x5+6x4y3+4x2y+3xy2+7,則需要一個(5+1)(3+1)=24的二維陣列,表示的方法如下:資料結構資料結構 - 使用使用 C 語言語言 30資料結構資料結構 - 使用使用 C 語言語言 31兩多項式A、B相加其原理很簡單,比較兩多項式時,有下列三種情況:nA指數B指數;nA指數B指數;nA指數B指數。這三種情況的運作情形,請參閱程式實作。資料結構資料結構 - 使用使用 C

    9、 語言語言 32資料結構資料結構 - 使用使用 C 語言語言 33資料結構資料結構 - 使用使用 C 語言語言 34若一矩陣的對角線以下的元素均為零時,亦即aij=0,ij,則稱此矩陣為上三角形矩陣(upper triangular matrix)。反之若一矩陣的對角線以上的元素均為零,亦即aij= 0,ij,此矩陣稱為下三角形矩陣(lower triangular matrix),如圖2-4所示:資料結構資料結構 - 使用使用 C 語言語言 35由上述得知一個nn個的上、下三角形矩陣共有 n(n+1) /2個元素,依序對映至D(1: n(n+1) /2 ) 。資料結構資料結構 - 使用使用

    10、C 語言語言 36以列為主:一個nn的上三角形矩陣其元素分別對映至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資料結構資料結構 - 使用使用 C 語言語言 37假使是一個nn的下三角形矩陣,其元素分別對映至D陣列,如下所示: aij=D(k)其中k=i(i-1)/2+j 例如圖2-4之(b)的下三角形矩陣的a32位於D(k),而k=3(3-1) /2 +2=5資料結構資料結構 - 使用使用 C 語言語言 38以行為主:上三角形矩陣的對應情形如下: aij=

    11、D(k)其中k=j(j-1)/2+i例如圖2-4之(a)的a34位於D(k),其中k= 4(4-1) /2+3=6+3=9資料結構資料結構 - 使用使用 C 語言語言 39而下三角形矩陣對應情形如下: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資料結構資料結構 - 使用使用 C 語言語言 40由此可知上三角形矩陣以列為主和下三角形以行為主的計算方式略同,而上三角形矩陣以行為主的計算方式與下三角形以列為主的計算方式略同。資料結構資料結構 - 使用使用 C 語言語言 41有一nn的方

    12、陣,其中n為奇數,請你nn的魔術方陣,將1到n2的整數填入其中,使其各列、各行及對角線之和皆相等。資料結構資料結構 - 使用使用 C 語言語言 42做法很簡單,首先將1填入最上列的中間格,然後往左上方走,(1)以1的級數增加其值,並將此值填入空格;(2)假使方格已填滿,則在原地的下一方格填上數字,並繼續做;(3)若超出方陣,則往下到最底層或往右到最右方,視兩者那一個有方格,則將數目填上此方格;(4)若兩者皆無方格,則在原地的下一方格填上數字。資料結構資料結構 - 使用使用 C 語言語言 43例如有一55的方陣,其形成魔術方陣的步驟如下,並以上述(1)、(2)、(3)、(4)規則來說明。資料結構

    13、資料結構 - 使用使用 C 語言語言 441.將1填入此方陣最上列的中間方格,如下所示:資料結構資料結構 - 使用使用 C 語言語言 452.承1.往左上方走,由於超出方陣,依據規格(3)發現往下的最底層有空格,因此將2填上。如下所示:資料結構資料結構 - 使用使用 C 語言語言 463.承2.往左上方,依據規格(1)將3填上,然後再往左上方,此時,超出方陣,依據規則(3)將4填在最右方的方格,如下所示:資料結構資料結構 - 使用使用 C 語言語言 474.承3.往左上方,依據規則(1)將5填上,再往左上方時,此時方格已有數字,依據規則(2)往5的下方填,如下所示:資料結構資料結構 - 使用使

    14、用 C 語言語言 485.餘此類推,依據上述四個規格繼續填,填到15的結果如下:資料結構資料結構 - 使用使用 C 語言語言 496.承5.此時往左上方,發現往下的最底層和往右的最右方皆無空格,依據規則(4)在原地的下方,將此數字填上,如下所示:資料結構資料結構 - 使用使用 C 語言語言 507.繼續往下填,並依據規則(1)、(2)、(3)、(4)最後的結果如下:此時可以算算各行、各列及對角線之和是否皆相等,答案是肯定的,其和皆為65。資料結構資料結構 - 使用使用 C 語言語言 51奇數魔術方陣資料結構資料結構 - 使用使用 C 語言語言 52 在1970 年由英國數學家J. H.CONWAY 所提出。生命細胞遊戲將陣列元素視為細胞,而某一細胞鄰居乃是指在其垂直、水平、對角線相鄰之細胞(cells)。資料結構資料結構 - 使用使用 C 語言語言 53資料結構資料結構 - 使用使用 C 語言語言 54資料結構資料結構 - 使用使用 C 語言語言 55資料結構資料結構 - 使用使用 C 語言語言 56由上規則可得:有0, 1, 4, 5, 6, 7, 8 個相鄰細胞者在下一代將因孤單或擁擠而死。有2 個相鄰活細胞者,下一代會繼續其狀態不會改變。有3 個相鄰活細胞者不管其現在是生是死,下一代一定會是活的。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:使用C语言3024多项式表示法资料结构课件.ppt
    链接地址:https://www.163wenku.com/p-3034087.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库