二叉树的先序/中序/后序遍历递归/非递归实现,讲的很清楚,其中后序遍历和先序中序的处理有些不一样: https://blog.yangx.site/2016/07/22/Python-binary-tree-traverse/ ...
分类:
其他好文 时间:
2019-04-27 12:49:47
阅读次数:
100
归并排序仍然是利用完全二叉树实现,它是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。 基本过程:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并 ...
分类:
编程语言 时间:
2019-04-25 14:29:57
阅读次数:
438
题目 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 代码 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 ...
分类:
其他好文 时间:
2018-10-22 00:07:19
阅读次数:
199
一、前序遍历: 递归方式: 非递归方式:时间复杂度O(n),空间复杂度O(n) 二、中序遍历: 递归方式: 非递归方式: 三、后序遍历: 递归 非递归: ...
分类:
其他好文 时间:
2018-10-18 13:12:35
阅读次数:
147
二叉树如上图所示。 一、递归遍历 二、非递归遍历 要借助栈或队列 初始化把根节点压栈,访问根节点并弹出,然后依次将右节点、左节点入栈,直到栈为空。 思路:回溯。访问根节点的左孩子,访问左孩子的左孩子,直到左孩子为空,这个过程中把所有访问过的节点压栈,当左孩子为空,pop该节点,访问该节点的右孩子。空 ...
分类:
其他好文 时间:
2018-09-29 14:40:15
阅读次数:
162
1.描述一个算法优劣用计算次数的数量级。1M/1G/1T。与问题相关的规模用nT(n)=n^2/n^3 2.常见的时间复杂度(用大O表示法表示)常数阶 O(1) 线性阶 O(n)平方阶 O(n^2)对数阶 O(logn)nlogn阶 O(nlogn)立方阶 O(n^3)指数阶 O(2^n ) O(1 ...
分类:
编程语言 时间:
2018-09-25 21:51:54
阅读次数:
143
1. 二叉树的遍历:先序(递归、非递归),中序(递归、非递归),后序(递归、非递归)。 2. 获取二叉树节点个数: 3. 判断二叉树是否为完全二叉树: 4. 求二叉树两个节点的最小公共祖先: 5. 二叉树的翻转: 6. 求二叉树第k层的节点个数: 7. 求二叉树中节点的最大距离(相距最远的两个节点之 ...
分类:
编程语言 时间:
2018-08-28 17:57:22
阅读次数:
179