zoukankan      html  css  js  c++  java
  • 队列问题

    102 树的层次遍历

    自定义的数据结构真的很有用,这样就能将层级也一起记录进去了

    107 从底层到上层的二叉树层次遍历

    104 之字型

    199

     广度优先遍历 最短路径  队列

    为什么结束条件就是num==0就可以了?如果不是最短的先遍历到呢?

    好像不是耶。。最短的肯定就是先为0了。

    因为前面的先算,如果它是最短的,那么会先到0. 同理,先到0的,肯定是最短的。

    比如当前全是step为1的

    【a1】【b1这个是结果的那一条路径】【c1】 当前num全都不是0,如果是0就返回step1了

    现在a做了一轮循环,放到后面去了

    【b1】【c1】【a2】

    【a2】【b2】【c2】 如果a2里面有num为0的,那么直接返回step就是2,如果没有返回的就会变成这样

    【b2】【c2】【a3】

    ······一直到

    【a3】【b3】【c3】 如果a3里面有num为0的,那么直接返回step就是3,如果没有返回的就会变成这样

    【b3】【c3】【a4】 b3里面存在num为0的了,返回3

    现在最大的问题只是重复数字了

    创建一个visited数组即可。表示访问过的数字。

    先访问过的数字,因为是队列,肯定会先判断里面有没有num为0的情况,如果有就返回了。没有的话,后面直接抛弃这个即可。

    递归怎么算呢?

    12 --》11,8,3,然后再求11,8,3的最短,取里面最小的。

     因为有大量重复数字,也可以传一个数组进去判断。

    这道题叫最短路径,有点牵强啊

    这个优化更快。因为将最后一步减去了。

    如果只差一步就能到0,直接返回step+1

  • 相关阅读:
    Extjs 4.x 得到form CheckBox的值
    你是工具综合症和资料收集狂患者吗?(转)
    计算机网络第五版(谢希仁)读书笔记(三)
    《别做正常的傻瓜》 读书笔记
    2013年11月27日,开始写专业的博客。
    web输入框的测试
    linux 文件操作相关函数
    Samba的安装
    linux df命令参数详解
    linux arp 命令常用参数详解
  • 原文地址:https://www.cnblogs.com/weizhibin1996/p/9104291.html
Copyright © 2011-2022 走看看