自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lavi的专栏

在自己的世界里孤芳自赏,在别人的世界里随遇而安

  • 博客(46)
  • 资源 (28)
  • 问答 (1)
  • 收藏
  • 关注

原创 人脸识别算法评价指标——TAR,FAR,FRR,ERR

前言最近在阅读人脸识别的论文,发现里面用到的指标是TAR(True Accept Rate)和FAR(False Accept Rate),开始没有在意以为相当于TPR(True Positive Rate)和FPR(False Positive Rate), 后来发现并不是这么回事,在百度上也找直接的解释,但是也有一些收获,这里结合自己的理解把学到的东西记录一下。定义TPR和...

2018-07-28 13:18:57 67851 21

转载 numpy笔记——np.linalg

np.linalg 模块下常用的有连个函数 - (1)np.linalg.inv():矩阵求逆 - (2)np.linalg.det():矩阵求行列式(标量)np.linalg.norm顾名思义,linalg=linear+algebra(线性代数),norm则表示范数,首先需要注意的是范数是对向量(或者矩阵)的度量,是一个标量(scalar):首先help(np.linalg.n...

2018-07-27 22:27:20 864

转载 python特殊函数__init__和__new__的区别

一、init 方法是什么?(init前后的线是双下划线)使用Python写过面向对象的代码的同学,可能对 init 方法已经非常熟悉了,init 方法通常用在初始化一个类实例的时候。例如:# -*- coding: utf-8 -*-class Person(object): """Silly Person""" def __init__(self, name, ...

2018-07-27 22:18:25 483

转载 TensorFlow笔记——数据类型dtype

Tensorflow中,主要有以下几种数据类型(dtype),在旧版本中,不用加tf也能使用。 有符号整型tf.int8:8位整数。tf.int16:16位整数。tf.int32:32位整数。tf.int64:64位整数。无符号整型tf.uint8:8位无符号整数。tf.uint16:16位无符号整数。浮点型tf.float16:16位浮点数。tf.fl...

2018-07-24 21:25:44 7109

转载 TensorFlow笔记——tf.split()拆分tensor和tf.squeeze()

tf.split()参数说明:split( value, num_or_size_splits, axis=0, num=None, name='split')value: 输入的tensor num_or_size_splits: 如果是个整数n,就将输入的tensor分为n个子tensor。如果是个tensor T,就将输入的tenso...

2018-07-24 21:21:00 21420

转载 图像的仿射变换及OpenCV实现

1. 目标在这个教程中你将学习到如何: 1. 使用OpenCV函数 warpAffine 来实现一些简单的重映射. 2. 使用OpenCV函数 getRotationMatrix2D 来获得一个 2 \times 3 旋转矩阵2. 原理2.1 什么是仿射变换?一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移). 所以...

2018-07-24 20:43:15 764

转载 TensorFlow笔记——用expand_dim()来增加维度

TensorFlow中,想要维度增加一维,可以使用tf.expand_dims(input, dim, name=None)函数。当然,我们常用tf.reshape(input, shape=[])也可以达到相同效果,但是有些时候在构建图的过程中,placeholder没有被feed具体的值,这时就会包下面的错误:TypeError: Expected binary or unicode stri...

2018-07-24 16:24:18 14828

转载 机器学习中数学(10)——先验概率,后验概率,似然函数和极大似然估计

前言读论文的时候总是碰到什么先验概率,后验概率,似然,总是搞不懂是什么意思,今天决定集中学习一下,并在此记录。基本概念先了解几个基本的概念: 先验概率: 是指根据以往经验和分析得到的概率。 后验概率:事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,即执果求因。基础公式联合概率公式:p(x,y)=p(x|y)p(y)=p(y|x)p(x)p(x,y)=p(...

2018-07-21 13:19:10 1855

转载 Ubuntu 14.04安装多个版本的gcc和多个版本的gcc切换

前言今天编译caffe 的matlab接口,编译时提示gcc的版本太高,需要使用gcc 4.7.x,于是使用如下命令去装:sudo apt-get install gcc-4.7sudo apt-get install g++-4.7结果提示,没有需要更新的内容。我有点不解。继续上网搜索。发现了如下命令,可以显示电脑安装了那些版本的gcc:ls /usr/bin/gcc*结...

2018-07-17 22:34:11 3140

转载 MTCNN(Multi-task convolutional neural networks)将多任务级联卷积神经网络用于人脸检测和对齐

前言本文为论文Multi-task convolutional neural networks的关键内容翻译。1. 摘要摘要:由于姿势、光照或遮挡等原因,在非强迫环境下的人脸识别和对齐是一项具有挑战性的问题。最近的研究显示,深度学习算法可以很好的解决上述的两个问题。在这篇文章中,我们利用检测和校准之间固有的相关性在深度级联的多任务框架下来提升它们的性能。尤其是,我们利用三层级联架构结合...

2018-07-14 10:46:09 5968

原创 mtcnn坐标分析

前言本文为个人随笔,为了记录阅读facenet中使用的mtcnn的代码的一些笔记。本文使用的是https://github.com/davidsandberg/facenet 中实现的mtcnn的代码。这个facenet的代码中有使用mtcnn的代码。本文主要记录mtcnn返回的关键点坐标和boxes框坐标的顺序。正文写了一个测试的代码如下import cv2import n...

2018-07-13 20:50:50 3773 1

转载 DeepID人脸识别算法的进化

前言DeepID,目前最强人脸识别算法,已经三代。如今,深度学习方兴未艾,大数据风起云涌,各个领域都在处于使用深度学习进行强突破的阶段,人脸识别也不例外,香港中文大学的团队使用卷积神经网络学习特征,将之用于人脸识别的子领域人脸验证方面,取得了不错的效果。虽然是今年7月份才出的成果,但连发三箭,皆中靶心,使用的卷积神经网络已经改进了三次,破竹之势节节高。故而在这里将DeepID神经网络的三代...

2018-07-12 14:35:48 908

转载 FaceNet--Google的人脸识别

引入随着深度学习的出现,CV领域突破很多,甚至掀起了一股CV界的创业浪潮,当次风口浪尖之时,Google岂能缺席。特贡献出FaceNet再次刷新LFW上人脸验证的效果记录。本文是阅读FaceNet论文的笔记,所有配图均来自于论文。 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/46687471FaceNet与其他...

2018-07-12 13:05:30 828

转载 人脸识别——FaceBook的DeepFace、Google的FaceNet

DeepFace–Facebook的人脸识别连续看了DeepID和FaceNet后,看了更早期的一篇论文,即FB的DeepFace。这篇论文早于DeepID和FaceNet,但其所使用的方法在后面的论文中都有体现,可谓是早期的奠基之作。因而特写博文以记之。DeepFace基本框架人脸识别的基本流程是:detect -> aligh -> represent -&gt...

2018-07-12 12:55:22 2458

原创 (4)Windows下caffe安装成功测试(以cifar10为例)

前言前面的博客中,我们介绍了windows平台下caffe的安装,并使用mnist进行了测试。为了巩固和熟练caffe的使用,我们本节使用数据库CIFAR-10再次练习caffe的使用。1、数据库CIFAR-10的下载与介绍进入caffe目录下的data/cifar10目录下,有个get_cifar10.sh文件是用来下载和解压数据的,只不过是Linux的shell脚本。我们打开这...

2018-07-08 19:47:54 1326

转载 caffe的python接口学习(8):caffemodel中的参数及特征的抽取

如果用公式 y=f(wx+b) 来表示整个运算过程的话,**那么w和b就是我们需要训练的东西,w称为权值,在cnn中也可以叫做卷积核(filter),b是偏置项。**f是激活函数,有sigmoid、relu等。x就是输入的数据。数据训练完成后,保存的caffemodel里面,实际上就是各层的w和b值。我们运行代码:deploy=root + 'mnist/deploy.prot...

2018-07-08 17:19:23 322

转载 caffe的python接口学习(7):绘制loss和accuracy曲线

使用python接口来运行caffe程序,主要的原因是python非常容易可视化。所以不推荐大家在命令行下面运行python程序。如果非要在命令行下面运行,还不如直接用 c++算了。推荐使用jupyter notebook,spyder等工具来运行python代码,这样才和它的可视化完美结合起来。因为我是用anaconda来安装一系列python第三方库的,所以我使用的是spyder,与m...

2018-07-08 16:58:22 650

转载 caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片

经过前面两篇博文的学习,我们已经训练好了一个caffemodel模型,并生成了一个deploy.prototxt文件,现在我们就利用这两个文件来对一个新的图片进行分类预测。我们从mnist数据集的test集中随便找一张图片,用来进行实验。#coding=utf-8import caffeimport numpy as nproot='/home/xxx/' #根目录dep...

2018-07-08 16:19:56 281

转载 caffe的python接口学习(5):生成deploy文件

如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也。deploy文件没有第一层数据输入层,也没有最后的Accuracy层,但最后多了一个Softmax概率层。这里我们采用代码的方式来自动生成该文件,以mnist为例。 deploy.py# -*- coding: utf-8 ...

2018-07-08 16:11:30 185

转载 caffe的python接口学习(4):mnist实例---手写数字识别

前言深度学习的第一个实例一般都是mnist,只要这个例子完全弄懂了,其它的就是举一反三的事了。由于篇幅原因,本文不具体介绍配置文件里面每个参数的具体函义,如果想弄明白的,请参看我以前的博文: 数据层及参数 视觉层及参数 solver配置文件及参数Caffe学习系列(7):solver及其配置一、数据准备官网提供的mnist数据并不是图片,但我们以后做的实际项目可能是图片。因此...

2018-07-08 14:49:03 303 2

转载 caffe的python接口学习(3):训练模型(training)

如果不进行可视化,只想得到一个最终的训练model, 那么代码非常简单,如下 : import caffecaffe.set_device(0)caffe.set_mode_gpu()solver = caffe.SGDSolver('/home/xxx/data/solver.prototxt')solver.solve() 原文链接:caffe的python接口学习(3...

2018-07-08 13:15:49 518

转载 caffe的python接口学习(2):生成solver文件

caffe在训练的时候,需要一些参数设置,我们一般将这些参数设置在一个叫solver.prototxt的文件里面,如下:base_lr: 0.001display: 782gamma: 0.1lr_policy: “step”max_iter: 78200momentum: 0.9snapshot: 7820snapshot_prefix: “snapshot”solver_m...

2018-07-08 13:12:58 216

转载 caffe的python接口学习(1):生成配置文件

caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现。caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更加深入。半年前,我在学习CAFFE的时候,为了加深理解,因此写下了随笔,有了一系列的caffe学习文章。半年过去,很多人问到关于python接口和可视化的一些问题,现在有点空闲时间,就再次写下一些...

2018-07-08 11:36:15 271

转载 Caffe学习系列(20):用训练好的caffemodel来进行分类

前言caffe程序自带有一张小猫图片,存放路径为caffe根目录下的 examples/images/cat.jpg, 如果我们想用一个训练好的caffemodel来对这张图片进行分类,那该怎么办呢? 如果不用这张小猫图片,换一张别的图片,又该怎么办呢?如果学会了小猫图片的分类,那么换成其它图片,程序实际上是一样的。准备开发caffe的贾大牛团队,利用imagenet图片和caff...

2018-07-07 19:39:32 421

转载 Caffe学习系列(19): 绘制loss和accuracy曲线

如同前几篇的可视化,这里采用的也是jupyter notebook来进行曲线绘制。In [1]: #加载必要的库 import numpy as np import matplotlib.pyplot as plt %matplotlib inline import sys,os,caffe#设置当前目录caffe_root = '/home/...

2018-07-07 14:05:07 508

转载 Caffe学习系列(18): 绘制网络模型

Linux环境在caffe/python下有draw_net.py这个文件。就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。 在绘制之前,需要先安装两个库。1、安装GraphVizgraphviz是贝尔实验室开发的一个开源的绘图工具,它可以很方便绘制结构化的图形网络,支持多种格式输出,如各种常见的图片格式(bmp、png等),PDF,SVG等。 graph...

2018-07-07 11:36:41 350

转载 Caffe学习系列(17):模型各层数据和参数可视化

cifar10的各层数据和参数可视化 先用caffe对cifar10进行训练,将训练的结果模型进行保存,得到一个caffemodel,然后从测试图片中选出一张进行测试,并进行可视化。In [1]: #加载必要的库 import numpy as np import matplotlib.pyplot as plt %matplotlib inline ...

2018-07-07 10:49:41 716

转载 Caffe学习系列(16):caffemodel 权重可视化

通过前面的学习,我们已经能够正常训练各种数据了。设置好solver.prototxt后,我们可以把训练好的模型保存起来,如lenet_iter_10000.caffemodel。 训练多少次就自动保存一下,这个是通过snapshot进行设置的,保存文件的路径及文件名前缀是由snapshot_prefix来设定的。这个文件里面存放的就是各层的参数,即net.params,里面没有数据(net.blo...

2018-07-06 16:47:06 2193

转载 Caffe学习系列(15):计算图片数据的均值

前言图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。 那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。一、二进制格式的均值计算caffe中使用的均值数据格式是binaryproto, 作者为我们提供了一个计算均值的文件co...

2018-07-06 10:38:07 432

转载 Caffe学习系列(14):初识caffe数据可视化

首先将caffe的根目录作为当前目录,然后加载caffe程序自带的小猫图片,并显示。 图片大小为360x480,三通道In [1]: import numpy as np import matplotlib.pyplot as plt %matplotlib inline import caffe caffe_root='/home/xxx/caf...

2018-07-06 10:32:58 408

转载 Caffe学习系列(13):python接口配置及jupyter notebook安装

前言caffe程序是由c++语言写的,本身是不带数据可视化功能的。只能借助其它的库或接口,如opencv, python或matlab。大部分人使用python接口来进行可视化,因为python出了个比较强大的东西:ipython notebook, 现在的最新版本改名叫jupyter notebook,它能将python代码搬到浏览器上去执行,以富文本方式显示,使得整个工作可以以笔记的形式展...

2018-07-06 09:32:13 767

转载 Caffe学习系列(12):训练和测试自己的图片

前言学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中。因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程。一、准备数据有条件的同学,可以去imagenet的官网http://www.image-net.org/download-images,下载imagenet图片来训练。但是我没有下载,一个原因是注册账号的时候,验证码始终...

2018-07-05 17:31:36 174

转载 Caffe学习系列(11):图像数据转换成db(leveldb/lmdb)文件

前言在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致。而在caffe中经常使用的数据类型是lmdb或leveldb,因此就产生了这样的一个问题:如何从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件?命令介绍在caffe中,作者为我们提供了这样一个文件:convert_im...

2018-07-05 17:12:43 248

转载 Caffe学习系列(10):命令行解析

前言caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。C++命令行接口格式caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在...

2018-07-05 16:39:11 194

转载 Caffe学习系列(9):运行caffe自带的两个简单例子

前言为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了。 注意:在caffe中运行所有程序,都必须在根目录下进行,否则会出错。1、mnist实例mnist是一个手写数字库,由DL大牛Yan LeCun进行维护。mnist最初用于支票上的手写数...

2018-07-05 16:15:02 250

转载 Caffe学习系列(8):solver优化方法

上文提到,到目前为止,caffe总共提供了六种优化方法:Stochastic Gradient Descent (type: “SGD”),AdaDelta (type: “AdaDelta”),Adaptive Gradient (type: “AdaGrad”),Adam (type: “Adam”),Nesterov’s Accelerated Gradient (type: ...

2018-07-05 16:10:42 250

转载 Caffe学习系列(7):solver及其配置

solver算是caffe的核心的核心,它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为# caffe train --solver=*_slover.prototxt在Deep Learning中,往往loss function是非凸的,没有解析解,我们需要通过优化方法来求解。solver的主要作用就是交替调用前向(forward)算法...

2018-07-05 13:00:07 256

转载 Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写

前言深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描述了信息是如何存储的,以及如何在层之间通讯的。1、blobBlobs封装了运行时...

2018-07-05 12:39:04 149

转载 Caffe学习系列(5):其它常用层及参数

前言本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置。1、softmax-losssoftmax-loss层和softmax层计算大致是相同的。softmax是一个分类器,计算的是类别的概率(Likelihood),是Logistic Regression 的一种推广。Lo...

2018-07-05 11:38:39 162

转载 Caffe学习系列(4):激活层(Activiation Layers)及参数

前言在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输出一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。 输入:n*c*h*w 输出:n*c*h*w 常用的激活函数有sigmoid, tanh,relu等,下面分别介绍。1、Sigmoid对每个输入数据,利...

2018-07-05 11:08:37 220

创建和使用DLL的示例代码

一个使用创建和使用dll的示例代码,开发环境为vs2013。演示了怎么导出变量,函数和类。MyDll是一个dll项目,使用extern "C"导出内容,会生成一个dll;MyDll2也是一个dll项目,不使用extern "C"导出内容,也会生成一个dll。LearnDLL演示了怎么使用生成的dll

2018-11-30

OpenCV-2.4.0-GPU-demos-pack

包含OpenCV-2.4.0-GPU-demos-pack-win32.exe,OpenCV-2.4.0-GPU-demos-pack-win64.exe

2018-09-05

OpenCV-2.3.1-win-superpack.exe

opencv的2.3.1版本,包含OpenCV-2.3.1-win-superpack.exe

2018-09-05

opencv2.2版本

老版本opencv,opencv2.2,包含OpenCV-2.2.0-win.zip,OpenCV-2.2.0-win32-vs2008.exe,OpenCV-2.2-win-Readme.txt

2018-09-05

opencv2.1版本

老版本opencv,opencv2.1,包含OpenCV-2.1.0-win.zip,OpenCV-2.1.0-win32-vs2008.exe,OpenCV-2.1-Readme.txt

2018-09-05

opencv2.0版本

opencv老版本opencv2.0,官网已经下架,包含OpenCV-2.0.0a-win32.exe,OpenCV-2.0.0a-win32.Readme.Please.txt

2018-09-05

opencv1.1pre1版本

很难找的,老版本opencv1.1,包含OpenCV_1.1pre1a.exe

2018-09-05

opencv1.0版本

老版本的opencv包含,chopencv-2.5.0-win-binary.zip OpenCV_1.0.exe

2018-09-05

FaceScrub人脸数据库下载文件

FaceScrub人脸数据库,包含530人,约100k张图片,是非限制场景下的人脸识别数据库

2018-07-02

python3安装MySQLdb需要的whl包

python3.6使用MySQLdb连接mysql需要mysqlclient-1.3.12-cp36-cp36m-win_amd64.whl

2018-06-12

传统文化与中医养生

中国大学Mooc 传统文化与中医养生

2017-05-26

Python Scrapy爬取ScienceNews并展示

爬取science官网News部分11133条科技新闻。项目包含两大部分:爬虫部分和爬取到的数据展示部分。两部分可以独立运行。

2017-05-01

Hadoop_MapReduce_HDFS示例代码

Hadoop Eclipse开发MapReduce,HDFS,hive示例代码

2017-02-08

Django搭建简易博客示例代码(入门级)

Django搭建简易博客示例代码(入门级)

2017-01-18

linux安装git需要的文件

1. 下载geekery repo文件(root权限) cd /etc/yum.repos.d/ wget http://geekery.altervista.org/geekery-el6-x86_64.repo 2. 到http://packages.sw.be/rpmforge-release 下载合适到rpm包 rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm 3. 到http://rpm.pbone.net/ 搜索rpm epel-release epel-release-6-8.1.noarch.rpm 4. 安装 rpm rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm rpm -ivh epel-release-6-8.1.noarch.rpm 5. yum -y install git 大功告成 git --version git version 1.7.1 参考文档:http://blog.slogra.com/post-176.html 2012-4-18

2016-11-25

eclipse-maven3-plugin.7z

在线安装Eclipse -maven插件很困难,可以使用离线方式安装

2016-11-25

ojdbc14.jar

ojdbc14.jar

2016-11-17

sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

2016-11-17

mysql-connector-java-5.1.40-bin.jar

mysql-connector-java-5.1.40-bin.jar

2016-11-17

Hadoop windows开发bin替换文件

在windows下开发Hadoop应用,将官网下载的的Hadoop tar解压到相应目录,并将bin文件夹替换成在windows编译的文件

2016-11-17

C++实现图的存储、Prim和Kruskal算法

使用C++语言,使用图的邻接矩阵实现图的基本操作。并实现Prim、Kruskal算法构造最小生成树

2016-10-06

使用C++链表实现二叉树的存储及基本操作

使用C++语言,结合单链表的基本操作,实现二叉树的存储,前序、种序、后序遍历及其他基本操作

2016-10-06

C++数组实现二叉树的存储及基本操作

数据结构之使用C++语言中的数组实现二叉树的存储及其基本操作

2016-10-06

C++实现模板栈源代码

数据结构实验基础——使用C++实现了一个栈的模板类,并应用自定义的栈完成了进制转换和括号匹配判断

2016-09-15

C++实现栈源代码

数据结构实验基础——C++实现栈

2016-09-15

C++实现队列存储Object源代码

数据结构实验基础——C++实现队列存储Object自定义数据类型

2016-09-15

C++实现队列源代码

数据结构实验基础——使用C++实现队列源代码

2016-09-15

汉诺塔算法演示PPT

一步步演示汉诺塔算法的执行流程

2016-07-13

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

TA关注的人

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