自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Linux下软件安装目录管理

Linux 的软件安装目录对系统进行有序管理 /usr: 系统级的目录,理解为C:/Windows/ /usr/lib: 理解为C:/Windows/System32 /usr/local: 用户级的程序目录,理解为C:/Progrem Files/ (用户自己编译的软件默认会安装到这个目录下) /opt: 用户级的程序目录,理解为D:/Software opt有可选的意思,这里可以用于放置第三方...

2019-11-27 21:38:55 231

原创 剑指offer—栈的压入、弹出序列(Python版)

题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 解题思路: 借用一个辅助的栈stack,遍历压栈顺序,先讲第一个放入栈中,这里是1,...

2019-11-19 22:47:20 204

原创 剑指offer—包含min函数的栈(Pyhton版)

题目描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题思路: 看到这个问题,,我们最开始可能会想,,添加一个成员变量用于保存最小元素,,每次压栈时如果压栈元素比当前最小元素更小,就更新最小元素。 但是这样会有一个问题,如果最小元素被弹出栈,就无法获得下一个最小元素。在最小元素弹出后还能得到次小元素,次小的元素弹出后,还要能得到次次小...

2019-11-18 23:12:57 167

原创 剑指offer—用两个栈实现队列(Python版)

题目描述: 用两个栈实现一个队列,完成对列的Push和Pop操作。队列中的元素为int类型。 解题思路: 栈stack1用来作入队列; 栈stack2用来出队列,当栈stack2为空时,栈stack1全部出栈到栈satck2,栈stack2再出栈(即出队列) 。 代码实现: # -*- coding:utf-8 -*- class Solution: def __init__(self...

2019-11-18 22:21:55 142

原创 剑指offer—序列化二叉树(Python版)

题目描述: 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结束(value!)。 二叉树的反序列化是指:根据某种遍历顺序得...

2019-11-13 21:26:23 230

原创 剑指offer—把二叉树打印成多行(Python版)

题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解题思路: 本题同“按之字形顺序打印二叉树”,使用队列存储数据。 代码实现: # class TreeNode: # def __init__(self,x): # self.val = x # self.left = None # self.right = None cl...

2019-11-13 21:01:52 194

原创 剑指offer—按之字形顺序打印二叉树(Python版)

题目描述: 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解题思路: 使用两个栈stack1和stack2,stack1存储奇数行结点(先保存右子树,再保存左子树,实际上是保存栈stack2出栈结点的右子树、左子树),stack2存储偶数行结点(先保存左子树,再保存右子树,实际上保存stack1出栈...

2019-11-12 20:14:41 235

原创 剑指offer—对称的二叉树(Python版)

题目描述: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 解题思路: 采用递归算法,只要pRoot.left和pRoot.right是否对称即可,即 : (1) 左右节点的值相等; (2) 对称子树left.left与right.right,left.rigth与right.left也对称相等。 代码实现: # -*- coding...

2019-11-12 18:49:02 185

原创 剑指offer—二叉树的深度(Python版)

题目描述: 输入一棵二叉树,求该树的深度。 从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 解题思路: 使用递归方法: 如果该树只有一个结点,它的深度为1; 如果根结点只有左子树没有右子树,那么树的深度为左子树的深度+1; 同样,如果根结点只有右子树没有左子树,那么树的深度为右子树的深度+1; 如果根结点既有左子树,也有右子树,该树的深度就是左子树和右子...

2019-11-11 21:36:07 190

原创 剑指offer—平衡二叉树(Python版)

题目描述: 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路: 平衡二叉树(Balanced Binary Tree)具有以下性质: 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个...

2019-11-11 21:33:08 184

原创 剑指offer—二叉树的下一个结点(Python版)

题目描述: 给定一个二叉树和其中一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路: 二叉树的中序遍历顺序:LvR(左子树、根节点、右子树) 结合上图,我们发现可分为两种情况: 1、有右子树的,那么下个节点就是右子树最左边的点; 2、没有右子树的,也可以分成两类: a) 是父节点左孩子,那么父节点就是下一个节点 ; b) 是...

2019-11-11 21:28:29 167

原创 归并排序算法

一、归并排序流程 二、合并两个有序数组的流程 三、Python代码实现 算法中通过递归并调用merge函数完成排序。 def merge(s1,s2,s): """将两个列表是s1,s2按顺序融合为一个列表s,s为原列表""" # j和i就相当于两个指向的位置,i指s1,j指s2 i = j = 0 while i+j<len(s): ...

2019-11-07 20:06:51 194

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除