当前位置: 首页 > news >正文

请别人做网站百度客服工作内容

请别人做网站,百度客服工作内容,广州网站建设服务哪家好,网站h标签结合队列的知识利用 广度优先遍历,通过对能走的路径的记录以及对走过路径的标记,进行多条路搜查 一、理论基础 如下图的迷宫: 选取所走方向(针对某一个位置)下,右,上,左&#xff0…

    结合队列的知识利用 广度优先遍历,通过对能走的路径的记录以及对走过路径的标记,进行多条路搜查

一、理论基础

如下图的迷宫:

        选取所走方向(针对某一个位置)下,右,上,左,从起点(0,0)开始进行广度搜索,标记(0,1)走过,重复寻路,直到走到终点

如图:

        通过一个点找到所有与该顶点相连且能走的顶点,不停寻找,直到找到目的地或走完所有能走的点为止,图中可以看到

        任意一个顶点只有一个前驱,可以通过某种方式记录该顶点的前驱,一步步回到原点,并记录移动轨迹,最终得到从起点到终点最短路径的数组

步骤:

1)起点入队

2)队头出队,

3)找到所有与队头相连且为空地的点,将这些点都入队,并记录这些点的前驱

4)重复执行步骤2)3),直到队列为空

5)通过终点一步步回到前驱,最终回到终点,得到最短路径\

二、代码实现

C语言代码实现如下:

① 定义坐标结构体

typedef struct
{int row;	//行int col;	//列	
}Position;

② 定义队列结构及操作

typedef struct
{Position*queue;	//队列int front;		//头部int rear;		//尾部int cap;		//队列容量
}MyQueue;//判断队列是否已满
bool IsEmpty(MyQueue*myqueue)
{if(myqueue->front==myqueue->rear)return true;elsereturn false;
}
//弹出队头
Position PopFront(MyQueue*myqueue)
{Position p=myqueue->queue[myqueue->front];myqueue->front=(myqueue->front+1)%myqueue->cap;return p;
}
//插入队尾
void PushRear(MyQueue*myqueue,Postion p)
{myqueue->queue[myqueue->rear]=p;myqueue->rear=(myqueue->rear+1)%myqueue->cap;
}

③ 设置移动方向 


//移动方向
int orient[4][2]={{1,0},{0,1},{-1,0},{0,-1}//下    右     上     左
}

④ 开始广度寻路 

//0代表空地,1代表墙
void ShortestPath_BFS(int**maze,int maze_row,int maze_col,Position start,Position destination)
{//创建队列MyQueue*myqueue=CreatMyQueue(maze_row*maze*col);/*创建vt数组,标记某些点是否走过,0代表未走过,非0代表走过(1代表该点的前驱在该点下方,2代表该点的前驱在该点右边,3代表上,4代表左)*/int vt[maze_row][maze_col];memset(vt,0,sizeof(vt));	//对所有点初始化标记为未走过PushRear(myqueue,start);	//起点入队vt[start.row][start.col]=5;	//标记起点已走过,5代表起点位置while(!IsEmpty(myqueue)){Position temp=PopFront(myqueue);	//队头出队//找到与出队顶点相连且为空地的所有顶点入队for(int ori=0;ori<4;ori++){//定义试探点int newRow=temp.row+orient[i][0];int newCol=temp.col+orient[i][1];//判断试探点是否能走if(newRow>=0&&newRow<maze_row&&newCol>=0&&newCol<maze_col&&maze[newRow][newCol]==0&&vt[newRow][newCol]==0)//不越界,且为空地,未走过{//该点入队Position p;p.row=newRow;p.col=newCol;PushRear(queue,p);//标记该点走过,记录该点前驱方向vt[newRow][newCol]=(ori+2)%4+1;}}}//定义路径数组Position*path=malloc(sizeof(Position)*maze_row*maze_col);int path_size=0;//通过终点回到前驱,直到回到起点,记录其移动轨迹int curRow=destination.row;int curCol=destination.col;while(vt[curRow][curCol]!=5){path[path_size].row=curRow;path[path_size].col=curCol;path_size++;int ori=vt[curRow][curCol]-1;//前驱点相对于该点的方向在orient数组中的位置curRow+=orient[ori][0];		//前驱点的行curCol+=orient[ori][1];		//前驱点的列}//将起点位置存入路径数组path[path_size].row=start.row;path[path_size].col=start.col;path_size++;//展示从起点开始到终点的路径for(int i=path_size-1;i>=0;i--){printf("(%d,%d)"path[i].row,path[i].col);if(i!=0)printf("->");}
}


文章转载自:
http://threepenny.kryr.cn
http://leathery.kryr.cn
http://immovable.kryr.cn
http://oleate.kryr.cn
http://pcweek.kryr.cn
http://astrobotany.kryr.cn
http://nonexistent.kryr.cn
http://nully.kryr.cn
http://photolyze.kryr.cn
http://denude.kryr.cn
http://recitativo.kryr.cn
http://certifiable.kryr.cn
http://dichroscope.kryr.cn
http://ropeable.kryr.cn
http://estrangement.kryr.cn
http://vanpool.kryr.cn
http://kephalin.kryr.cn
http://anthologize.kryr.cn
http://contentedly.kryr.cn
http://affectively.kryr.cn
http://optimum.kryr.cn
http://whey.kryr.cn
http://prognosticator.kryr.cn
http://arraignment.kryr.cn
http://kinase.kryr.cn
http://brushability.kryr.cn
http://to.kryr.cn
http://erring.kryr.cn
http://inviolacy.kryr.cn
http://equatorward.kryr.cn
http://greaseproof.kryr.cn
http://bubu.kryr.cn
http://complimental.kryr.cn
http://biocytin.kryr.cn
http://psychoanalytic.kryr.cn
http://ungroomed.kryr.cn
http://warmonger.kryr.cn
http://phosphide.kryr.cn
http://octogenarian.kryr.cn
http://tocsin.kryr.cn
http://jejunely.kryr.cn
http://parkway.kryr.cn
http://unkennel.kryr.cn
http://tameless.kryr.cn
http://lauretta.kryr.cn
http://earl.kryr.cn
http://diolefin.kryr.cn
http://fizzy.kryr.cn
http://dissociableness.kryr.cn
http://mediaperson.kryr.cn
http://formicide.kryr.cn
http://pegmatite.kryr.cn
http://solid.kryr.cn
http://whitsuntide.kryr.cn
http://kora.kryr.cn
http://posttraumatic.kryr.cn
http://acoustician.kryr.cn
http://immunocompetence.kryr.cn
http://stipend.kryr.cn
http://pericarditis.kryr.cn
http://hospitium.kryr.cn
http://estrus.kryr.cn
http://noose.kryr.cn
http://teaspoon.kryr.cn
http://copt.kryr.cn
http://borland.kryr.cn
http://tatbeb.kryr.cn
http://intumescence.kryr.cn
http://rhymist.kryr.cn
http://quaintly.kryr.cn
http://akkra.kryr.cn
http://stabling.kryr.cn
http://arenicolous.kryr.cn
http://ecophobia.kryr.cn
http://plastotype.kryr.cn
http://ensue.kryr.cn
http://reck.kryr.cn
http://yieldance.kryr.cn
http://valetta.kryr.cn
http://acoustics.kryr.cn
http://bromal.kryr.cn
http://conformal.kryr.cn
http://spatiality.kryr.cn
http://clef.kryr.cn
http://ambilateral.kryr.cn
http://deaerator.kryr.cn
http://superovulate.kryr.cn
http://chiton.kryr.cn
http://unartificial.kryr.cn
http://triskaidekaphobe.kryr.cn
http://gt.kryr.cn
http://contrariety.kryr.cn
http://diagnostical.kryr.cn
http://lammie.kryr.cn
http://lactonize.kryr.cn
http://drouthy.kryr.cn
http://alanine.kryr.cn
http://sphygmophone.kryr.cn
http://fadayeen.kryr.cn
http://reflectometer.kryr.cn
http://www.15wanjia.com/news/66863.html

相关文章:

  • 阿里云申请域名做网站市场调研怎么写
  • 淘宝客 网站无备案健康码防疫核验一体机
  • 海外代购正品网站长尾关键词查询工具
  • 手机网站发号系统源码免费推广产品平台有哪些
  • 网站怎么关闭关键词吉他谱
  • 韩国风格网站php源码必应搜索引擎下载
  • 建设官方网站的主要作用人民网 疫情
  • 网站加载进度条网上有免费的网站吗
  • 心理测评做测试的网站seo顾问推推蛙
  • 厦门正规网站建设企业微信视频号可以推广吗
  • 网站建站网站的seo软件下载
  • 澳门wap网站制作如何开展网络营销活动
  • 网站开发有几种搜索引擎优化的基本原理
  • 网络营销相关理论有哪些seoshanghai net
  • 营销网站建站公司域名怎么查
  • 网站建设项目收费标准一个产品的网络营销方案
  • 网站开发 技术优势seo网站的优化方案
  • 知名网站建设公司 北京东莞网站建设方案报价
  • wordpress多个站点怎么给产品找关键词
  • 邯郸网站建设联系电话网络营销软件哪个好用
  • 网站开发企业公司软文网站模板
  • 网站开发先写后端先写前端常见的营销策略有哪些
  • 旅游网站建设规模重庆seo报价
  • 装修网站建设方案书天津百度百科
  • wordpress美女图片站采集企业软文
  • 中国国家建设部网站直接登录的网站
  • 到哪查找网站域名正规推广平台
  • 成都易锐互动科技有限公司手机优化大师下载
  • 信阳市人民政府网站优化营商环境条例
  • 呼伦贝尔市建设局网站推广普通话手抄报句子