栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 面试经验 > 面试问答

了解唐纳德·B·约翰逊算法中的伪代码

面试问答 更新时间:发布时间: 百科书网 趣学号

伪代码让人想起Algol,Pascal或Ada。

这是否意味着我必须实施另一种找到A k矩阵的算法?

甲ķ似乎是具有指定属性的输入值的阵列的列表。它可能与相应的邻接矩阵有关,但我不清楚。我猜是这样的:

int[][] a = new int[k][n];int[][] b = new int[k][n];boolean[] blocked = new boolean[n];int s;

什么

logical f
意思

这声明了一个表示a

true
false
值的局部变量,类似于Java的
boolean

logical procedure CIRCUIT (integer value v);

这将声明一个子程序

CIRCUIT
,该子程序具有一个
v
按值传递的单个整数参数。子程序返回或的
logical
结果,并将其分配为结果。在Java中,
true``false``CIRCUIT:= f``f

boolean circuit(int v) {    boolean f;    ...    f = false;    ...    return f;}

关键字

begin
end
定界可能嵌套的块作用域,因此
CIRCUIT
嵌套在主块中,
UNBLOCK
并嵌套在中
CIRCUIT
:=
是分配;
¬
not
;
是元素;
是空的;
!=
;
stack
unstack
建议
push
pop

这只是一个开始,但我希望对您有所帮助。

附录:在反思,

A
并且
B
必须是同构的。

这是一个 非常字面的 轮廓。我对&的了解不足

A
,无法选择比数组更好的数据结构。
B``V

import java.util.Stack;public final class CircuitFinding {    static int k, n;    int[][] a = new int[k][n];    int[][] b = new int[k][n];    boolean[] blocked = new boolean[n];    int[] v = new int[k];    int s = 1;    Stack<Integer> stack = new Stack<Integer>();    private void unblock(int u) {        blocked[u] = false;        for (int w : b[u]) { //delete w from B(u) if (blocked[w]) {     unblock(w); }        }    }    private boolean circuit(int v) {        boolean f = false;        stack.push(v);        blocked[v] = true;        L1:        for (int w : a[v]) { if (w == s) {     //output circuit composed of stack followed by s;     f = true; } else if (!blocked[w]) {     if (circuit(w)) {         f = true;     } }        }        L2:        if (f) { unblock(v);        } else { for (int w : a[v]) {     //if (v∉B(w)) put v on B(w); }        }        v = stack.pop();        return f;    }    public void main() {        while (s < n) { //A:= adjacency structure of strong component K with least //vertex in subgraph of G induced by {s, s+ 1, n}; if (a[k] != null) {     //s := least vertex in V;     for (int i : v) {         blocked[i] = false;         b[i] = null;     }     L3:     circuit(s);     s++; } else {     s = n; }        }    }}


转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/419444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号