自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python实现堆排序代码

        堆排序的最好,最坏的时间复杂度都为nlogn。当我们需要对一个没有顺序的序列进行堆排序,首先需要将这批数据转化成堆。一般来说,对序列进行降序排列一般使用大顶堆。大顶堆必须满足:data[index] >= data[2*index + 1] 并且满足data[index] >= data[2*index + 2]。前提是父节点有相应的子节点。按照定义,我们需要找到所有的...

2018-05-15 21:55:28 1091

原创 reduce,map,filter,lambda等python内置函数解析

如何写出优雅的python脚本程序。作为一款最接近机器学习,深度学习的脚本语言,python有着其独特的编程风格,高效的编程方式。请看下面的代码。    1、输入一个列表,将列表中的所有非数字的字符去掉,并且将数字字符进行排序。class Solution: def __init__(self): pass @staticmethod def get_da...

2018-04-30 16:37:53 338

原创 百度2018年春招编程题第二题解析

      今年百度第二题相对简单,有人用动态规划做,但是用简单的递归方式在几分钟之内就可以写出答案,以下两张图片就是考试时候的图片,是手机拍下来的,可能质量不太好。想必网上已经有相关的文档了。      其实我们可以把它理解成一个多叉树的查找问题。树这种查找结构用递归的方式很好解决,并且代码也很简洁。我是使用python语言编写的,通过了他们给的用例,现在我把我写的答案贴出来,供大家参考。imp...

2018-04-18 23:39:15 266

原创 python借助递归思想判断当前黑棋着子时,黑棋是否胜出

python3实现递归与c是一样的,无非就是某个函数自己调用自己而已。我写了个可以随时判断黑白棋手五子棋博弈时,黑棋的某次着子是否会导致黑棋获胜。第一步:采用递归的方式直接找到与当前着子位置有最邻近并且已经被着黑子的位置,然后基于这些位置,再递归的寻找。最后寻找到所有的“链路”。第二步:我们可基于当前黑棋的着子位置,找到可以使得黑棋获胜的所有情况,就8种。第三步:很简单,直接判断就可以了。    ...

2018-04-09 15:20:29 442

原创 mxnet框架下超全手写字体识别—从数据预处理到网络的训练—模型及日志的保存

        Mxnet框架深度学习框架越来越受到大家的欢迎。但是如何正确的使用这一框架,很多人并不是很清楚。从训练数据的预处理,数据的生成(网络真正需要的数据格式,网络模型的保存,网络训练日志的保存,等等,虽然网上有很多的trick,但是大多数比较零散),这里,博主就从零开始,教大家训练手写字体(mnist)识别的一个完整的系统。一、python、mxnet 如何安装。 trick...

2018-04-07 17:46:55 2107 2

原创 numpy实现简单的二层网络------前向和反向传播

会推导神经网络的前向和反向传播是深度学习的基础,也许大家在实验使用Tensorflow框架,只需要调用某一个损失函数,传入参数就可以得到损失,或者Mxnet框架,你都不需要调用任何函数,给个标志就可以了。但是,你真的会推导么,如果你不会,千万别说你正在学“深度学习”,由于时间问题,我没有太多的时间阐述基本原理,以及推导公式,加我QQ,我们可以详细的讨论,废话不多说,直接拷贝代码:def backg...

2018-03-23 18:54:00 2154 1

原创 numpy.digitize(data,bins)函数用法

digitize(data,bins)函数是numpy的一个内置函数。让人感到很震惊的是,网上居然很少有关于这个函数用法的中文介绍。先上代码:import random as rddata=[rd.randint(a=100,b=1000) for _ in range(20)]bins=[200,300,400,500,600,700,800,900,1000]print('d

2018-01-07 21:47:46 11671 3

原创 使用python实现的简单二分类器—感知器

需要一定的Python基础

2017-11-09 23:04:01 4777 1

原创 使用Set List来随机生成50个1000以内的随机数,并且不重复

昨天有位同学说,希望生成50个1000以内的随机数,并且这些随机数个个都要不同。其实这是个非常容易实现的。首先我们得知道方法。其实很多搞学习java的同学,甚至在公司里面实习的同学们都不太注意甚至都不知道有java API。这是很恐怖的事情。java为我们提供了非常多的优秀函数去实现特定的功能,并不是说我们遇到了一个问题,就要从头到尾子集编制算法去实现,很多时候,这在时间上是不允许的,并且你编

2017-07-23 16:20:13 3904

原创 Q_Learning算法的一个简单的应用。

想必很多人对Q_Learning比较熟悉。但是Q_Learning重在Learning。那么Q_Learning以何种方式去Learning呢?我们可以想象一下一个正在森林中摸索前进的迷途小羔羊。周围能见度很低,只能走一步看一步。它无法预知距离自己太远的山路,但是它记忆力比较好,曾经走过的路,遇到过的环境它都记得。那么这些“经验”却是小羔羊能够不断摸索前进的宝贵“知识”,羔羊遇到了与之前碰到的相似

2017-07-16 15:47:58 1564 1

原创 python重要的几个内置函数用法

        python内置了很多可以供我们直接调用的函数,这些函数的效率往往都非常高,我们在自己造轮子的同时,也非常有必要了解并且正确使用python给我们提供的大量的内置函数,在前面的博客里面我已经介绍了几个比较常用的函数,这里再介绍几个,它们分别是collections模块下的 Counter函数,deque函数以及defaultdict函数。      1)Counter函数。Coun...

2018-06-23 23:23:22 761

原创 KNN (K Nearest Neighbor,K近邻)算法的python实现

       机器学习中KNN是个最基本的分类方法之一。KNN的全称是K Nearest Neighbor,意思很明显:求K个最近的样本。这里需要说明的有两点:1、这个近是通过距离来体现的,我们算距离的方法有很多,最常用的有:cos(余弦距离),曼哈顿(出租车)距离,以及欧几里得距离。一般来说我们可以使用任何一个求距离的公式去求距离;2、这个距离是求解待分类样本与已经标记好的已知样本集中的每个样本...

2018-05-26 15:09:39 601

原创 python实现归并排序

        堆排序和归并排序以及快速排序是比较经典的排序方法。堆排序的时间复杂度是nlogn,归并排序的时间复杂度可以达到O(n),快速排序的时间复杂度是nlogn。可见归并排序的排序速度比较快,但是比较耗费内存,毕竟是通过递归的方式来切分待排序序列。      堆排序可以参考我的上一篇博客。归并排序从字面意思来看,有两个过程:“归”和“并”。“归”是递归的意思,“并”当然是合并的意思。   ...

2018-05-19 18:00:02 4987

空空如也

空空如也

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

TA关注的人

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