#二叉树的前序遍历(递归版本和迭代版本) #递归实现 ####1.王道408c语言(答题)逻辑版本: void preorder(BiTree T){ if (T != NULL){ //判断树是否为空 visit(T); //访问根结点 preorder(T->lchild) //访问左子树 pr ...
分类:
其他好文 时间:
2020-07-26 19:17:13
阅读次数:
69
用C/C++编写二叉树的前序遍历,中序遍历,后序遍历(递归) 使用辅助队列的层序遍历(非递归) 特别说明一下层次遍历:借助一个队列,先将二叉树根结点入队,然后出队,访问出队结点,若它有左子树,则将左子树根结点入队;若它有右子树,则将右子树树根结点入队。然后出队,访问出队结点.......如此反复,直 ...
分类:
其他好文 时间:
2020-07-23 16:22:22
阅读次数:
66
Java顺序查找、二分查找 查找算法中顺序查找算是最简单的了,无论是有序的还是无序的都可以,只需要一个个对比即可,但其实效率很低。 顺序查找 动图演示 详细代码 // 顺序查找 public static boolean search(int[] arrray, int key) { for (in ...
分类:
编程语言 时间:
2020-07-18 13:34:27
阅读次数:
57
FJ的字符串 Description FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗? Input 仅有一个数:N ≤ 26。 Output 请输出相 ...
分类:
其他好文 时间:
2020-07-14 13:43:06
阅读次数:
55
前言 昨天和今天复习了二叉树的前序遍历、中序遍历和后序遍历,找到了一种统一的非递归的方法(即使用一个思路非递归实现二叉树的前序、中序和后序遍历)。 思路 思路本质上还是递归,只不过不通过递归函数显示地递归,而是通过栈模拟递归的过程。 具体思路:https://leetcode-cn.com/prob ...
分类:
其他好文 时间:
2020-07-13 15:41:18
阅读次数:
65
前序遍历的非递归实现 中序遍历的非递归实现 1 void InOrder2(BTNode *root) { 2 BTNode *p = root; 3 stack<BTNode *> S; 4 while (p != NULL || !S.empty()) { 5 if (p) { // 找到树中最 ...
分类:
编程语言 时间:
2020-07-11 19:21:14
阅读次数:
59
0 1 1 2 3 5 8 11 19 30 49 > 斐波拉契数列 //非递归实现public int fib(int n) { if(n == 0) return 0; if(n == 1) return 1; int a = 0; int b = 1; int ret = 0; while ( ...
分类:
其他好文 时间:
2020-07-10 18:51:01
阅读次数:
48
C# Net 树帮助类 C# Net 树节点帮助类 优点:非递归,效率可能更高 文尾看调用方式 创建一个新的文件 TreeNodeHelper.cs 并拷贝代码: /// <summary> /// 树节点 /// </summary> public class TreeNodeHelper { / ...
1.思路分析 对升序数组进行查找,查找具体的值所对应的索引 2.取中间索引跟目标值进行比较, 如果目标值=中间值,则返回中间值索引 如果目标值>中间值,则左边索引为中间索引+1 如果目标值<中间值,则右边索引为中间索引-1 左侧<=右侧索引时进行以上处理,否则就是没有找到返回-1 3.代码实现 pa ...
分类:
编程语言 时间:
2020-07-09 22:28:57
阅读次数:
64
非递归 思路1 用两个栈实现后序遍历的步骤: 申请一个栈stack1,将头节点压入栈中 将stack1中元素弹出,记为temp,依次将temp的左孩子,右孩子压入stack1(如果有的话 每个从stack1中弹出的元素都压入stack2 4.不断重复步骤2,3直到stack1为空停止 5.从stac ...
分类:
其他好文 时间:
2020-07-04 22:33:18
阅读次数:
64