}
                   }
 }
 
                         vertices.push(v);
         adjList.set(v, []);
     }
              adjList.get(v).push(w);
         adjList.get(w).push(v);
     }
                                    s += vertices[i] + '->';
                                           s += neighbors[j] + '';
             };
             s += '\n';
         };
              }
 
                           queue =          queue.enqueue(v);
                                       neighbors = adjList.get(u);
             color[u] = 'grey';
                                                                    color[w] = 'grey';
                     queue.enqueue(w);
                 }
             };
             color[u] = 'black';
                              callback(u);
             }
         }
     }
 
                           queue =              d = [],
             pred = [];
         queue.enqueue(v);
                      d[vertices[i]] = 0;
             pred[vertices[i]] =          }
                                       neighbors = adjList.get(u);
             color[u] = 'gery';
                                                                    color[w] = 'gery';
                     d[w] = d[u] + 1;
                     pred[w] = u;
                     queue.enqueue(w);
                 }
             }
             color[u] = 'black';
         }
                      distances: d,
             predecessors: pred
         }
     }
 
                                                     dfsVisit(vertices[i], color, callback);
             }
         }
     }
 
 
              color[u] = 'gery';
                      callback(u);
         }
                                                             dfsVisit(w, color, callback);
             }
         }
         color[u] = 'black';
     }
 
 
 
                                d = [],
             f = [],
             p = [];
         time = 0;
                      f[vertices[i]] = 0;
             d[vertices[i]] = 0;
             p[vertices[i]] =  
         }
                                       DFSVisit(vertices[i], color, d, f, p);
             }
         }
                      discovery: d,
             finished: f,
             predecsssors: p
         }
     }
              console.log('discoverd      ' + u);
         color[u] = 'gery';
         d[u] = ++time;
                                                             p[w] = u;
                 DFSVisit(w, color, d, f, p);
 
             }
         }
         color[u] = 'black';
         f[u] = ++time;
         console.log('explored    ' + u);
     }
 
 }
        graph.addVertex(myVertices[i]);
 }
 graph.addEdge('A', 'B');
 graph.addEdge('A', 'C');
 graph.addEdge('A', 'D');
 graph.addEdge('C', 'D');
 graph.addEdge('C', 'G');
 graph.addEdge('D', 'G');
 graph.addEdge('D', 'H');
 graph.addEdge('B', 'E');
 graph.addEdge('B', 'F');
 graph.addEdge('E', 'I');
 
 
 console.log(graph.toString());
 
                    color[myVertices[i]] = 'white';
     };
      };
 
      console.log("VIsited vertex:" + value);
 }
 console.log('---------------')
 graph.bfs(myVertices[0], printNode);
 console.log('---------------')
  console.log(shortestPathA);
 console.log('---------------')
 
                path =               path.push(v);
     }
     path.push(fromVertex);
                   s += '-' + path.pop();
     }
     console.log(s);
 }
 
 console.log('---------------')
 
 graph.dfs(printNode);
 
 console.log('---------------')
 graph.DFS();

javaScript Map的更多相关文章

  1. JavaScript Map 和 Set

    结论 Map:存放键值对,区别于 Object,键可以是任何值. Set:存放不重复的值 Map 存储键值对,读取时与插入顺序一致. var map = new Map([[1, "1&qu ...

  2. js javascript map函数去重功能的使用实例

    js javascript map函数去重功能的使用实例 先上一个实战例子代码 var map = new Map(); for(var i=0; i<=9; i++){ map.set(i,i ...

  3. 一个简单的JavaScript Map

    用js写了一个Map,带遍历功能,请大家点评下啦. //map.js Array.prototype.remove = function(s) { for (var i = 0; i < thi ...

  4. Arcgis for javascript map操作addLayer具体解释

    本节的内容非常easy.说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种.例如以下图: watermark/2/ ...

  5. javascript Map和Set

    Map和Set JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串.但实 ...

  6. Arcgis for javascript map操作addLayer详解

    本节的内容很简单,说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种,如下图: addLayer方法 在addLa ...

  7. JavaScript Map 和 Object 的区别

    不同点 Key filed 在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一 ...

  8. javascript map forEach filter some every在购物车中的实战演练区分用法

    1.map forEach 1.map 循环遍历每一项,返回一个新的数组 例: 购物车商品小计: //购物车 var cart=[ {"id":101,"name&quo ...

  9. JavaScript --- Map集合结构详解

    Map 对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值. 语法 new Map([iterable]) 参数 iterable Iterable 可以是一个数组或者其他 itera ...

  10. JavaScript Map 实现

    //定义map function Map() { this.container = {}; } //将key-value放入map中 Map.prototype.put = function(key, ...

随机推荐

  1. C#控制文本框(TextBox)只能输入正数,负数,小数

    由于项目需要,需要写一个TextBox文本框,此文本框需要满足:只能输入正数,负数和小数.比如:3,0.3,-4,-0.4等等.        在网上找了许多正则表达式都不好用,由于本人又对正则表达式 ...

  2. CentOS安装Python3.x

    安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqli ...

  3. 关于ftp用户连接时出现500OOPS:can not change directory的解决办法

    今天在使用Filezilla连接Linux的时候不能成功,显示"500 OOPS:cannot change directory:/root" 错误,如何解决呢? 默认下是没有开启 ...

  4. installsheild2011打包程序internal build error 6213

    今天打包一个安装程序,总是出现报错,internal build error -6213,然后搜遍都没有找到什么解决方案.看到一个帖子,说是因为installsheild里面的build的时候自动扫描 ...

  5. JS中兼容问题的汇总

    获取非行内样式的兼容方式 function getStyle(obj,attr){ //获取非行间样式,obj是对象,attr是值 if(obj.currentStyle){ //针对ie获取非行间样 ...

  6. linux基础知识(三)

    添加用户 •useradd -d 家目录 -g 组名 -G 组集合(逗号间隔) -p 密码 -s 用户shell程序 用户名 •useradd -d /usr/local/nginx/ -g ngin ...

  7. 12 | 为什么我的MySQL会“抖”一下? 学习记录

    <MySQL实战45讲>12 | 为什么我的MySQL会“抖”一下? 学习记录 http://naotu.baidu.com/file/15aa54cab2fa882c6a2a1dd52e ...

  8. Windows 下搭建 SVN服务器

    目录 一 .安装Visual SVN 二.配置SVN 三.安装TortoiseSVN 四.上传项目到远程仓库 五.从远程仓库下载项目 六.检出项目 七.版本回退   参考链接 https://blog ...

  9. Influxdb根据配置文件启动(Influxdb的数据存储)

    1.在Influxdb文件夹下建立一个bat文件 2.文件内容如下: @echo offSETLOCAL :: 获取当前批处理所在路径SET InfluxdP==%~dp0 :: 开启influxdb ...

  10. 阿里云Serverless应用引擎(SAE)3大核心优势全解析

    软件发展到今,企业业务系统日趋复杂,开发一个业务系统需要掌握和关注的知识点越来越多.除实现业务逻辑本身,还需考虑很多非业务的基础技术系统:如分布式cache和队列.基础服务能力集成.容量规划.弹性伸缩 ...