1.节点数据结构 public class Node { public int value; public Node left; public Node right; public Node(int data){ this.value = value; } } 2.递归 public class R ...
分类:
编程语言 时间:
2020-04-22 13:39:29
阅读次数:
66
自顶向下的语法分析 一、自顶向下语法分析 1.定义 2.不足 不能处理左递归 不能处理复杂的回溯技术 3.例 4.算法构造 FIRST FOLLOW LL ( 1 ) 文法 二、预测分析 1.递归下降的预测分析 递归下降预测分析器 2.非递归下降的预测语法分析 例 ...
分类:
其他好文 时间:
2020-04-21 23:43:39
阅读次数:
70
算法 第八章 Morris遍历/搜索二叉树/跳表等(完结) Morris遍历 + Morris遍历实现二叉树的先中后序遍历,时间复杂度O(n), 额外空间复杂度O(1) + 如果使用递归/非递归版本都是使用栈来完成二叉树遍历,因为只有指向子指针没有指向父指针,有额外的栈空间。 + Morris遍历实 ...
分类:
编程语言 时间:
2020-04-21 18:52:39
阅读次数:
92
运行结果: 代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 #include <bits/stdc++.h> 4 using namespace std; 5 const int MAX = 1024; 6 const char * ...
分类:
其他好文 时间:
2020-04-19 00:50:47
阅读次数:
48
1 //双亲储存结构 2 typedef struct{ 3 ElemType data; 4 int parent; 5 }PTree[MaxSize]; 6 7 //孩子链储存结构 8 const int MaxSons = 10; 9 typedef struct node{ 10 ElemT ...
分类:
编程语言 时间:
2020-04-15 21:28:03
阅读次数:
104
汉诺塔介绍: 汉诺塔 (港台: 河内塔 )是根据一个传说形成的数学问题: 最早发明这个问题的人是 "法国" "数学家" "爱德华·卢卡斯" 。 传说越南河内某间寺院有三根银棒,上串 64 个金盘。寺院里的僧侣依照一个古老的预言,以上述规则移动这些盘子;预言说当这些盘子移动完毕,世界就会灭亡。这个传说 ...
分类:
编程语言 时间:
2020-04-12 12:21:41
阅读次数:
76
题目: 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制:(1) 每次只能移动一个盘子;(2) 盘子只能从柱子顶端滑出移到下一根柱子;(3) 盘子 ...
分类:
其他好文 时间:
2020-04-05 18:41:57
阅读次数:
56
import java.util.Stack;class TreeNode{ int val; TreeNode left; TreeNode rigth; public TreeNode(int val) { this.val = val; }}public class Tree { //二叉树的 ...
分类:
其他好文 时间:
2020-04-05 15:38:06
阅读次数:
71
单链表的反转可以用递归、非递归和栈的方法实现 链表节点定义: 1、栈 2、递归 利用递归,直到链表的最后一个节点,用一个指针指向该节点,作为反转后的链表的头节点 在递归返回的过程中,让该节点的下一个节点指向该节点$(head next next=head)$, 并让该节点指向$NULL$。这样就从链 ...
分类:
其他好文 时间:
2020-04-01 19:23:32
阅读次数:
79
二叉树中序非递归 从root开始,一直往左孩子走入栈,走到头 倒退回去到有右孩子的点重复上一个步骤,注意,这中间经过的栈扔出去的点,包括最后一个有右孩子的点都要存到ans里面 注意判断stack为空 /** * Definition for a binary tree node. * struct ...
分类:
其他好文 时间:
2020-03-31 12:21:52
阅读次数:
55