
算法
JohnieLi
cs qq:1187426712
展开
-
python实现二叉树及其七种遍历方式(递归+非递归)
1、二叉树的遍历方式? 前序遍历:根左右 中序遍历:左根右 后序遍历:左右根 层次遍历:从上到下,从左到右 2、python新建一个二叉树及其七种遍历(递归和非递归) class Node(): #节点类 def __init__(self,data = -1): self.data = data self.left = None ...转载 2018-08-06 13:39:24 · 694 阅读 · 0 评论 -
python实现七大经典排序算法
本文主要使用python来实现七个经典的排序算法,分别是:冒泡排序、选择排序,插入排序,快速排序,希尔排序,堆排序和归并排序。 一、相关归纳总结 1、时间复杂度O(N^2): 冒泡排序、选择排序,插入排序O(N*logN): 快速排序,希尔排序,堆排序和归并排序2、空间复杂度O(1):插入排序,冒泡排序,选择排序,堆排序,希尔排序O(logN)~O(N):快速排序O(N):...转载 2018-08-06 13:45:56 · 573 阅读 · 4 评论 -
动态规划案例(python版本)
最近几天一直在看有关动态规划的算法,整理了一些常见案例,主要是求最长公共子序列,最长公共子串,最长递增子序列,最长回文子串,硬币的组合数,硬币的最少组合方法,最小编辑距离,背包问题(01背包,完全背包,多重背包)等方面的经典案例求解。 这些案例大部分都是用python实现的动态规划算法。 案例一:求最长公共子序列(不一定连续) Q:给定两个序列,找出在两个序列中同时出现的最长子序列的长度。一个...转载 2018-08-06 13:53:43 · 1238 阅读 · 0 评论