Data Structure and Algorithm
数据结构与算法
黎先生你好
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
斐波那契数列求解的几种方法
斐波那契数列的定义是f(n + 1) = f(n) + f(n - 1),生成第 n 项的做法有以下3种。 1. 递归法: 1.1 原理 递归法求解的原理是把 f(n)问题的计算拆分成 f(n-1)和 f(n-2) 两个子问题的计算,并递归,以 f(0)和 f(1)为终止条件。 缺点: 大量重复的递归计算,例如 f(n) 和 f(n - 1)两者向下递归需要 各自计算 f(n - 2)的值。通过下...原创 2020-03-30 03:34:47 · 4235 阅读 · 0 评论 -
Python实现十大经典排序算法
算法分类 分类 排序算法大致可以分为两类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 相关概念 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。 不稳定:如果a原本在b...原创 2020-03-20 10:28:23 · 1025 阅读 · 0 评论 -
树的遍历
树的中序遍历(前序、后序同理) 题目来源:leetcode 给定一个二叉树,返回它的中序 遍历。示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? # Definition for a binary tree node. # class TreeNode: # ...原创 2020-02-14 20:54:40 · 194 阅读 · 0 评论 -
非递归方式实现树的遍历
本文转载自作者:hzhu212 链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/solution/yan-se-biao-ji-fa-yi-chong-tong-yong-qie-jian-ming/ 来源:力扣(LeetCode) 官方题解中介绍了三种方法来完成树的中序遍历,包括: 递归 借助栈的迭代方法 莫里...转载 2020-02-14 19:44:49 · 381 阅读 · 0 评论 -
树的旋转
Figure 1.1 和 Figure 1.2 (wikipedia, 2020)动态演示了树的旋转过程。 Figure 1.1 rotation(dynamic) Figure 1.2 tree rotation(static) 以下是树的左右旋在python中的实现,参考(再见紫罗兰, 2020). def singleRighttRotate(self,node): # node ...原创 2020-01-28 05:05:58 · 457 阅读 · 0 评论
分享