• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            千里暮云平

            常用鏈接

            統計

            最新評論

            數組與廣義表

            例1〖軟考題〗:一個二維數組A,行下標的范圍是1到6,列下標的范圍是0到7,每個數組元素用相鄰的6個字節存儲,存儲器按字節編址。那么,這個數組的體積是__個字節。
            答: Volume=m*n*L=(6-1+1)*(7- 0 +1)*6=48*6=288

            例2:已知二維數組Am,n按行存儲的元素地址公式是: Loc(aij)= Loc(a11)+[(i-1)*n+(j-1)]*K , 按列存儲的公式是?
            Loc(aij)=Loc(a11)+[(j-1)*m+(i-1)]*K  (盡管是方陣,但公式仍不同)

            Loc(aij)=Loc(a00)+(i*n+j)*K;
            Loc(aij)=Loc(a00)+(j*m+i)*K;

            例3:〖某考研題〗設數組a[1…60, 1…70]的基地址為2048,每個元素占2個存儲單元,若以列序為主序順序存儲,則元素a[32,58]的存儲地址為 __.
            利用列優先通式:
            LOC(aij)=LOC(ac1,c2)+[(j-c2)*(d1-c1+1)+i-c1)]*L
            得:LOC(a32,58)=2048+[(58-1)*(60-1+1)+32-1)]*2=8950
                                   。

             



            稀疏矩陣:

            define SMAX 1024 /*一個足夠大的數*/
              typedef struct
              { int i,j; /*非零元素的行、列*/
              datatype v; /*非零元素值*/
              }SPNode; /*三元組類型*/2
              typedef struct
              { int mu,nu,tu; /*矩陣的行、列及非零元素的個數*/
              SPNode data[SMAX]; /*三元組表*/
              } SPMatrix; /*三元組表的存儲類型*/

            轉置算法:

            void TransM1 (SPMatrix *A)
              { SPMatrix *B;
              int p,q,col;
              B=malloc(sizeof(SPMatrix)); /*申請存儲空間*/
              B->mu=A->nu; B->nu=A->mu; B->tu=A->tu;
              /*稀疏矩陣的行、列、元素個數*/
              if (B->tu>0) /*有非零元素則轉換*/
              { q=0;
              for (col=1; col<=(A->nu); col++) /*按A的列序轉換*/
              for (p=1; p<= (A->tu); p++) /*掃描整個三元組表*/
              if (A->data[p].j==col )
              { B->data[q].i= A->data[p].j ;
              B->data[q].j= A->data[p].i ;
              B->data[q].v= A->data[p].v;
              q++; }/*if*/
              } /*if(B->tu>0)*/
              return B;  /*返回的是轉置矩陣的指針*/
              } /*TransM1*/


            改進的轉置算法:
            SPMatrix * TransM2 (SPMatrix *A)
              { SPMatrix *B;
              int i,j,k;
              int num[n+1],cpot[n+1];
              B=malloc(sizeof(SPMatrix)); /*申請存儲空間*/
              B->mu=A->nu; B->nu=A->mu; B->tu=A->tu;
              /*稀疏矩陣的行、列、元素個數*/
              if (B->tu>0) /*有非零元素則轉換*/
              { for (i=1;i<=A->nu;i++) num[i]=0;
              for (i=1;i<=A->tu;i++)  /*求矩陣A中每一列非零元素的個數*/
              { j= A->data[i].j;
              num[j]++;
              }
              cpot[1]=1; /*求矩陣A中每一列第一個非零元素在B.data中的位置*/
              for (i=2;i<=A->nu;i++)
              cpot[i]= cpot[i-1]+num[i-1];
              for (i=1; i<= (A->tu); i++)  /*掃描三元組表*/
              { j=A->data[i].j; /*當前三元組的列號*/
              k=cpot[j];  /*當前三元組在B.data中的位置*/
              B->data[k].i= A->data[i].j ;
              B->data[k].j= A->data[i].i ;
              B->data[k].v= A->data[i].v;
              cpot[j]++;
              } /*for i */
              } /*if (B->tu>0)*/
              return B;  /*返回的是轉置矩陣的指針*/
              } /*TransM2*/

            posted on 2010-02-09 23:44 Adam 閱讀(96) 評論(0)  編輯 收藏 引用

            久久91精品国产91| 久久天天婷婷五月俺也去| 日产精品久久久久久久| 日韩人妻无码精品久久免费一 | 久久99毛片免费观看不卡| 人妻无码αv中文字幕久久| 精品久久久久香蕉网| 日本久久久久久中文字幕| 伊人久久大香线蕉综合网站| 97久久超碰成人精品网站| 亚洲精品无码久久毛片| 久久国产精品77777| 激情五月综合综合久久69| 久久久青草青青国产亚洲免观| 亚洲国产天堂久久久久久| 狠狠色丁香久久婷婷综合蜜芽五月| 无码伊人66久久大杳蕉网站谷歌 | 99久久夜色精品国产网站| 久久精品国产乱子伦| 国产伊人久久| 狠狠色丁香婷综合久久| 狠狠精品久久久无码中文字幕| 国产99久久久久久免费看| 亚洲精品无码成人片久久| 久久国产乱子伦精品免费午夜| 国产精品久久久久天天影视| 7777精品久久久大香线蕉| 一本色道久久88综合日韩精品 | 99久久伊人精品综合观看| 久久精品国产99久久无毒不卡| 成人精品一区二区久久| 性做久久久久久久| 国内精品久久久久久久久电影网| 久久精品国产亚洲5555| 国产精品久久自在自线观看| 97精品依人久久久大香线蕉97| 亚洲午夜精品久久久久久浪潮| 久久婷婷人人澡人人| 日日狠狠久久偷偷色综合96蜜桃| 97精品伊人久久久大香线蕉| 99久久精品九九亚洲精品|