More than code

算法
daily

Daily C/C++ dfs剪枝技巧

dfs剪枝技巧 这篇文章灵感来源于今天leetcode的每日一题 先看题 如果学过算法的同学应该知道,这道题是NP问题,是不存在多项式时间的解法的 最朴素的想法就是直接暴力搜索,对于每个任务来说,为他分配工人,那么复杂度就是m^n 这道题正确的做法是状压dp,以工人划分阶段,dp[i][j]表示i个工人,状态为j的最小值 转移就是dp[i][j] = min(dp[i - 1][k] + sum[j - k]) 其中k是j的子集,sum[j - k]就是这个差集的任务的总时间 但是还有一种做法是二分+dfs,因为对…

2021年5月8日 0条评论 544点热度 0人点赞 sheep 阅读全文
算法

莫里斯遍历

莫里斯遍历 有关二叉树的遍历算法 非递归,无额外空间,时间复杂度O(n) 空间复杂度O(1) 很巧妙的遍历算法 核心思想就是利用树节点中的空指针 考虑非递归算法,如果我们不用栈的话,最主要的问题就是遍历完一个节点的左子树后怎么回到这个节点并遍历他的右子树 在遍历左子树的时候,最后一个遍历的节点一定是二叉树中序遍历中,当前节点的前一个节点 也就是当前节点左子树的最右边的节点 我们可以把这个前驱节点的右子树设为当前节点,这样遍历完左子树的时候,也就是遍历完这个前驱节点的时候,我们可以通过先前设置的那个指针回到当前节点,…

2021年1月10日 0条评论 908点热度 0人点赞 sheep 阅读全文
分类
  • ARTS
  • C++
  • CSAPP
  • daily
  • database
  • leetcode
  • linux
  • ml
  • nlp
  • paper
  • rocksdb
  • rust
  • ScummVM
  • tech
  • 其他
  • 周报
  • 未分类
  • 笔记
  • 算法
  • 计算机图形学
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 7 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 4 月
  • 2023 年 2 月
  • 2023 年 1 月
  • 2022 年 9 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 9 月
  • 2021 年 8 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2021 年 3 月
  • 2021 年 1 月
  • 2020 年 12 月

COPYRIGHT © 2021 heavensheep.xyz. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS