1
将一个10*10对称矩阵M的上三角部分的元素mi,j(1<= i<= j <=10)按列优先存入C语言的一维数组N中,元素m7,2在N中的下标是 22
因为是对称矩阵,所以在存储的时候只存储上三角或者下三角,m7,2是下三角,但题目中只要求存储上三角,所以m7,2可以当成m2,7来看待
因为是列优先,所以先存储第一列,第一列是1个,第二列是两个,,,第六列是6个,第七列是两个。
1+2+3+4+5+6+2= 23个
因为C语言数组从0开始,因此下标为22,表示第23个。
没有写过这种题的人真的很容易蒙蔽,毕竟你让我存储上三角,可m7,2压根就不在上三角,你让我怎么存?
2
修改递归方式实现的图的深度优先搜索(DFS)算法,将输出(访问)顶点信息的语句移动到退出递归前(即执行输出语句后立即退出递归)。采用修改后的算法遍历有向无环图G,若输出结果中包含G中的全部顶点,则输出的顶点序列是G的 逆拓扑有序序列。
拓扑排序,每次删除的都是入度为0的点
逆拓扑排序,每次删除的都是出度为0的点。
既然是一个有向无环图,假设只有两个点a---->b,本来DFS是 a,b。
现在什么时候退出递归,访问点一直到尽头的时候才会退出递归,这时候访问的点是b,然后才是a。
这个图的广度优先搜索遍历也是a,b。
3
若使用AOE网估算工程进度,则下列叙述中正确的是
关键路径是从源点到汇点路径长度最长的路径。
4
依次将关键字5,6,9,13,8,2,12,15插入初始为空的4阶B树后,根节点中包含的关键字是
B树,又称多路平衡查找树,B树中所有节点的孩子个数的最大值称为B树的阶,通常用m表示,一棵m阶B树或为空树,或为满足如下特性的m叉树:
(1)树中每个节点至多有m棵子树,即至多有m-1个关键字。
(2)若根节点不是终端节点,则至少有两棵子树。
(3)除根节点外的所有非叶节点至少有m/2上取整棵子树,即至少有m/2上取整-1个关键字。
(5)所有的叶节点都出现在同一层次上,并且不带信息(可以视为外部节点或者类似于折半查找判定树的查找失败节点,实际上这些节点不存在,指向这些节点的指针为空。)