国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

Crackingcodinginterview(4.2)有向圖判斷任意2點(diǎn)之間是否有一

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 08:10:57
文檔

Crackingcodinginterview(4.2)有向圖判斷任意2點(diǎn)之間是否有一

Crackingcodinginterview(4.2)有向圖判斷任意2點(diǎn)之間是否有一:4.2 Given a directed graph, design an algorithm to find out whether there is a route between two nodes. 1.圖的存儲(chǔ)使用鄰接矩陣 2.使用鄰接矩陣的過(guò)程中,必須給每個(gè)節(jié)點(diǎn)編號(hào)(0,1...) 3.可以寫(xiě)一個(gè)map函數(shù)給按一定規(guī)則所有節(jié)點(diǎn)編號(hào)(本
推薦度:
導(dǎo)讀Crackingcodinginterview(4.2)有向圖判斷任意2點(diǎn)之間是否有一:4.2 Given a directed graph, design an algorithm to find out whether there is a route between two nodes. 1.圖的存儲(chǔ)使用鄰接矩陣 2.使用鄰接矩陣的過(guò)程中,必須給每個(gè)節(jié)點(diǎn)編號(hào)(0,1...) 3.可以寫(xiě)一個(gè)map函數(shù)給按一定規(guī)則所有節(jié)點(diǎn)編號(hào)(本

4.2 Given a directed graph, design an algorithm to find out whether there is a route between two nodes. 1.圖的存儲(chǔ)使用鄰接矩陣 2.使用鄰接矩陣的過(guò)程中,必須給每個(gè)節(jié)點(diǎn)編號(hào)(0,1...) 3.可以寫(xiě)一個(gè)map函數(shù)給按一定規(guī)則所有節(jié)點(diǎn)編號(hào)(本例未實(shí)現(xiàn)) 4.alg

4.2 Given a directed graph, design an algorithm to find out whether

there is a route between two nodes.

1.圖的存儲(chǔ)使用鄰接矩陣

2.使用鄰接矩陣的過(guò)程中,必須給每個(gè)節(jié)點(diǎn)編號(hào)(0,1...)

3.可以寫(xiě)一個(gè)map函數(shù)給按一定規(guī)則所有節(jié)點(diǎn)編號(hào)(本例未實(shí)現(xiàn))

4.algorithm:通過(guò)bfs或dfs遍歷從其中一個(gè)節(jié)點(diǎn)開(kāi)始遍歷圖,看是否對(duì)可達(dá)另一個(gè)節(jié)點(diǎn)。

import java.util.Queue;
import java.util.LinkedList;
import java.util.Stack;
//vertex in the graph must have serial number
//from 0 to n, if graph isn't suitable for this
//write map() to map.
//directed no-weight graph
class Graph1{
	private static boolean[][] Matrix;
	private static int vertexNum;
	public static void generator(int[][] G, int vNum){
	vertexNum = vNum;
	Matrix = new boolean[vertexNum][vertexNum];
	for(int i=0;i < G.length;i++){
	Matrix[G[i][0]][G[i][1]] = true;
	}
	}
	public static boolean isRouteDFS(int v1, int v2){
	if(v1 < 0 || v2 < 0 || 
	v1 >= Matrix.length || v2 >= Matrix.length)
	return false;
	boolean[] isVisited = new boolean[vertexNum];
	Stack s = new Stack();
	int v = -1;	
	if(v1 != v2){
	s.push(v1);
	isVisited[v1] = true;
	} else
	return true;
	while(!s.empty()){
	v = s.peek();//when v's all next node have been invisted, then pop
//	System.out.println("["+v+"]");//
	
	boolean Marked = false;	
	for(int j=0;j < Matrix[v].length;j++)
	if(Matrix[v][j] && !isVisited[j])
	if(j == v2){
	return true;
	} else{
	s.push(j);
	isVisited[j] = true;
	Marked = true;
	break;
	}
	if(!Marked)
	s.pop();
	}
	return false;
	}
	public static boolean isRouteBFS(int v1, int v2){
	if(v1 < 0 || v2 < 0 || 
	v1 >= Matrix.length || v2 >= Matrix.length)
	return false;
	boolean[] isVisited = new boolean[vertexNum];	
	Queue queue = new LinkedList();
	int v = -1;
	queue.offer(v1);
	isVisited[v1] = true;
	while(!queue.isEmpty()){
	v = queue.poll();
	if(v == v2)
	return true;
	for(int j = 0;j < Matrix[v].length;j++)
	if(Matrix[v][j] == true && isVisited[j] == false)
	queue.offer(j);
	}
	return false;
	}
	public static void printMatrix(){
	for(int i=0;i < Matrix.length;i++){
	System.out.print(i+": ");
	for(int j=0;j < Matrix[i].length;j++)
	System.out.print((Matrix[i][j] == true ? 1 : 0) + " ");
	System.out.println();
	}
	}
}
public class Solution{
	public static void main(String[] args){
	int[][] G = {
	{0, 1}, {0, 2},
	{1, 3}, {1, 4},
	{2, 4},
	{4, 0}
	};
	Graph1.generator(G, 5);
	Graph1.printMatrix();
	System.out.println("R:"+Graph1.isRouteBFS(2, 3));
	System.out.println("R:"+Graph1.isRouteDFS(2, 3));
	}
}

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Crackingcodinginterview(4.2)有向圖判斷任意2點(diǎn)之間是否有一

Crackingcodinginterview(4.2)有向圖判斷任意2點(diǎn)之間是否有一:4.2 Given a directed graph, design an algorithm to find out whether there is a route between two nodes. 1.圖的存儲(chǔ)使用鄰接矩陣 2.使用鄰接矩陣的過(guò)程中,必須給每個(gè)節(jié)點(diǎn)編號(hào)(0,1...) 3.可以寫(xiě)一個(gè)map函數(shù)給按一定規(guī)則所有節(jié)點(diǎn)編號(hào)(本
推薦度:
標(biāo)簽: 4.2 判斷一 coding
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專(zhuān)題
Top
主站蜘蛛池模板: 国产一区二区三区视频 | 日韩在线网址 | 国产女人成人精品视频 | 亚洲一区二区成人 | 91大神在线观看精品一区 | a色毛片免费视频 | 精品一区二区三区高清免费不卡 | 唯美清纯另类亚洲 | 国产福利久久青青草原下载 | 交欧美 | 午夜黄色在线观看 | 另类一区二区 | 中文字幕综合 | 亚洲色图第一页 | 亚洲日本乱码中文论理在线电影 | 精品视频免费看 | 欧美日韩亚洲高清不卡一区二区三区 | 一97日本道伊人久久综合影院 | 热久久国产欧美一区二区精品 | 亚洲第一区视频在线观看 | 久久精品福利视频 | 欧美日韩亚洲高清不卡一区二区三区 | 欧美另类亚洲 | 日韩欧美在线观看视频 | 亚洲第一视频网站 | 91精品久久久久 | 国产va在线视频观看 | 国产精品久久久久影院 | 国产欧美一区二区三区视频 | 国产亚洲欧美一区二区 | 国产成人h片视频在线观看 国产超级乱淫片中文 | 日韩经典一区 | 日韩a无v码在线播放免费 | 欧美成人一区二区三区在线视频 | 亚洲欧美另类国产 | 成人免费视频一区二区 | 国产激情视频一区二区三区 | 亚洲一区日韩一区欧美一区a | 亚洲精品在线第一页 | 国产手机在线αⅴ片无码观看 | 久久国产精品免费一区二区三区 |