Voting Node(VN)咋样?

Access denied | linux.die.net used Cloudflare to restrict access
Please enable cookies.
What happened?
The owner of this website (linux.die.net) has banned your access based on your browser's signature (44dbdb2a0e4f7736-ua98).架构(MongoDB + Express + Vue + NODEJS)制作网站
MEVN 架构是 MongoDB + Express + Vue + NODEJS 搭建的网站架构。四个部分都可以用JavaScript实现。
一个完整的网站服务架构包括web frame, web server, Database, 以及前端展示实现。这里有一篇知乎答案,讲一个网站的整个访问流程,讲的很清晰。
在这个架构里,web server 就是nodejs,webframe 就是express,database是mongoDB,前端展示用了vue。我们一个一个来搭建。
我们在这里模拟实现一个登录功能。
功能很简单,填写完账号密码点击登录按钮,就把账号密码插入数据库,并且查出现在已经有哪些数据。
Database MongoDB
brew install mongodb
mongod --config /usr/local/etc/mongod.conf
这时只是启动了Mogod,链接数据库需要再另外的窗口执行
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
Welcome to the MongoDB shell.
这个地址mongodb://127.0.0.1:27017就是我们本机的mogo数据库地址
使用 Vue-cli 生成一个vue框架
安装Vue-Cli
npm i -g vue-cli
去到你想要放置项目的目录,进行初始化
vue init webpack XXX(你想要项目的名字)
按提示一直下一步,完成后按提示
npm install (这里建议使用淘宝镜像cnpm,不然墙外的东西……)
npm run dev
由于需要使用http请求,安装一个vue-resource工具。
在main.js中使用
import vueResource from 'vue-resource'
Vue.use(vueResource)
使用npm安装
npm install express –save
搭建node服务器环境
在项目的根目录新建一个叫server的目录,用于放置Node的东西。进入server目录,再新建三个js文件:
index.js (入口文件)
db.js (设置数据库相关)
api.js (编写接口)
// 引入编写好的api
const api = require('./api');
// 引入文件模块
const fs = require('fs');
// 引入处理路径的模块
const path = require('path');
// 引入处理post数据的模块
const bodyParser = require('body-parser')
// 引入Express
const express = require('express');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(api);
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, '../dist')))
// 因为是单页应用 所有请求都走/dist/index.html
app.get('*', function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8')
res.send(html)
// 监听8088端口
app.listen(8088);
console.log('success listen…………');
// Schema、Model、Entity或者Documents的关系请牢记,Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。
const mongoose = require('mongoose');
// 连接数据库 如果不自己创建 默认test数据库会自动生成
mongoose.connect('mongodb://127.0.0.1:27017'); // 地址跟第一步的地址对应。
// 为这次连接绑定事件
const db = mongoose.
db.once('error',() =& console.log('Mongo connection error'));
db.once('open',() =& console.log('Mongo connection successed'));
/************** 定义模式loginSchema **************/
const loginSchema = mongoose.Schema({
account : String,
password : String
/************** 定义模型Model **************/
const Models = {
Login : mongoose.model('Login',loginSchema)
module.exports = M
// 可能是我的node版本问题,不用严格模式使用ES6语法会报错
"use strict";
const models = require('./db');
const express = require('express');
const router = express.Router();
/************** 创建(create) 读取(get) 更新(update) 删除(delete) **************/
// 创建账号接口
router.post('/api/login/createAccount',(req,res) =& {
// 这里的req.body能够使用就在index.js中引入了const bodyParser = require('body-parser')
let newAccount = new models.Login({
account : req.body.account,
password : req.body.password
// 保存数据newAccount数据进mongoDB
newAccount.save((err,data) =& {
if (err) {
res.send(err);
res.send('createAccount successed');
// 获取已有账号接口
router.get('/api/login/getAccount',(req,res) =& {
// 通过模型去查找数据库
models.Login.find((err,data) =& {
if (err) {
res.send(err);
res.send(data);
module.exports =
至此我们的后端代码就编写好了,进入server目录,敲上 node index命令,node就会跑起来,这时在浏览器输入就能访问到这个接口了
现在我们的本地开发环境的 web server的接口是 index.js 里的8088,但是本地的webpack生成的网页端口是8080,这两个不一致。需要进行代理(proxy)在config/index.js 中修改
proxyTable: {
target: 'http://localhost:8088/api/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
这时,我们在前端接口地址前加上/api,就会指向,于是我们就能访问到后端的接口了!让我们来点击一下登录按钮,会发现接口请求成功了!再去数据库看看!也插入了一条新数据!成功!
前后端开发完成,最后一步,前端打包,后端部署。
前端打包就很简单了,一个命令:
npm run build 这就生成了一个dist目录,里面就是打包出来的东西。
现在回过头来看server里面的入口文件index.js
// 访问静态资源文件 这里是访问所有dist目录下的静态资源文件
app.use(express.static(path.resolve(__dirname, ‘../dist’)))
// 因为是单页应用 所有请求都走/dist/index.html
app.get(‘*’, function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, '../dist/index.html'), 'utf-8')
res.send(html)
// 监听8088端口
app.listen(8088);
这里的关键是express.static,利用 Express 托管静态文件。于是我们才能访问到前端打包出来的静态页面index.html。
最后,我们在浏览器输入,就会跳到index.html。
到此为止,我们就完成了整个前后端各自开发到正式部署的流程。
基于Vue2.0+Vuex+Axios+NodeJs+Express+MySQL实现京东移动web商城
| 做一个技术前沿的开发者,我们都知道Vue与NodeJs是现在很流行的前端框架及后端语言。前端架构
页面结构(H5,CSS3,原生JS)
框架(基于Vue脚手架:vue-cli)进行搭建
数据请求处...
从零搭建vue+express开发环境
该项目是在学习vue过程中,秉着前后端分离的态度,尝试着自己搭建vue+express环境搭建vue项目
安装vue-cli脚手架
npm install -g vue-cli
创建基于webpack...
用vuejs+nodejs+mongodb开发项目
用vuejs+nodejs+mongodb开发项目
一.后台部分
1.第一步,先安装node。传送门:http://www.runoob.com/nodejs/nodejs-install-setup...
vue全家桶+node+mongodb商城项目小结
webpack.base.conf.js
vue.js基础语法
mustache语法:{{msg}}
html赋值:v-html=&&
绑定属性:v-bind:id=&&
node.js 之 express框架+MongoDB(前端使用vue)
1. 下载安装node环境,Mac、linux、windows各不相同
2. 安装后输入: node -v查看,出现版本号则安装成功
3. 打开terminal,安装express框架,(为了更快速,...
一、项目初建的细节
1、webpack.bask.conf.js中有一段关于映射的配置: 其中 ‘@’就代表了src目录
resolve: {
extensions: ['.j...
*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M
*详细原因:
交 &em&vue+node+mongodb&/em&博客 1积分 立即下载 ...
*版权证明: 只允许上传png/jpeg/jpg/gif格式的图片,且小于3M
*详细原因:
交 &em&Vue+Node+MongoDB&/em&高级全栈 5积分 立即下载 ...
最近学习了VUE,自己为了学习做了个小小的博客,功能很简单,不过开发过程中也遇到了很多坑,所以记录下来方便以后使用。欢迎大家交流学习。
实现了用户注册、登录、token检测登录...
express搭建nodeJS中间层(一)(二)
express搭建nodeJS中间层(一)
好了,准备了一周的理论知识和开发方案,nodeJS中间层搭建项目从今天就开始了。作为项目的负责人和初次尝试者,...
没有更多推荐了,#include&vector&
#include&algorithm&
#include&iostream&
struct node{double v[4];int rank[4];};
int main(){
int n,m;cin&&n&&m;
vector&node&vn(n);
for(int i=0;i&n;++i){
auto &x=vn[i];
cin&&x.v[0]&&x.v[1]&&
x.v[2]=x.v[0]/
x.v[3]=x.v[1]/
for(int i=0;i&4;++i){
sort(vn.begin(),vn.end(),[=](const node&x,const node&y){return x.v[i]&y.v[i];});
for(int j=1;j&n;++j)
if(vn[j].v[i]==vn[j-1].v[i])
vn[j].rank[i]=vn[j-1].rank[i];
else vn[j].rank[i]=j;
sort(vn.begin(),vn.end(),[](const node&x,const node&y){return x.nth&y.});
for(int i=0;i&m;++i){
auto mmin=min_element(begin(vn[k].rank),end(vn[k].rank));
if(i)cout&&' ';
cout&&*mmin+1&&':'&&mmin-begin(vn[k].rank)+1;
快排-奥运排行榜.cpp
5-2 奥运排行榜
每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国...
5-40 奥运排行榜
5-40 奥运排行榜
(25分)每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于...
7-06. 奥运排行榜(25)(数学 ZJU_PAT)
7-06. 奥运排行榜(25)(数学 ZJU_PAT)
7-20 奥运排行榜
每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口...
7-3 奥运排行榜(25 分)
每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口...
不字榜  不修边幅 第3届奥运会的马拉松比赛中,古巴的费利克斯·卡哈尔身穿长袖衫、长裤子和皮靴出现在起跑线上,因为他从未受过正式训练,并不知这许多规矩。临跑前他急中生智,将衫袖裤管一一剪短,顺便又借来...
http://www.elesos.com/index.php?title=各大IT技术博客排行榜
&?xml:namespace prefix = o ns = &urn:schemas-microsoft-com:office:office& /&...
5-5 奥运排行榜
每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同。比如中国金牌总数列第一的时候,中国媒体就公布“金牌榜”;而美国的奖牌总数第一,于是美国媒体就公布“奖牌榜”。如果人口...
5-40 奥运排行榜
没有更多推荐了,广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是的一种策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。
一般可以用它做什么呢?一个
广度/宽度优先搜索(BFS)
算法导论里边会给出不少严格的证明,我想尽量写得通俗一点,因此采用一些直观的讲法来伪装成证明,关键的point能够帮你get到就好。
2.图的概念
刚刚说的广度优先搜索是连通图的一种遍历策略,那就有必要将图先简单解释一下。
图2-1连通图示例图
如图2-1所示,这就是我们所说的连通图,这里展示的是一个无向图,连通即每2个点都有至少一条路径相连,例如V0到V4的路径就是V0-&V1-&V4。
一般我们把顶点用V缩写,把边用E缩写。
3.广度优先搜索
3.1.算法的基本思路
常常我们有这样一个问题,从一个起点开始要到一个终点,我们要找寻一条最短的路径,从图2-1举例,如果我们要求V0到V6的一条最短路(假设走一个节点按一步来算)【注意:此处你可以选择不看这段文字直接看图3-1】,我们明显看出这条路径就是V0-&V2-&V6,而不是V0-&V3-&V5-&V6。先想想你自己刚刚是怎么找到这条路径的:首先看跟V0直接连接的节点V1、V2、V3,发现没有V6,进而再看刚刚V1、V2、V3的直接连接节点分别是:{V0、V4}、{V0、V1、V6}、{V0、V1、V5}(这里画删除线的意思是那些顶点在我们刚刚的搜索过程中已经找过了,我们不需要重新回头再看他们了)。这时候我们从V2的连通节点集中找到了V6,那说明我们找到了这条V0到V6的最短路径:V0-&V2-&V6,虽然你再进一步搜索V5的连接节点集合后会找到另一条路径V0-&V3-&V5-&V6,但显然他不是最短路径。
你会看到这里有点像辐射形状的搜索方式,从一个节点,向其旁边节点传递病毒,就这样一层一层的传递辐射下去,知道目标节点被辐射中了,此时就已经找到了从起点到终点的路径。
我们采用示例图来说明这个过程,在搜索的过程中,初始所有节点是白色(代表了所有点都还没开始搜索),把起点V0标志成灰色(表示即将辐射V0),下一步搜索的时候,我们把所有的灰色节点访问一次,然后将其变成黑色(表示已经被辐射过了),进而再将他们所能到达的节点标志成灰色(因为那些节点是下一步搜索的目标点了),但是这里有个判断,就像刚刚的例子,当访问到V1节点的时候,它的下一个节点应该是V0和V4,但是V0已经在前面被染成黑色了,所以不会将它染灰色。这样持续下去,直到目标节点V6被染灰色,说明了下一步就到终点了,没必要再搜索(染色)其他节点了,此时可以结束搜索了,整个搜索就结束了。然后根据搜索过程,反过来把最短路径找出来,图3-1中把最终路径上的节点标志成绿色。
整个过程的实例图如图3-1所示。
初始全部都是白色(未访问)
即将搜索起点V0(灰色)
已搜索V0,即将搜索V1、V2、V3
……终点V6被染灰色,终止
找到最短路径
图3-1寻找V0到V6的过程
3.2.广度优先搜索流程图
图3-2广度优先搜索的流程图
在写具体代码之前有必要先举个实例,详见第4节。
第一节就讲过广度优先搜索适用于迷宫类问题,这里先给出《迷宫问题》。
《迷宫问题》
定义一个二维数组:
intmaze[5][5]={
0,1,0,0,0,
0,1,0,1,0,
0,0,0,0,0,
0,1,1,1,0,
0,0,0,1,0,
它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。
题目保证了输入是一定有解的。
也许你会问,这个跟广度优先搜索的图怎么对应起来?BFS的第一步就是要识别图的节点跟边!
4.1.识别出节点跟边
节点就是某种状态,边就是节点与节点间的某种规则。
对应于《迷宫问题》,你可以这么认为,节点就是迷宫路上的每一个格子(非墙),走迷宫的时候,格子间的关系是什么呢?按照题目意思,我们只能横竖走,因此我们可以这样看,格子与它横竖方向上的格子是有连通关系的,只要这个格子跟另一个格子是连通的,那么两个格子节点间就有一条边。
如果说本题再修改成斜方向也可以走的话,那么就是格子跟周围8个格子都可以连通,于是一个节点就会有8条边(除了边界的节点)。
4.2.解题思路
对应于题目的输入数组:
0,1,0,0,0,
0,1,0,1,0,
0,0,0,0,0,
0,1,1,1,0,
0,0,0,1,0,
我们把节点定义为(x,y),(x,y)表示数组maze的项maze[x][y]。
于是起点就是(0,0),终点是(4,4)。按照刚刚的思路,我们大概手工梳理一遍:
初始条件:
起点Vs为(0,0)
终点Vd为(4,4)
灰色节点集合Q={}
初始化所有节点为白色节点
开始我们的广度搜索!
手工执行步骤【PS:你可以直接看图4-1】:
1.起始节点Vs变成灰色,加入队列Q,Q={(0,0)}
2.取出队列Q的头一个节点Vn,Vn={0,0},Q={}
3.把Vn={0,0}染成黑色,取出Vn所有相邻的白色节点{(1,0)}
4.不包含终点(4,4),染成灰色,加入队列Q,Q={(1,0)}
5.取出队列Q的头一个节点Vn,Vn={1,0},Q={}
6.把Vn={1,0}染成黑色,取出Vn所有相邻的白色节点{(2,0)}
7.不包含终点(4,4),染成灰色,加入队列Q,Q={(2,0)}
8.取出队列Q的头一个节点Vn,Vn={2,0},Q={}
9.把Vn={2,0}染成黑色,取出Vn所有相邻的白色节点{(2,1),(3,0)}
10.不包含终点(4,4),染成灰色,加入队列Q,Q={(2,1),(3,0)}
11.取出队列Q的头一个节点Vn,Vn={2,1},Q={(3,0)}
12. 把Vn={2,1}染成黑色,取出Vn所有相邻的白色节点{(2,2)}
13.不包含终点(4,4),染成灰色,加入队列Q,Q={(3,0),(2,2)}
14.持续下去,知道Vn的所有相邻的白色节点中包含了(4,4)……
15.此时获得了答案
起始你很容易模仿上边过程走到终点,那为什么它就是最短的呢?
怎么保证呢?
我们来看看广度搜索的过程中节点的顺序情况:
图4-1迷宫问题的搜索树
你是否观察到了,广度搜索的顺序是什么样子的?
图中标号即为我们搜索过程中的顺序,我们观察到,这个搜索顺序是按照上图的层次关系来的,例如节点(0,0)在第1层,节点(1,0)在第2层,节点(2,0)在第3层,节点(2,1)和节点(3,0)在第3层。
我们的搜索顺序就是第一层-&第二层-&第三层-&第N层这样子。
我们假设终点在第N层,因此我们搜索到的路径长度肯定是N,而且这个N一定是所求最短的。
我们用简单的反证法来证明:假设终点在第N层上边出现过,例如第M层,M&n,那么我们在搜索的过程中,肯定是先搜索到第m层的,此时搜索到第m层的时候发现终点出现过了,那么最短路径应该是m,而不是n了。& p=&&&
所以根据广度优先搜索的话,搜索到终点时,该路径一定是最短的。
我给出以下代码用于解决上述题目(仅仅只是核心代码):
广度优先搜索
@param Vs 起点
@param Vd 终点
BFS(Node& Vs, Node& Vd){&
&&&&queue&node&
&&&&inti;&
visit[MAXL][MAXL];&
&&&&intdir[][2]
&&&&&&&&{0,1},
&&&&&&&&{0,
&&&&Q.push(Vs);&
&&&&visit[Vs.x][Vs.y]
&&&&while(!Q.empty()){
&&&&&&&&Vn
= Q.front();&
&&&&&&&&Q.pop();&
&&&&&&&&for(i
++i){&
&&&&&&&&&&&&Vw
= Node(Vn.x+dir[i][0],
Vn.y+dir[i][1]);
&&&&&&&&&&&&if(Vw
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&returntrue;
&&&&&&&&&&&&}&
&&&&&&&&&&&&if(isValid(Vw)
&& !visit[Vw.x][Vw.y]){&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&Q.push(Vw);
&&&&&&&&&&&&&&&&visit[Vw.x][Vw.y]
&&&&&&&&&&&&}&
&&&&&&&&}&
&&&&returnfalse;
5.核心代码
为了方便适用于大多数的题解,抽取核心代码如下:
广度优先搜索
@param Vs 起点
@param Vd 终点
BFS(Node& Vs, Node& Vd){&
&&&&queue&node&
&&&&inti;&
&&&&Q.push(Vs);&
&&&&hash(Vw)
&&&&while(!Q.empty()){
&&&&&&&&Vn
= Q.front();&
&&&&&&&&Q.pop();&
&&&&&&&&while(Vw
= Vn通过某规则能够到达的节点){&
&&&&&&&&&&&&if(Vw
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&returntrue;
&&&&&&&&&&&&}&
&&&&&&&&&&&&if(isValid(Vw)
&& !visit[Vw]){&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&Q.push(Vw);
&&&&&&&&&&&&&&&&hash(Vw)
&&&&&&&&&&&&}&
&&&&&&&&}&
&&&&return
对于一个题目来说,要标志节点是否访问过,用数组是一种很快速的方法,但有时数据量太大,很难用一个大数组来记录时,采用hash是最好的做法。实际上visit数组在这里也是充当hash的作用。(PS:至于hash是什么?得自己去了解,它的作用是在O(1)的时间复杂度内取出某个值)
6.其他实例
6.1.题目描述
给定序列123456,再给定一个k,我们给出这样的操作:对于序列,我们可以将其中k个连续的数全部反转过来,例如k=3的时候,上述序列经过1步操作后可以变成:321456,如果再对序列321456进行一步操作,可以变成341256.
那么现在题目就是,给定初始序列,以及结束序列,以及k的值,那么你能够求出从初始序列到结束序列的转变至少需要几步操作吗?
本题可以采用BFS求解,已经给定初始状态跟目标状态,要求之间的最短操作,其实也很明显是用BFS了。
我们把每次操作完的序列当做一个状态节点。那每一次操作就产生一条边,这个操作就是规则。
假设起始节点是:{123456},终点是:{341256}
去除队列中的起始节点时,将它的相邻节点加入队列,其相邻节点就是对其操作一次的所有序列:
{321456}、{143256}、{125436}、{123654}
然后继续搜索即可得到终点,此时操作数就是搜索到的节点所在的层数2。
题目分类来自网络:
假设图有V个顶点,E条边,广度优先搜索算法需要搜索V个节点,因此这里的消耗是O(V),在搜索过程中,又需要根据边来增加队列的长度,于是这里需要消耗O(E),总得来说,效率大约是O(V+E)。
其实最影响BFS算法的是在于Hash运算,我们前面给出了一个visit数组,已经算是最快的Hash了,但有些题目来说可能Hash的速度要退化到O(lgn)的复杂度,当然了,具体还是看实际情况的。
BFS适合此类题目:给定初始状态跟目标状态,要求从初始状态到目标状态的最短路径。
进而扩展的话就是双向广度搜索算法,顾名思义,即是从起点跟终点分别做广度优先搜索,直到他们的搜索过程中有一个节点相同了,于是就找到了起点跟终点的一条路径。
腾讯笔试题目:假设每个人平均是有25个好友,根据六维理论,任何人之间的联系一定可以通过6个人而间接认识,间接通过N个人认识的,那他就是你的N度好友,现在要你编程验证这个6维理论。
此题如果直接做广度优先搜索,那么搜索的节点数可能达到256,如果是用双向的话,两个树分别只需要搜索到3度好友即可,搜索节点最多为253个,但是用双向广度算法的话会有一个问题要解决,就是你如何在搜索的过程中判断第一棵树中的节点跟第二棵树中的节点有相同的呢?按我的理解,可以用Hash,又或者放进队列的元素都是指向原来节点的指针,而每个节点加入一个color的属性,这样再搜索过程中就可以根据节点的color来判断是否已经被搜索过了
[C++]广度优先搜索(BFS)(附例题)
广度优先搜索(BFS)(附例题)问题产生:Isenbaev是国外的一个大牛。现在有许多人要参加ACM ICPC。一共有n个组,每组3个人。同组的3个人都是队友。大家都想知道自己与大牛的最小距离是多少。...
bfs想必非常的熟悉了,bfs大多数用来解决什么问题呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想成立的。所以这篇博客,主要是利用bf...
BFS(广度优先遍历搜索解析)
3.2 广度优先搜索(BFS)
广度优先搜索思想
广度优先搜索遍历类似于树的按层次遍历。
对于无向连通图,广度优先搜索是从图的某个顶点v0出发,在访问v0之后,依次搜索访问v0的各个未被访问过的邻...
BFS广度优先搜索——入门
BFS——广度优先搜索
广度优先搜索是通过对图的完全遍历来达到要求的点的算法。其对图的遍历是如同波浪一样,每层按照制定的方式一层一层向下搜。
关于图的广度优先搜索(BFS)和深度优先搜索(DFS)
前言:图的广度优先搜索和深度优先搜索对于获取图的结构信息具有重要的作用,很多图相关的算法都是建立在对图的结构进行搜索的基础上。如最小生成树算法、Dijkstra最短路径算法都采用了和BFS相似的思想。...
【算法入门】广度/宽度优先搜索(BFS)
广度/宽度优先搜索(BFS)
【算法入门】
郭志伟@SYSU:raphealguo(at)qq.com
广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广...
http://blog.chinaunix.net/uid--id-3179280.html
1、宽度优先基本思想
宽度优先搜索算法(又称广度优先搜索算法)...
(一):解释与理解
深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)
。在一个HTML文件中,当一个超链被选择后,...
首先,我们假设搜索树的状态空间中每个状态都有b个后继。
时间复杂度分析
搜索树的根节点生成第一层的b个节点,每个子节点又生成b个子节点,第二层则有b平方个节点,依次类推。于是可以得到生成的节点总数...
一、BFS算法思路本算法以无向图为例,存储方式采用邻接矩阵1)将该网以邻接矩阵的方式存储,由于这里的示例采用无向图,因此它是一个对称阵2)选取A点为起始点,访问此顶点,用一个visit的bool型数组...
没有更多推荐了,&span style="font-size:18 font-family: Arial, Helvetica, sans- background-color: rgb(255, 255, 255);"&关于cocos2d的暂停和恢复请看博文:&/span&
http://blog.csdn.net/cwq9944/article/details/7449871
我想讲的是我在使用过程中遇到的一个问题。
Node内部声明了 resume和pause的虚函数
我在自定义的一个场景类(继承Node)里面无意中自定义了一个public函数
然后定义了protected函数
具体调用关系如下:
&pre name="code" class="cpp"&&span style="font-size:18"&void GameScene::pause()
this-&operateAllSchedulerAndActions(this , k_Operate_Pause);
//this-&addChild(menuLayer);
}&/span&&span style="font-size:18"&void GameScene::operateAllSchedulerAndActions(cocos2d::Node* node , OPERATEFLAG_E flag)
if ( node-&isRunning() )
switch ( flag )
case k_Operate_Pause:
node-&pauseSchedulerAndActions();
case k_Operate_Resume:
node-&resumeSchedulerAndActions();
Vector&Node*& vecNode = node-&getChildren();
Vector&Node*&::iterator it = vecNode.begin();
for ( it = vecNode.begin(); it != vecNode.end(); ++it )
this-&operateAllSchedulerAndActions(*it , flag);
&/span&运行的时候,程序死了~~~~~~~~死了~~~~~~~死在了switch语句出
&span style="font-size:18"&&img src="data:image/base64,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

我要回帖

更多关于 vn符文 的文章

 

随机推荐