已知稀疏矩阵采用带行表的三元组表表示,其形式说明如下:
define MaxRow 100 //稀疏矩阵的最大行数
typedef struct{
int i,j,v; //行号、列号、元素值
}TriTupleNode;
typedef struct{
TriTupleNode data[MaxSize];
int RowTab[MaxRow+1]; //行表
int m,n,t; //矩阵的行数、列数和非零元个数
}RTriTupleTable; 下列算法f31的功能是,以行优先的顺序输入稀疏矩阵的非零元(行号、列号、元素值),建立稀疏矩阵的带行表的三元组表存储结构。请在空缺处填入合适内容,使其成为一个完整的算法。(注:矩阵的行、列下标均从1起计)
void f31(RTriTupleTable*R)
{ int i,k;
scanf("%d%d%d",&R—>m,&R—>n,&LR—>t);
R—>RowTab[1]=0;
k=1; //k指示当前输入的非零元的行号
for(i=0;[ ① ];i++)
{ scanf("%d%d%d",[ ② ],[ ③ ],&R—>data[i].v);
while(k<R->data[i].i)
{[ ④ ];
R—>RowTab[k]=i;
}
}
}
若某矩阵元素在B中存放的位置为k,那么该元素在原矩阵中的行号i是()。
A、
B、
C、
D、
假设以带双亲指针的二叉链表作为-二叉树的存储结构,其结点结构的类型说明如下所示:
typedef char DataType;
typedef struct node{
DataType data;
struct node*lchild,*rchild; //左右孩子指针
struct node*parent; //指向双亲的指针
}BinTNode;
typedef BinTNode*BinTree;
若px为指向非空二叉树中某个结点的指针,可借助该结构求得px所指结点在二叉树的中序序列中的后继。
1. 就后继的不同情况,简要叙述实现求后继操作的方法;
在R3中,己知向量a在基下的坐标为,向量β在基下的坐标为(0,-1,1)',求:
(1)由基到基的过渡矩阵;
(2)向量a+β在基下的坐标。
A.模板的虚拟磁盘文件始终以稀疏格式存储
B.模板无法启动
C.虚拟机可以转换为模板,而模板不可以转化为虚拟机
D.虚拟机和模板必须存储在不通的数据存储中
互联网是一张有向图,每一个网页是图的一个顶点,网页间的每一个超链接是图的一个边,邻接矩阵B=(b)w如果从网页i到网页j有超链接,则by=1,否则为0。
记矩阵B的列和及行和分别是它们分别给出了页面j的链人链接数目和页面i的链出链接数目。假如在上网时浏览页面并选择下一个页面的过程,与过去浏览过哪些页面无关,而仅依赖于当前所在的页面。那么这一-选择过程可以认为是一一个有限状态、离散时间的随机过程,其状态转移规律用Markov链描述。定义矩阵A=(ay)wxn为式中:d是模型参数,通常取d=0.85;A是Markov链的转移概率矩阵;ay表示从页面i转移到页而j的概率。根据Markov链的基本性质,对于正则Markov链存在平稳分布x=式中:x为在极限状态(转移次数趋于无限)下各网页被访问的概率分布,Google将它定义为各网页的PageRank值。假设x已经得到,则它按分量满足方程网页i的PageRank值是划,它链出的页面有τ个,于是页面i将它的PageRank值分成r份,分别“投票"给它链出的网页。x为网页k的PageRank值,即网络上所有页面“投票给网页k的最终值。根据Markov链的基本性质还可以得到,平稳分布(即PageRank值)是转移概率矩阵A的转置矩阵AT的最大特征值(=1)所对应的归一化特征向量。
已知一个N=6的网络如图4.8所示,求它的PageRank取值。