
算法与数据结构
文章平均质量分 53
我是一个大西瓜.
韶光易逝,劝君惜取少年时。
展开
-
二叉树之遍历
2021.11.28所有递归问题都可以抽象为二叉树的遍历。1、二叉树的前序遍历给你二叉树的根节点 root ,返回它节点值的 前序 遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]思路递归临界条件:root = nullclass Solution { public List<Integer> preorderTraversa原创 2021-11-29 09:28:14 · 564 阅读 · 0 评论 -
刷题技巧之二叉树
递归算法的关键**首先:明确函数定义,相信这个定义,不要**跳进递归。**其次:**搞明白root节点自己要做什么,然后根据题目要求选择前中后序递归框架。**最后:**思考出每个节点需要做什么,刷题。习题1:翻转二叉树首先,明确函数定义即,交换根节点的左右节点位置,返回翻转后的节点。其次,明确root自己做什么他要交换它的两个子节点,故选择前序遍历再者,明确子节点都要做什么让每个子节点都去翻转他们的左右子节点。最后,明确边界条件当root == null时,证明执行到了叶子节点,终转载 2021-11-07 18:34:10 · 297 阅读 · 0 评论 -
排序算法 10/17
1、选择排序时间复杂度为o(n^2)public class SelectSort { public static int[] sort(int[] arr){ //初始化最小下标 int minIndex = 0; //外层循环逐个取得需要逐次比较的下标 for (int i = 0 ; i < arr.length ; i++){ //将i赋给最小下标 minIndex =原创 2021-10-17 21:12:05 · 80 阅读 · 0 评论