Node begin = new Node("B", 0); begin.score = 1 ; Node end = new Node("END", 5); Node[][] graph = new Node[6][0]; graph[0] = new Node[] { begin }; graph[1] = new Node[] { new Node("中", 1), new Node("中国", 1), new Node("中国人", 1) }; graph[2] = new Node[] { new Node("国", 2), new Node("国人", 2) }; graph[3] = new Node[] { new Node("人", 3), new Node("人民", 3) }; graph[4] = new Node[] { new Node("民", 4) }; graph[5] = new Node[] { end };
int to = 0; Node node = null;
// viterbi寻找最优路径 for (int i = 0; i < graph.length - 1; i++) { for (int j = 0; j < graph[i].length; j++) { node = graph[i][j]; to = node.getTo(); for (int k = 0; k < graph[to].length; k++) { graph[to][k].setFrom(node); } } }