![](https://img-blog.csdnimg.cn/20200219143449477.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
数据结构与算法
紫薯真好吃
制定计划,不拖沓并且持之以恒~
展开
-
满二叉树、完全二叉树、平衡二叉树、最优二叉树
一、满二叉树 一棵二叉树的结点要么是叶子结点,要么它有两个子结点(如果一个二叉树的层数为K,且结点总数是(2^k) -1,则它就是满二叉树。)二、完全二叉树 若设二叉树的深度为k,除第 k 层外,其它各层 (1~k-1) 的结点数都达到最大个数,第k 层所有的结点都连续集中在最左边,这就是完全二叉树。三、平衡二叉树 它或者是一颗空树,或它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。...转载 2020-12-15 09:45:28 · 1395 阅读 · 0 评论 -
Integer 是包装类 不能用==去比较呀!!
leetcode 501 这道题,就因为没有手动把Integer转为基本数据类型int,再用==比较 ,浪费了我多久时间反复检查!!!/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solut原创 2020-12-01 16:06:24 · 271 阅读 · 0 评论 -
leetcode【递归/回溯问题】总结
回溯问题分析注意:整体思路清晰,回溯的过程大概是怎样的 每层递归实际上要解决的问题是什么 一定记住,该重置的状态要重置,因为回溯就是相当于在每一层的递归中做选择,选择了不同的选项,在遇到阻碍或者达到条件结束递归之后,再想尝试其他的选择路径,应当记住回退到之前的状态。纵向:递归的深度,完整地解决问题(搜索完所有的方案/找到最优方案 )所必须完成地一整个连续过程,该过程的长度。例如,在“选/不选”递归(0/1递归)中,递归的深度是可选值的数量。对于纵向思维,要有层层深入,逐渐解决问题的概念。对原创 2020-10-22 11:32:01 · 341 阅读 · 0 评论 -
二进制枚举
二进制:是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”子集:是一个数学概念:如果集合A的任意一个元素都是集合B的元素,那么集合A称为集合B的子集。含有个元素的集合的一切子集的个数为。简单证明一下:含有0个元素的子集有个, 含有1个元素的子集有个, 含有2个元素的子集有个, ......... 含有N个元素的子集有个由二项式系数的性质可得:。我们就是利用了二进制的特性 ,比如说有5个木棍的长度..转载 2020-10-11 17:27:58 · 195 阅读 · 0 评论 -
渐近记号Θ、Ο、o、Ω、ω详解
参考:https://blog.csdn.net/so_geili/article/details/53353593?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task1.渐进紧确界记号:Θ(big−Theta)\Theta (big-Theta)Θ...原创 2020-03-17 11:47:00 · 6792 阅读 · 0 评论 -
主定理计算递推式的时间复杂度
主定理常用于计算递推式的时间复杂度。转自:https://www.cnblogs.com/jdflyfly/p/3954637.html转载 2020-02-28 22:08:42 · 2025 阅读 · 0 评论