真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java編程無向圖結(jié)構(gòu)的存儲及DFS操作代碼的示例分析

這篇文章將為大家詳細講解有關(guān)java編程無向圖結(jié)構(gòu)的存儲及DFS操作代碼的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、左貢網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

圖的概念

圖是算法中是樹的拓展,樹是從上向下的數(shù)據(jù)結(jié)構(gòu),結(jié)點都有一個父結(jié)點(根結(jié)點除外),從上向下排列。而圖沒有了父子結(jié)點的概念,圖中的結(jié)點都是平等關(guān)系,結(jié)果更加復雜。

java編程無向圖結(jié)構(gòu)的存儲及DFS操作代碼的示例分析java編程無向圖結(jié)構(gòu)的存儲及DFS操作代碼的示例分析

無向圖                                                       有向圖

圖G=(V,E),其中V代表頂點Vertex,E代表邊edge,一條邊就是一個定點對(u,v),其中(u,v)∈V。

這兩天遇到一個關(guān)于圖的算法,在網(wǎng)上找了很久沒有找到j(luò)ava版的關(guān)于數(shù)據(jù)結(jié)構(gòu)中圖的存儲及其相關(guān)操作。于是找了一本java版的數(shù)據(jù)結(jié)構(gòu)書看了一下,以下是根據(jù)書上的講解整理的一個關(guān)于無向圖的存儲和對圖的深度優(yōu)先遍歷。不過這個遍歷只能遍歷連通圖,要想遍歷非連通圖,還需要修改。在這里分享一下代碼希望對有需要的人有幫助。

package com.homework;
/** 
 * 定義棧類 
 */
class StackX{
	private final int size = 20;
	private int[] st;
	private int top;
	//初始化棧 
	public StackX(){
		st = new int[size];
		top = -1;
	}
	//進棧 
	public void push(int j){
		st[++top] = j;
	}
	//出棧 
	public int pop(){
		return st[top--];
	}
	//返回棧頂元素 
	public int peak(){
		return st[top];
	}
	//判斷棧是否為空 
	public Boolean isEmpty(){
		return (top==-1);
	}
}
/** 
 * 定義圖中的節(jié)點類 
 * @author Administrator 
 * 
 */
class Vertex{
	public char label;
	public Boolean wasVisited;
	public Vertex(char lab){
		label = lab;
		wasVisited = false;
	}
}
/** 
 * 定義圖類 
 * @author Administrator 
 * 
 */
class Graph{
	private final int num = 20;
	private Vertex vertexList[];
	//圖中節(jié)點數(shù)組 
	private int adjMat[][];
	//節(jié)點矩陣 
	private int nVerts;
	//當前節(jié)點數(shù) 
	private StackX theStack;
	//定義一個棧 
	//初始化圖的結(jié)構(gòu) 
	public Graph(){
		vertexList = new Vertex[num];
		adjMat = new int[num][num];
		nVerts = 0;
		for (int i=0; i

程序運行的結(jié)果:

The order visited:ABCED

關(guān)于“java編程無向圖結(jié)構(gòu)的存儲及DFS操作代碼的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


本文題目:java編程無向圖結(jié)構(gòu)的存儲及DFS操作代碼的示例分析
本文地址:http://weahome.cn/article/gedhsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部