
面试
文章平均质量分 86
菜菜今天学习了吗
这个作者很懒,什么都没留下…
展开
-
算法自学。
回溯 思想 什么时候需要回溯 当问题需要 “回头”,以此来查找出所有的解的时候,使用回溯算法。即满足结束条件或者发现不是正确路径的时候(走不通),要撤销选择,回退到上一个状态,继续尝试,直到找出所有解为止 步骤 ①画出递归树,找到状态变量(回溯函数的参数),这一步非常重要※ ②根据题意,确立结束条件 ③找准选择列表(与函数参数相关),与第一步紧密关联※ ④判断是否需要剪枝 ⑤作出选择,递归调用,进入下一层 ⑥撤销选择 例题 leetcode 46 全排列 leetcode 31 下一个排列原创 2022-03-10 13:33:28 · 199 阅读 · 0 评论 -
线程,协程对比
协程相对线程的好处 为什么Java不换成协程呢 先返回到问题的本源。当我们希望引入协程,我们想解决什么问题。我想不外乎下面几点: 节省资源,轻量,具体就是: 节省内存,每个线程需要分配一段栈内存,以及内核里的一些资源 节省分配线程的开销(创建和销毁线程要各做一次syscall) 节省大量线程切换带来的开销 与NIO配合实现非阻塞的编程,提高系统的吞吐 使用起来更加舒服顺畅(async+await,跑起来是异步的,但写起来感觉上是同步的) 线程+其他技术综合也能实现协程达到的效果 节省资源:比如IM翻译 2021-09-16 08:12:21 · 257 阅读 · 0 评论