
算法和数据结构
fantastikman
这个作者很懒,什么都没留下…
展开
-
动态规划
这里写自定义目录标题动态规划定义应用步骤举例 动态规划 定义 应用 步骤 举例 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。详细参考:https://leetcode-cn.com/problems/longest-palindromic-substring/solution/zui-chang-hui-wen-zi-chuan-by-leetcode-solution/ 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 输原创 2020-08-24 22:10:05 · 179 阅读 · 0 评论 -
红黑树:节点插入与删除
红黑树定义 红黑树是一种二叉查找树,具有如下性质: 1.节点是红色或黑色 2. 根是黑色 3. 所有叶子都是黑色(叶子是NIL节点) 4. 如果一个节点是红的,则它的两个儿子都是黑的 5. 从任一节点到其叶子的所有简单路径都包含相同数目的黑色节点(黑色节点平衡) 6. 新插入节点为红色 红黑树应用 C++的STL,map和set都是用红黑树实现的。 著名的linux进程调度Completely Fair Scheduler,用红黑树管理进程控制块。 epoll在内核中的实现,用红黑树..原创 2020-07-08 23:59:17 · 982 阅读 · 0 评论 -
回溯算法
文章目录回溯算法定义举例 n皇后(LeeCode 51题) 回溯算法定义 回溯法是一种系统搜索问题解空间的方法。为了实现回溯,需要给问题定义一个解空间。说到底它是一种搜索算法。只是这里的搜索是在一个叫做解空间的地方搜索。要实现回溯,需要两点1搜索,2解空间。 &nb...原创 2019-10-15 09:50:42 · 209 阅读 · 0 评论 -
从中序遍历和后序遍历序列创建二叉树
从中序遍历和后序遍历序列创建二叉树思路分析C语言实现 思路分析 二叉树相关的很多问题的解决思路都有分治法的思想在里面。 分治法的思想:把原问题分解(Divide)成若干个与原问题结构相同但规模更小的子问题,待子问题解决(Conquer)以后,再合并(Combine)它们,原问题就得以解决,“归并排序” 和 “快速排序” 都是分治法思想的应用,其中 “归并排序” 先无脑地“分”,在 “合” 的时候就...原创 2019-10-09 11:51:18 · 1378 阅读 · 2 评论