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

            国内精品久久国产| 国产成人久久精品麻豆一区| 日本欧美久久久久免费播放网| 中文字幕人妻色偷偷久久| 久久九九全国免费| 久久久久久精品免费免费自慰 | 亚洲国产高清精品线久久| 久久精品国产亚洲AV忘忧草18| 99麻豆久久久国产精品免费| 欧美午夜A∨大片久久 | 99久久国产宗和精品1上映| 乱亲女H秽乱长久久久| 久久99久久无码毛片一区二区| 国产精品一区二区久久精品涩爱| 国产精品久久久久影视不卡| 日本国产精品久久| 国产精品久久网| 国产亚洲精品久久久久秋霞| 国产精品久久久久久久午夜片| 国产亚洲精久久久久久无码77777| 亚洲天堂久久精品| 久久精品国产久精国产思思| 国产精品久久新婚兰兰| 久久天天日天天操综合伊人av| 久久99精品国产麻豆宅宅| 亚洲中文字幕无码久久2017| 久久天天躁狠狠躁夜夜av浪潮 | 国产高潮久久免费观看| 久久精品亚洲精品国产色婷| 精品人妻伦九区久久AAA片69| 久久综合久久性久99毛片| 大美女久久久久久j久久| 热久久国产精品| 91精品婷婷国产综合久久 | 中文精品久久久久国产网址| 99久久免费国产精品热| 久久99国产精品二区不卡| 久久精品国产免费一区| 99久久婷婷国产综合精品草原| 99re这里只有精品热久久| 久久99国产精品久久99果冻传媒|