• <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 閱讀(99) 評論(0)  編輯 收藏 引用

            成人国内精品久久久久影院| 国产午夜久久影院| 久久精品免费一区二区| 97久久精品午夜一区二区| 久久久久亚洲AV无码专区桃色 | 99久久国产综合精品女同图片| 72种姿势欧美久久久久大黄蕉| 久久黄视频| 欧美一区二区精品久久| 99久久国产宗和精品1上映| 国产精品欧美久久久久无广告| 一本色道久久综合狠狠躁| 久久精品成人一区二区三区| 91精品国产91久久综合| 伊人久久大香线蕉AV色婷婷色| 久久99精品久久久久久噜噜| 国产综合久久久久久鬼色| 精品国产日韩久久亚洲| 久久国产精品偷99| 伊人丁香狠狠色综合久久| 国产产无码乱码精品久久鸭| 狠狠色狠狠色综合久久| 奇米影视7777久久精品人人爽| 欧美激情精品久久久久久久九九九 | 99久久精品国产麻豆| 久久久久亚洲AV无码网站| 亚洲精品tv久久久久| 色88久久久久高潮综合影院| 日韩久久无码免费毛片软件| 久久婷婷人人澡人人| 久久久久九国产精品| 久久有码中文字幕| 日本亚洲色大成网站WWW久久 | 国产激情久久久久久熟女老人| 亚洲国产成人久久综合野外| 伊人久久成人成综合网222| 国产欧美久久久精品影院| 无码人妻少妇久久中文字幕蜜桃 | 国内精品久久久久影院日本| 久久精品国产清高在天天线| 77777亚洲午夜久久多喷|