草庐IT

四叉树

全部标签

剑指offer12 矩阵中的路径 13 机器人的运动范围 34.二叉树中和为某一值得路径

classSolution{public:boolexist(vectorvectorchar>>&board,stringword){introw=board.size(),col=board[0].size();intindex=0,i=0,j=0;if(word.size()>row*col)return0;//vector>visit[row][col];//标记当前位置有没有被访问过vectorvectorint>>visit(row,vectorint>(col));boolflag=1;while(irow&jcol){cout"board[i][j]:"board[i][j]e

秋招算法备战第17天 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

110.平衡二叉树-力扣(Leetcode)明确后续遍历,借用昨天最后一题的参考思路,一次AC#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#self.val=val#self.left=left#self.right=rightclassSolution:defisBalanced(self,root:Optional[TreeNode])->bool:self.bool_balanced=Truedefcompare_height(cur):ifcur==

leetcode 965.单值二叉树

⭐️题目描述🌟leetcode链接:单值二叉树思路:让当前的根节点与左孩子节点与右孩子节点判断,若相等则继续向下分治,让左孩子与右孩子当作新的根节点继续判断,直到某个节点不相等。1️⃣代码:/*思路:让当前的根节点与左孩子节点与右孩子节点判断,若相等则继续向下分治让左孩子与右孩子当作新的根节点继续判断,直到某个节点不相等。*/boolisUnivalTree(structTreeNode*root){//如果是空节点返回true空节点不影响if(root==NULL){returntrue;}//判断左右节点与根节点的值是否相同(这里要判断不相同因为相同说明不了就是单值二叉树,//而不相同则可

【Leetcode】二叉树的最近公共祖先,二叉搜索树转换成排好序的双向链表,前序遍历与中序遍历构造二叉树

一.二叉树的最近公共祖先链接二叉树的最近公共祖先题目再现 『Ⅰ』思路一:转换成相交链表问题 观察上图,节点1和节点4的最近公共祖先是3,这是不是很像相交链表的问题,关于相交链表,曾经我在另一篇文章里写到过,读者可以参考:反转链表合并链表相交链表但是要转换成相交链表,就要从后向前遍历,如果节点中还存在一个指针,指向父节点就好了,这种结构其实叫三叉链结构: 但是这题给我们的只是一个普通的二叉树,没有三叉链,那该怎么办呢?那么就转换为第二种思路:寻找节点的祖先路径『Ⅱ』思路二:寻找节点的祖先路径 我们可以把要找的两个节点的路径找出来,然后存到栈里,这样把两个节点的祖先路径找出来后,就可以转换成链表相

王道408--数据结构--用数组实现二叉树--并查集及其优化代码

一、数组实现二叉树(下标从0开始)#includetypedefstruct_TreeNode{intdata;boolIsEmpty;//结点是否为空//因为我们的二叉树不一定是满二叉树,中间可能有一些节点不存在//值为1代表空}TreeNode;//初始化voidInitTreeNode(TreeNodet[],intlen){for(inti=0;i)t[i].IsEmpty=1;}boolIsEmpty(TreeNodet[],intlen,intidx){if(idx>=len||idx0)return1;//修改为0returnt[idx].IsEmpty;}//father=(c

Python 二叉树算法解决二维装箱问题 (2d bin-packing problem)

二维装箱问题应用领域比较多,游戏开发中主要应用于贴图合并。最近在调研图集打包工具的算法实现,看到一种实现方式是通过二叉树算法,比较朴素且有效,则立刻写用例简单测试验证下。测试结果:(打包后的图用随机纯色色块代替)测试代码如下:fromPackerimportPackerfromPILimportImageimportcv2importosimportrandomCanvas_Width=1024Canvas_Height=1024CanvasPixelColor=[255,255,255]ImgPath="imgLib"#获取path下的所有图片对象defgetImgList(path):im

代码随想录算法训练营第十一天 | 二叉树系列2

二叉树系列2101对称二叉树二叉树很重要的一点:确定遍历顺序关于递归代码随想录的代码我的代码(理解后编写)100相同的树我的代码572另一个树的子树我的代码录友的代码,只用递归!!!104二叉树的最大深度重点代码随想录的代码我的代码(理解后自己写)559N叉树的最大深度代码随想录的代码我的代码111二叉树的最小深度代码随想录的代码二刷要着重自己独立编写222完全二叉树的节点个数代码随想录的代码二刷要着重自己独立编写110平衡二叉树我的代码代码随想录的代码257二叉树的所有路径重点代码随想录的代码此题很难,二刷时要注意二刷要着重自己独立编写二叉树系列2总结101对称二叉树直接阅读的代码随想录的解

数据结构 二叉树(一篇基本掌握)

绪论        雄关漫道真如铁,而今迈步从头越。本章将开始学习二叉树(全文共一万两千字),二叉树相较于前面的数据结构来说难度会有许多的攀升,但只要跟着本篇博客深入的学习也可以基本的掌握基础二叉树。 话不多说安全带系好,发车啦(建议电脑观看)。附:红色,部分为重点部分;蓝颜色为需要记忆的部分(不是死记硬背哈,多敲);黑色加粗或者其余颜色为次重点;黑色为描述需要目录1.树的概念2.二叉树2.1二叉树的概念2.2二叉树的顺序结构2.2.1堆:堆的实现(所要实现的功能):向上、下调整的应用:1.向上、向下调整直接建堆的方法:2.通过大小堆来实现排升、降序堆的TopK问题:2.3二叉树的链式结构2.

二叉树的基本操作

个人主页:熬夜磕代码丶作品专栏:数据结构与算法我变秃了,也变强了给大家介绍一款程序员必备刷题平台——牛客网点击注册一起刷题收获大厂offer吧文章目录一、二叉树的创建二、具体操作先序遍历中序遍历后序遍历层序遍历获取结点个数检测值为value的元素是否存在获取叶子节点的个数获取第K层节点的个数获取二叉树的高度判断二叉树是不是完全二叉树一、二叉树的创建这里我们采用孩子表示法。classTreeNode{publicintval;publicTreeNodeleft;//左孩子publicTreeNoderight;//右孩子publicTreeNode(intval){this.val=val;}

二叉树的基本操作

个人主页:熬夜磕代码丶作品专栏:数据结构与算法我变秃了,也变强了给大家介绍一款程序员必备刷题平台——牛客网点击注册一起刷题收获大厂offer吧文章目录一、二叉树的创建二、具体操作先序遍历中序遍历后序遍历层序遍历获取结点个数检测值为value的元素是否存在获取叶子节点的个数获取第K层节点的个数获取二叉树的高度判断二叉树是不是完全二叉树一、二叉树的创建这里我们采用孩子表示法。classTreeNode{publicintval;publicTreeNodeleft;//左孩子publicTreeNoderight;//右孩子publicTreeNode(intval){this.val=val;}