javaScript Map


}
}
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的更多相关文章
- JavaScript Map 和 Set
结论 Map:存放键值对,区别于 Object,键可以是任何值. Set:存放不重复的值 Map 存储键值对,读取时与插入顺序一致. var map = new Map([[1, "1&qu ...
- js javascript map函数去重功能的使用实例
js javascript map函数去重功能的使用实例 先上一个实战例子代码 var map = new Map(); for(var i=0; i<=9; i++){ map.set(i,i ...
- 一个简单的JavaScript Map
用js写了一个Map,带遍历功能,请大家点评下啦. //map.js Array.prototype.remove = function(s) { for (var i = 0; i < thi ...
- Arcgis for javascript map操作addLayer具体解释
本节的内容非常easy.说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种.例如以下图: watermark/2/ ...
- javascript Map和Set
Map和Set JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串.但实 ...
- Arcgis for javascript map操作addLayer详解
本节的内容很简单,说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种,如下图: addLayer方法 在addLa ...
- JavaScript Map 和 Object 的区别
不同点 Key filed 在 Object 中, key 必须是简单数据类型(整数,字符串或者是 symbol),而在 Map 中则可以是 JavaScript 支持的所有数据类型,也就是说可以用一 ...
- javascript map forEach filter some every在购物车中的实战演练区分用法
1.map forEach 1.map 循环遍历每一项,返回一个新的数组 例: 购物车商品小计: //购物车 var cart=[ {"id":101,"name&quo ...
- JavaScript --- Map集合结构详解
Map 对象保存键值对.任何值(对象或者原始值) 都可以作为一个键或一个值. 语法 new Map([iterable]) 参数 iterable Iterable 可以是一个数组或者其他 itera ...
- JavaScript Map 实现
//定义map function Map() { this.container = {}; } //将key-value放入map中 Map.prototype.put = function(key, ...
随机推荐
- js Array 数组方法扩展
//去重复 Array.prototype.unique = function() { this.sort(); var re=[this[0]]; for(var i ...
- installsheild2011打包程序internal build error 6213
今天打包一个安装程序,总是出现报错,internal build error -6213,然后搜遍都没有找到什么解决方案.看到一个帖子,说是因为installsheild里面的build的时候自动扫描 ...
- 确定Git与GitHub连接起来
1.准备工作 1)下载Git 2)注册GitHub 3)将Git与GitHub链接起来 1.获取ssh密匙 2.GitHub里 找到settings 填入密匙 2.正式开始 1)确定Git与GitHu ...
- Tree命令安装和使用
Tree命令简介 tree是一种递归目录列表命令,产生一个深度缩进列表文件,这是彩色的ALA dircolors如果ls_colors设置环境变量和输出是TTY.树已经被移植和报道以下操作系统下工作: ...
- java并发学习--第二章 spring boot实现线程的创建
除了之前介绍的创建线程方式外,spring boot为我们了提供一套完整的线程创建方式,其中包括了:线程.线程池.线程的监控. 一.使用spring boot提供的方法创建线程与线程池 1.首先在sp ...
- Vue.js 技术揭秘学习 (1) new Vue 发生了什么
Vue 初始化主要就干了几件事情,合并配置,初始化生命周期,初始化事件中心,初始化渲染,初始化 data.props.computed.watcher 等等.
- 【串线篇】spring boot外部配置加载顺序
SpringBoot也可以从以下位置加载配置: 原则仍然是优先级从高到低:高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置 1.命令行参数 所有的配置都可以在命令行上进行指定 java -j ...
- Django中ifequal 和ifnotequal的使用
Django中{% ifequal A B %} 用来比较A和B两个值是否相等,{% ifnotequal A B %}` 用来比较A和B两个值是否不相等..如: {% ifequal user cu ...
- list列表切片方法汇总
python为list列表提供了强大的切片功能,下面是一些常见功能的汇总 """ 使用模式: [start:end:step] 其中start表示切片开始的位置,默认是0 ...
- linux运维、架构之路-linux定时任务
1.基础优化之开机启动服务优化 使用awk拼接的方式 [root@cache01 ~]# chkconfig |egrep -v "crond|network|sshd|rsyslog|sy ...