• <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无码观看| 国内精品久久久久久久久电影网| 久久香蕉综合色一综合色88| 狠狠色丁香久久综合五月| 久久国产精品久久精品国产| 久久天天躁狠狠躁夜夜av浪潮 | 色老头网站久久网| 久久婷婷五月综合成人D啪| 久久精品a亚洲国产v高清不卡| 久久国产精品成人影院| 国产精品99久久久久久猫咪 | 国内精品九九久久久精品| 久久99精品久久久久久噜噜| 无码伊人66久久大杳蕉网站谷歌| 久久青草国产精品一区| 99久久做夜夜爱天天做精品| 国产精品热久久毛片| 色欲综合久久躁天天躁蜜桃| 久久久久亚洲AV成人网人人软件 | 一本一道久久综合狠狠老| 伊人色综合久久天天| 欧美丰满熟妇BBB久久久| 久久夜色撩人精品国产| 国产成人精品久久免费动漫| 思思久久99热免费精品6| 国产巨作麻豆欧美亚洲综合久久| 无码伊人66久久大杳蕉网站谷歌| 日韩十八禁一区二区久久 | 久久免费看黄a级毛片| 久久久久久国产a免费观看不卡| 国产产无码乱码精品久久鸭| 久久久久久精品免费看SSS| 久久亚洲国产成人精品无码区| 久久99国产精品久久| 69SEX久久精品国产麻豆| 久久精品中文闷骚内射| 人妻精品久久久久中文字幕一冢本| 国内精品综合久久久40p| 一本久久知道综合久久| 亚洲va中文字幕无码久久不卡|