[toc] 学习记录 快速幂 快速幂的递归实现 假设要算$7^9$,如果采取普通计算,也就是$7 7 7 7 7 7 7 7 7$,共需要8次运算。 运用二分的思想,先算$7^4$,然后通过$7^4 7^4 7$来计算$7^9 $,这样就只需要$3+1+1=6$次计算,然而这样还不够彻底,$7^4$ ...
分类:
其他好文 时间:
2020-05-10 17:12:06
阅读次数:
53
一、简介 二叉树的三种遍历方式我相信大家都了然于心,前序遍历、中序遍历、后序遍历。对于这三种遍历的递归实现,我们都不容易忘记。不过,对于非递归实现,我相信会有很多人会跟我一样,背了忘,再背再忘......(很多算法题都是这样,比如各种排序算法的实现)。经过认真观察思考后,发现实现起来是那么的简单,只 ...
分类:
其他好文 时间:
2020-05-09 09:11:48
阅读次数:
64
/*层次遍历,其实就是一个队列,先把根节点压入,之后进入循环,每次先弹出一个根节点,在输出值后,将其左右子树分别压入队列*/ void InorderTraversal(BinTree BT) { BinTree T; Stack S = CreateStack(100);//创建并初始化堆栈 wh ...
分类:
其他好文 时间:
2020-05-08 09:25:03
阅读次数:
66
用递归实现回溯法 注意:对于越界的检查是row>=matrix.length和col>=matrix[0].length要加上等号(这个错误找了半个小时呜呜呜) public class Solution { private int[][] act = {{0,1},{0,-1},{-1,0},{1 ...
分类:
其他好文 时间:
2020-05-04 17:23:52
阅读次数:
53
题目: 解答: 方法一:回溯 想法: 一个反序中序遍历的方法是通过递归实现。通过调用栈回到之前的节点,我们可以轻松地反序遍历所有节点。 算法: 在递归方法中,我们维护一些递归调用过程中可以访问和修改的全局变量。首先我们判断当前访问的节点是否存在,如果存在就递归右子树,递归回来的时候更新总和和当前点的 ...
分类:
其他好文 时间:
2020-05-03 14:49:24
阅读次数:
53
92. 递归实现指数型枚举(Acwing) 题目链接: https://www.acwing.com/problem/content/94/ 题解: 一个位置选或者不选两种情况,递归到边界(n个已经选完了),输出结果即可 AC代码: ...
import java.util.Arrays;/** * 归并排序(非递归实现) */public class MergeSort2 { public static void main(String[] args) { // 测试次数 int times = 50000; int maxNum = ...
分类:
编程语言 时间:
2020-05-01 13:09:11
阅读次数:
66
import java.util.Arrays;/** * 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 * 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序 ...
分类:
编程语言 时间:
2020-05-01 12:52:14
阅读次数:
61
1. 递归实现 先序 中序 后序 2. 非递归 前序 中序 后序 ...
分类:
其他好文 时间:
2020-05-01 11:01:06
阅读次数:
50
404.左子树之和 计算给定二叉树的所有左叶子之和。 示例: 递归实现 ...
分类:
其他好文 时间:
2020-05-01 00:43:40
阅读次数:
58