
数据结构
文章平均质量分 74
moletop
薛定谔的机器学习
展开
-
栈,队列和堆模板总结
栈,队列和堆栈和队列是容器适配器 也就是底层容器加上接口,默认底层实现是deque。不提供走访功能,也不提供迭代器//栈stack<int> ss.push()s.pop()s.top() //队列queue<int> q//双端队列 deque<int>qq.push()//q.push_front(),q.push_back()q.pop()//q.pop_front(),q.pop_back()q.front()q.back(原创 2021-11-16 17:14:06 · 736 阅读 · 0 评论 -
动态规划模板总结
动态规划动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。对于动态规划问题,四步解决:确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序最后可以举例推导dp数组,然后可以打印dp数组对比一下最简单和经典的案例:斐波那契数列(兔子数列)分析过程1原创 2021-11-16 17:11:42 · 728 阅读 · 0 评论 -
数组和字符串常用技巧和知识点
数组 和 字符串注:博客内容只限于个人学习。图片和内容可能整合了多渠道的信息来源,如侵联系可删。归并排序 分治思想分: 不断将数组从中点位置划分开(即二分法),将整个数组的排序问题转化为子数组的排序问题;治: 划分到子数组长度为 1 时,开始向上合并,不断将 较短排序数组 合并为 较长排序数组,直至合并至原数组时完成排序;参考https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/solution/jian-zhi-o原创 2021-11-16 17:08:55 · 1027 阅读 · 0 评论 -
二叉树模板整理
二叉树二叉树的种类在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。满二叉树这棵二叉树为满二叉树,深度为k,有2^k-1个节点完全二叉树完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。二叉搜索树前面介绍的树,都没有数值的,而二叉搜索树是有数值的了,「二叉搜索树是一个有序树」。若它的左子树不空,则左子树上所有结点的值均小于它的原创 2021-11-16 17:02:42 · 1083 阅读 · 0 评论