javascript输出图的简单路径
<script>
//图的构建
function vnode()
{
this.visited=0;
this.vertex=0;
this.arcs=new Array();
}
function G()
{
this.adjlist=new Array();
}
function creategraph()
{
var a=[[2,3,6],[1,5,4],[4,6,1],[2,3,5],[4,2,6],[3,5,1]];
var g=new G();
for (i=0;i<6;i++)
{
g.adjlist[i]=new vnode();
g.adjlist[i].vertex=i+1;
g.adjlist[i].arcs=a[i];
}
return g;
}
//利用Array的队列性质获取无回路路径
var a=new Array();
a.push([1]);
var g=creategraph();
while(a.length)
{
var temp=g.adjlist[a[0][a[0].length-1]-1].arcs;
for(i=0;i<temp.length;i++)
{
if(temp[i]==6){alert(a[0].concat([6]));continue;}
for(j=0;j<a[0].length;j++)
{
if(temp[i]==a[0][j])break;
if(j==a[0].length-1)a.push(a[0].concat(temp[i]));
}
}
a.shift();
}
</script>
javascript输出图的简单路径的更多相关文章
- [简单路径] Useful Decomposition
Ramesses knows a lot about problems involving trees (undirected connected graphs without cycles)! He ...
- 输出图中顶点i到顶点j之间的所有简单路径
简单路径(不包括环) DFS遍历以及回溯得到结果 void dfs(ALGraph graph, int v, int end, bool visit[], int path[], int cnt) ...
- _DataStructure_C_Impl:求图G中从顶点u到顶点v的一条简单路径
#pragma once #include<stdio.h> #include<stdlib.h> #define StackSize 100 typedef int Data ...
- JavaScript数据结构——图的实现
在计算机科学中,图是一种网络结构的抽象模型,它是一组由边连接的顶点组成.一个图G = (V, E)由以下元素组成: V:一组顶点 E:一组边,连接V中的顶点 下图表示了一个图的结构: 在介绍如何用Ja ...
- JavaScript实现图结构
JavaScript实现图结构 一.图论 1.1.图的简介 什么是图? 图结构是一种与树结构有些相似的数据结构: 图论是数学的一个分支,并且,在数学中,树是图的一种: 图论以图为研究对象,研究顶点和边 ...
- 基于邻接表的长度为k的简单路径的求解
描述 一个连通图采用邻接表作为存储结构.设计一个算法,判断无向图中任意给定的两点是否存在一条长度为k的简单路径. 输入 多组数据,每组m+3数据行.第一行有两个数字n,m和k,代表有n个顶点,m条边和 ...
- 【Leetcode】二叉树简单路径最大和问题
问题一:二叉树任意两个叶子间简单路径最大和 示例: -100 / \ 2 100 / \ 10 20 思路:这个问题适用于递归思路. 首先,将问题简单化:假设包含最大和summax的简单 ...
- Neo4j属性图模型简单介绍
本文主要是对Neo4j属性图模型简单的介绍. Neo4j是什么? Neo4j是一款是由java语言实现的图数据库,图形数据库将数据以图的数据结构进行存储和管理,并且能够以高度可问的方式优雅地表示任何种 ...
- 用25行JavaScript语句实现一个简单的编译器
原文:https://www.iteye.com/news/32680 译者注:即使对于专业程序员来说,构造一个编译器也是颇具挑战性的任务,本文将会引导你抽丝剥茧,一探究竟! 我已经写了几篇与编程语言 ...
随机推荐
- Javascript---数组常用方法
一.concat(); 连接两个数组,并返回结果 var arr = new Array(3) arr[0] = "George" arr[1] = "John" ...
- 集合set的使用
将无序对象储存在集合中 集合是类似于数组的一组对象,只是其中包含的项目是无序的(而数组是有序的).您通过枚举集合中的对象,或者将过滤器或测试应用到集合,来随机访问集合中的对象(使用 anyObject ...
- iOS 实现简单的Http 服务
http 是计算机之间通讯协议的比较简单的一种.在iPhone上,由于没有同步数据和文件共享,所以实现PC与设备之间的数据传输的最佳方式就是在程序中嵌套一个http 服务器.在这篇帖子中,我将简单的演 ...
- ubuntu添加共享出错
早上设置一个共享目录share. 右键共享,之后系统自动安装软件samba,之后共享出错: "net usershare"返回错误 255:net usershare: canno ...
- BZOJ 1951 古代猪文
快速幂+枚举质因数+欧拉定理+lucas定理+CRT. 注意两点: 1.if (n<m) C(n,m)=0. 2.这里0^0时应该return 0. #include<iostream&g ...
- css if hack之兼容ie
1.Css if hack条件语法< !--[if IE]> Only IE <![endif]-->仅所有的WIN系统自带IE可识别< !--[if IE 5.0]&g ...
- SSO单点登录
登录持久化机制:Cookies&&Session Cookie:是将信息存储到客户端,所有的信息不安全,都会对信息进行加密,cookies中会存储当前会话的唯一标识,即SessionI ...
- Gmail邮箱添加域名解析
主机记录 MX 服务器地址 优先级@ MX ASPMX.L.GOOGLE.COM. 10@ MX ALT1.ASPMX.L.GOOGLE.COM. 20@ MX ALT2.AS ...
- CART
一.为什么有CART回归树 以前学过全局回归,顾名思义,就是指全部数据符合某种曲线.比如线性回归,多项式拟合(泰勒)等等.可是这些数学规律多强,硬硬地将全部数据逼近一些特殊的曲线.生活中的数据可是千变 ...
- HDU 1003 Max Sum(AC代码)
#include <stdio.h> int main(){ int i,t,j,n,x; int start,end,temp,max,sum; scanf("%d" ...