随笔分类 -  数据结构与算法

摘要:二叉树 二叉树的下一个节点 题目 一个二叉树示例: 思路 中序遍历:左根右。寻找一个节点p中序遍历的下一个节点,分两种情况: p有右节点(右子树),下一个节点为右子树上最左边的节点,如节点B p无右节点,这种情况往下继续分为两种情况:a) p是其父节点的左孩子,如上面的节点G; b) p是其父节点的 阅读全文
posted @ 2022-08-10 11:42 wenchu1995 阅读(48) 评论(0) 推荐(0)
摘要:前序遍历 遍历顺序:根左右。先弹出栈顶访问根节点,接着利用栈先将右边子树存储,再存储左子树。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *r 阅读全文
posted @ 2022-08-10 11:07 wenchu1995 阅读(38) 评论(0) 推荐(0)
摘要:单调队列 原理 普通队列就如果食堂打饭一样,先进先出,而单调队列的元素具有单调性(递增或者递减),在保持元素进出的相对顺序不变,维持了大小顺序。如排队过程中突然有个人高马大的小伙过来,来到队尾看到别人比他矮好欺负,把别人赶走,一旦打不过别人就乖乖排队。 如上图,原始数据为 $1,3,6,2,5,1, 阅读全文
posted @ 2022-08-06 15:26 wenchu1995 阅读(63) 评论(0) 推荐(0)