• <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)  編輯 收藏 引用

            一本色综合久久| 97久久久精品综合88久久| 久久se精品一区精品二区国产| 欧美精品一区二区精品久久 | 久久国产欧美日韩精品免费| 国产69精品久久久久99尤物| 日韩精品无码久久一区二区三| 中文字幕乱码人妻无码久久| 久久精品国产精品青草| 欧美伊人久久大香线蕉综合| 国产91色综合久久免费分享| 婷婷久久五月天| 99久久精品这里只有精品| 久久www免费人成看片| 亚洲国产精品久久66| 亚洲精品午夜国产VA久久成人| 国产精品日韩欧美久久综合| 久久无码人妻一区二区三区| 久久精品亚洲AV久久久无码| 久久99久久无码毛片一区二区| 久久天天躁狠狠躁夜夜躁2O2O| 亚洲午夜福利精品久久| 国产成人精品久久综合| 精品午夜久久福利大片| 久久精品无码一区二区无码| 久久人人爽人人爽人人片AV麻烦| 久久成人国产精品一区二区| 久久线看观看精品香蕉国产| 麻豆亚洲AV永久无码精品久久| 国产精品亚洲综合久久| 久久免费视频1| 噜噜噜色噜噜噜久久| 2021国产精品久久精品| 一本久久免费视频| 久久精品免费全国观看国产| 国产精品99久久久精品无码 | 久久精品国产一区二区| 国产成人无码精品久久久免费 | 国产69精品久久久久9999APGF| 日产久久强奸免费的看| 久久无码专区国产精品发布|