<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[anhooo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/anhooo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; anhooo]]></copyright><item><title><![CDATA[二叉树的遍历、非递归实现]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/106971273</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/106971273</guid><author>anhooo</author><pubDate>Fri, 26 Jun 2020 16:23:38 +0800</pubDate><description><![CDATA[public class TreeNode{
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode(int val){
        this.val = val;
    }
}

一、二叉树的前序遍历




//非递归实现
public void preOrder(TreeNode root){
    if(root == null) return;
    Stack&lt;TreeNode&gt; stack = n.]]></description><category></category></item><item><title><![CDATA[海量数据获取TopK、堆排序，快速排序实现]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/106970801</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/106970801</guid><author>anhooo</author><pubDate>Fri, 26 Jun 2020 16:00:43 +0800</pubDate><description><![CDATA[注意：最小TopK用大顶堆，最大TopK用小顶堆

一、用java 的priorityQueue实现


//最小Top， 用java的PriorityQueue
import java.util.*;
public class Solution{
    public ArrayList&lt;Integer&lt;&gt; getLeastNumber_Solution(int[] input, int k){
        int n = input.length;
        ArrayLis]]></description><category></category></item><item><title><![CDATA[LRU 缓存的两种实现方式]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/106969578</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/106969578</guid><author>anhooo</author><pubDate>Fri, 26 Jun 2020 14:27:38 +0800</pubDate><description><![CDATA[LRU 缓存的两种实现方式



一、使用LinkedHashMap实现


class LRUCache {
    Map&lt;Integer, Integer&gt; cache=null;
    public LRUCache(int capacity) {
        cache = new LinkedHashMap&lt;&gt;(capacity, 0.75f, true){
            @Override
            public boolean remov]]></description><category></category></item><item><title><![CDATA[将博客搬至优快云]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/107438606</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/107438606</guid><author>anhooo</author><pubDate>Wed, 26 Sep 2018 10:18:00 +0800</pubDate><description><![CDATA[为方便记录，将博客搬至优快云
]]></description><category></category></item><item><title><![CDATA[数据和函数]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86163766</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86163766</guid><author>anhooo</author><pubDate>Thu, 02 Aug 2018 18:06:00 +0800</pubDate><description><![CDATA[
	
		数据和函数
	
	1、枚举类型

Inductive day : Type :=
  | monday : day
  | tuesday : day
  | wednesday : day
  | thursday : day
  | friday : day
  | saturday : day
  | sunday : day.

　　上面的例子定义了一个 day 的类型，...]]></description><category></category></item><item><title><![CDATA[Animation 动画]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86139080</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86139080</guid><author>anhooo</author><pubDate>Mon, 30 Jul 2018 07:49:00 +0800</pubDate><description><![CDATA[
	
		Animation 动画
	
	1、定义方程
使用matplotlib做动画也是可以的，我们使用其中一种方式，function animation来说说， 具体可参考matplotlib animation api。首先，我们做一些准备工作：

from matplotlib import pyplot as plt
from matplotlib import animatio...]]></description><category></category></item><item><title><![CDATA[次坐标轴]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86139065</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86139065</guid><author>anhooo</author><pubDate>Mon, 30 Jul 2018 07:25:00 +0800</pubDate><description><![CDATA[
	
		次坐标轴
	
	1、第一个y坐标
有时候我们会用到次坐标轴，即在同个图上有第2个y轴存在。同样可以用matplotlib做到，而且很简单。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 10, 0.1)

y1 = 0.05 * x**2

y2 = -1 * y1

可以看到，y2和y...]]></description><category></category></item><item><title><![CDATA[图中图]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86175556</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86175556</guid><author>anhooo</author><pubDate>Mon, 30 Jul 2018 07:21:00 +0800</pubDate><description><![CDATA[
	
		图中图
	
	1、数据

# 导入pyplot模块
import matplotlib.pyplot as plt

# 初始化figure
fig = plt.figure()

# 创建数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]

2、大图
接着，绘制大图。首先确定大图左下角的位置以及宽高：

left, bo...]]></description><category></category></item><item><title><![CDATA[Subplot 分格显示]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86139073</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86139073</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 23:03:00 +0800</pubDate><description><![CDATA[
	
		Subplot 分格显示
	
	1、subplot2grid
使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure()创建一个图像窗口

import matplotlib.pyplot as plt

plt.figure()

使用plt.subplot2grid来创建第1个小图, (3,3)表示将整个图像窗口分成3行3列,...]]></description><category></category></item><item><title><![CDATA[Subplot 多合一显示]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86175546</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86175546</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 22:55:00 +0800</pubDate><description><![CDATA[
	
		Subplot 多合一显示
	
	1、均匀图中图
matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot.
使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure创建一个图像窗口.

import matplotlib.pyplot as plt

plt.figure()

使用...]]></description><category></category></item><item><title><![CDATA[3D 数据]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86139087</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86139087</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 22:46:00 +0800</pubDate><description><![CDATA[
	
		3D 数据
	
	1、3D 图
首先在进行 3D Plot 时除了导入 matplotlib ，还要额外添加一个模块，即 Axes 3D 3D 坐标轴显示：

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

之后要先定义一个图像窗口，在窗口上添加...]]></description><category></category></item><item><title><![CDATA[Image 图片]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86139156</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86139156</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 22:32:00 +0800</pubDate><description><![CDATA[
	
		Image 图片
	
	随机矩阵画图
这一节我们讲解怎样在matplotlib中打印出图像。这里打印出的是纯粹的数字，而非自然图像。下面用 3x3 的 2D-array 来表示点的颜色，每一个点就是一个pixel。

import matplotlib.pyplot as plt
import numpy as np

a = np.array([0.313660827978, ...]]></description><category></category></item><item><title><![CDATA[Contours 等高线图]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86139148</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86139148</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 22:10:00 +0800</pubDate><description><![CDATA[
	
		Contours 等高线图
	
	1、画等高线
数据集即三维点 (x,y) 和对应的高度值，共有256个点。高度值使用一个 height function f(x,y) 生成。 x, y 分别是在区间 [-3,3] 中均匀分布的256个值，并用meshgrid在二维平面中将每一个x和每一个y分别对应起来，编织成栅格:

import matplotlib.pyplot as pl...]]></description><category></category></item><item><title><![CDATA[Bar 柱状图]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86139142</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86139142</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 22:02:00 +0800</pubDate><description><![CDATA[
	
		Bar 柱状图
	
	1、生成基本图形
向上向下分别生成12个数据，X为 0 到 11 的整数 ，Y是相应的均匀分布的随机数据。 使用的函数是plt.bar，参数为X和Y：

import matplotlib.pyplot as plt
import numpy as np

n = 12
X = np.arange(n)
Y1 = (1 - X / float(n)) * n...]]></description><category></category></item><item><title><![CDATA[Scatter 散点图]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86175551</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86175551</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 21:51:00 +0800</pubDate><description><![CDATA[
	
		Scatter 散点图
	
	散点图
首先，先引入matplotlib.pyplot简写作plt,再引入模块numpy用来产生一些随机数据。生成1024个呈标准正态分布的二维数据组 (平均数是0，方差为1) 作为一个数据集，并图像化这个数据集。每一个点的颜色值用T来表示：

import matplotlib.pyplot as plt
import numpy as np

n...]]></description><category></category></item><item><title><![CDATA[tick 能见度]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86170559</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86170559</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 17:45:00 +0800</pubDate><description><![CDATA[
	
		tick 能见度
	
	1、生成图形
当图片中的内容较多，相互遮盖时，可以通过设置相关内容的透明度来使图片更易于观察，也即是通过本节中的bbox参数设置来调节图像信息.

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 50)
y = 0.1*x

plt.figure()
# ...]]></description><category></category></item><item><title><![CDATA[Annotation 标注]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86175539</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86175539</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 16:42:00 +0800</pubDate><description><![CDATA[
	
		Annotation 标注
	
	1、画出基本图
当图线中某些特殊地方需要标注时，我们可以使用 annotation. matplotlib 中的 annotation 有两种方法， 一种是用 plt 里面的 annotate，一种是直接用 plt 里面的 text来写标注.
首先，我们在坐标轴中绘制一条直线.

&amp;gt;&amp;gt;&amp;gt; import matplotlib.py...]]></description><category></category></item><item><title><![CDATA[Legend 图例]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86175542</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86175542</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 11:21:00 +0800</pubDate><description><![CDATA[
	
		Legend 图例
	
	1、添加图例

&amp;gt;&amp;gt;&amp;gt; import matplotlib.pyplot as plt
&amp;gt;&amp;gt;&amp;gt; import numpy as np
&amp;gt;&amp;gt;&amp;gt; x = np.linspace(-3, 3, 50)
&amp;gt;&amp;gt;&amp;gt; y1 = 2*x + 1
&amp;gt;&amp;gt;&amp;gt; y2 = x**2
]]></description><category></category></item><item><title><![CDATA[Matplotlib 基本用法]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86182013</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86182013</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 11:01:00 +0800</pubDate><description><![CDATA[
	
		Matplotlib 基本用法
	
	1、基础应用

&amp;gt;&amp;gt;&amp;gt; import matplotlib.pyplot as plt
&amp;gt;&amp;gt;&amp;gt; import numpy as np
#使用np.linspace定义x：范围是(-1,1);个数是50. 仿真一维数据组(x ,y)表示曲线1
&amp;gt;&amp;gt;&amp;gt; x = np.linspace(-1, ...]]></description><category></category></item><item><title><![CDATA[Pandas plot出图]]></title><link>https://blog.youkuaiyun.com/anhooo/article/details/86182008</link><guid>https://blog.youkuaiyun.com/anhooo/article/details/86182008</guid><author>anhooo</author><pubDate>Sun, 29 Jul 2018 09:57:00 +0800</pubDate><description><![CDATA[
	
		Pandas plot出图
	
	1、创建一个Series
这是一个线性的数据，我们随机生成1000个数据，Series 默认的 index 就是从0开始的整数，但是这里我显式赋值以便让大家看的更清楚

&amp;gt;&amp;gt;&amp;gt; import pandas as pd
&amp;gt;&amp;gt;&amp;gt; import numpy as np
&amp;gt;&amp;gt;&amp;gt; import matp...]]></description><category></category></item></channel></rss>