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

门户网站建设与运行灌南网页设计

门户网站建设与运行,灌南网页设计,网站设计中新闻版块怎么做,手机上如何写html网页深度优先搜索算法(Depth First Search)DFS是搜索算法的一种。它沿着树的深度遍历树的节点#xff0c;尽可能深的搜索树的分支。当节点v的所有边都己被探寻过#xff0c;搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还…深度优先搜索算法(Depth First Search)DFS是搜索算法的一种。它沿着树的深度遍历树的节点尽可能深的搜索树的分支。当节点v的所有边都己被探寻过搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点则选择其中一个作为源节点并重复以上过程整个进程反复进行直到所有节点都被访问为止。图片.png如上图所示的二叉树A 是第一个访问的然后顺序是 B、D然后是 E。接着再是 C、F、G。那么怎么样才能来保证这个访问的顺序呢分析一下在遍历了根结点后就开始遍历左子树最后才是右子树。因此可以借助堆栈的数据结构由于堆栈是后进先出的顺序由此可以先将右子树压栈然后再对左子树压栈这样一来左子树结点就存在了栈顶上因此某结点的左子树能在它的右子树遍历之前被遍历。广度优先搜索算法(Breadth First Search)又叫宽度优先搜索或横向优先搜索。是从根节点开始沿着树的宽度遍历树的节点。如果所有节点均被访问则算法中止。图片.png如上图所示的二叉树A 是第一个访问的然后顺序是 B、C然后再是 D、E、F、G。那么怎样才能来保证这个访问的顺序呢借助队列数据结构由于队列是先进先出的顺序因此可以先将左子树入队然后再将右子树入队。这样一来左子树结点就存在队头可以先被访问到。代码实现#include#include #includeusing namespace std;struct Node{int nVal;Node *pLeft;Node *pRight;Node(int val,Node* leftNULL,Node * rightNULL):nVal(val),pLeft(left),pRight(right){}; //构造};// 析构void DestroyTree(Node *pRoot){if (pRootNULL)return;Node* pLeftpRoot-pLeft;Node* pRightpRoot-pRight;delete pRoot;pRoot NULL;DestroyTree(pLeft);DestroyTree(pRight);}// 用queue实现的BFSvoid BFS(Node *pRoot){if (pRootNULL)return;queue Q;Q.push(pRoot);while(!Q.empty()){Node *node Q.front();coutnVal;if (node-pLeft!NULL){Q.push(node-pLeft);}if (node-pRight!NULL){Q.push(node-pRight);}Q.pop();}cout}// DFS的递归实现void DFS_Recursive(Node* pRoot){if (pRootNULL)return;coutnValif (pRoot-pLeft!NULL)DFS_Recursive(pRoot-pLeft);if (pRoot-pRight!NULL)DFS_Recursive(pRoot-pRight);}// DFS的迭代实现版本(stack)void DFS_Iterative(Node* pRoot){if (pRootNULL)return;stack S;S.push(pRoot);while (!S.empty()){Node *nodeS.top();coutnValS.pop();if (node-pRight!NULL){S.push(node-pRight);}if (node-pLeft!NULL){S.push(node-pLeft);}}}// 打印树的信息void PrintTree(Node* pRoot){if (pRootNULL)return;coutnValif (pRoot-pLeft!NULL){PrintTree(pRoot-pLeft);}if (pRoot-pRight!NULL){PrintTree(pRoot-pRight);}}int main(){Node *node1new Node(4);Node *node2new Node(5);Node *node3new Node(6);Node* node4new Node(2,node1,node2);Node* node5new Node(3,node3);Node* node6new Node(1,node4,node5);Node* pRoot node6;//PrintTree(pRoot);//DFS_Recursive(pRoot);DFS_Iterative(pRoot);DestroyTree(pRoot);return 0;}
http://www.huolong8.cn/news/246348/

相关文章:

  • 企业网站建设费怎么核算怎样做网站代理
  • 长春专业网站建设推广费用中国核工业二三建设有限公司官网
  • 昆明市城建设档案馆网站hao123网址之家
  • 宜昌 房地产网站建设网站图片设计怎样才能高大上
  • 什么是电子商务网站建设seo诊断的网络问题
  • 帮助中心网站源码seo优化软件下载
  • 安徽网站建设网络公司温江区网站建设
  • 温岭网站建设公司wordpress 虎嗅
  • 网站后台路径襄阳网站seo公司
  • 网站运营怎么自学株洲网络公司-网站建设怎么样
  • 灯饰外贸网站筑云电商网站建设公司
  • 广州站是指哪个站如何选择网站建设流程
  • 自助建设影视网站网站建设的要点
  • 锦州建设信息网站军用棉被门网站建设
  • 山东网络推广图片seo全称是什么
  • 青岛开发区制作网站公司新闻稿生成器app
  • 石家庄网站制作软件网站中英文域名
  • 太仓做网站的 太仓wordpress歌词插件
  • 做3d办公家具教程的网站wordpress特殊主题关键词设置
  • 电影网站怎么做seo商城类网站功能列表
  • 哪些网站可以做宣传域名注册价格及续费
  • 深圳最火的网站企业运营
  • 用瀑布流做的美食网站用html制作旅游网站
  • 温江建设局备案网站微博问答网站开发
  • 做推广网站需要商标吗wordpress 调用输入
  • 视频网站 移动 模板室内设计网站 知乎
  • 2018做网站赚钱不制作网站 美工
  • 建设网站需要会什么河南最新新闻头条
  • 西安网站建设王永杰小程序免费制作网站
  • 拓普网站建设适合做模型的著名建筑