自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java用数组实现栈

栈的介绍栈的英文为(stack)栈是一个先入后 出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。出栈(pop)和入栈(push)的概念:栈的应用场景:子程

2020-08-16 16:26:35 1196 1

原创 java实现双向链表

参考于视频 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法单链表的缺点:关于单链表的java实现可以查看我的上一篇文章(建议配合着学习):java实现单链表单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。单向链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除,所以在单链表删除时节点,总是找到temp,temp是待删除节点的前一个节点。双向链表的操作分析与实现:遍历方法和单链表一样,只是可以向前,也可以向后查找添加(默认添加到双向链表的最后)(

2020-08-16 15:31:04 766 1

原创 java实现单链表

参考于 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法1.什么是链表:链表是有序的列表,但是它在内存中可以以不连续空间存放,存储如下根据上图,可以发现:链表是以节点的方式来存储,是链式存储每个节点包含 data 域,next域:指向下一个节点.链表的各个节点不一定是连续存储.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定(头节点一般不存储数据,只用于作为标识)因而带头节点的单链表的逻辑结构可以看作:2.单链表的实现需求:使用带head头节点的单链表;

2020-08-16 14:19:03 751

原创 java数组模拟实现队列

转载自 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法队列介绍队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出示意图: (使用数组模拟队列示意图)数组模拟队列思路➢队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize 是该队列的最大容量。➢因为队列的输出、 输入是分别从前后端来处理,因此需要两个变量front 及rear 分别记录队列前后端的下标,front会随着数据

2020-08-11 22:18:33 343 1

原创 java二维数组与稀疏数组的转换实现

参考于 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法1.基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模2.应用实例使用稀疏数组, 来保留类似前面的二维数组(棋盘、地图等等)把稀疏 数组存盘,并且可以从新恢复原来的二维数组数整体思路分析:下图为棋盘数据,用0,1,2分别表示无子,黑子,蓝子

2020-08-10 22:08:27 307 1

原创 Hadoop-MapReduce原理及操作(小实验)

本篇博客原理部分摘取自视频http://yun.itheima.com/course/301.html实验部分教程来自https://www.shiyanlou.com/courses/237(如果有不理解的可以直接查看上面的链接,另外说一下,该博客只能帮助你理解mapreduce的原理,如果你接触过相关开发的话,本博客可能并不能给你带来帮助。)MapReduce思想MapReduce思想...

2020-03-30 22:09:06 2274 1

原创 Hadoop-HDFS原理及操作(小实验)

HDFS原理:HDFS(Hadoop Distributed File System)是一个分布式文件系统,是谷歌的GFS山寨版本。它具有高容错性并提供了高吞吐量的数据访问,非常适合大规模数据集上的应用,它提供了一个高度容错性和高吞吐量的海量数据存储解决方案。HDFS文件系统的角色分为三种(Master和Slave的结构,主从节点结构),分为NameNode、Secondary NameNod...

2020-03-21 17:04:58 3796 1

原创 Hadoop集群搭建教程(完全分布式)

环境准备:本案例使用VMware Workstation Pro虚拟机创建服务器来搭建Hadoop集群,所用软件及版本及简要配置方法如下:1.VMware Workstation Pro15.5.1(推荐使用15以上版本,感觉优化比14好了许多)2.Ubuntu16.04 64bit(3台,用户名均为Hadoop,主机名分别为node-1,node-2,node-3)注意:三台虚拟机用户名...

2020-03-17 23:53:14 1606 1

原创 神经网络中卷积层和池化层的作用探究

1.前言:我们知道:卷积层用于进行特征提取。池化层用于输入的特征图进行压缩,使特征图变小,简化网络计算复杂度或进行特征压缩,提取主要特征。但在神经网络中它们会使输入的特征逐步变化成什么样?最终得到正确的结果呢?下面我们通过一个简单的神经网络来探究它们的作用。2.相关说明:这里将使用下图所示的卷积神经网络:卷积核大小:[1,1,1,1] 分别对应 [batch,height,widt...

2019-10-19 17:04:50 5441 1

原创 MNIST数据集使用详解

数据集下载网址:http://yann.lecun.com/exdb/mnist/下载后无需解压,将其放在一个文件夹下即可:数据说明:数据集常被分为2~3个部分训练集(train set):用来学习的一组例子,用来适应分类器的参数[即权重]验证集(validation set):一组用于调整分类器参数(即体系结构,而不是权重)的示例,例如选择神经网络中隐藏单元的数量测试集(test ...

2019-07-18 16:12:05 17038 3

原创 深度学习中批训练(batch)与逐个数据训练对结果的影响的思考(无实验)

为什么会提出这样的思考?在之前的实验中,我总是习惯于使用批训练的方式向神经网络中传入数据(可能是因为大多数教学都使用MNIST的数据集?)。然而,当我使用我自己提取的数据,再批次传入模型进行训练,往往会发现最后得到的准确率总是不尽人意,起初怀疑对模型的理解和数据提取上。直到我在一个实验中,使用了批次训练和逐个训练的方式,却得到了不同的结果( 见tensorflow RNN实现文本分类(LSTM)...

2019-07-12 17:45:50 8121 1

原创 tensorflow RNN实现文本分类(LSTM)

1.数据准备:这里的实验数据是本人自己提取的,具体方式是:(大家可以根据自己喜好进行如下步骤)1.选取3个不同类别的文本,每类500篇,共1500篇。2.使用TF-IDF或词频等方式,从每个类型的文本中选出100个特征词,3个类别,共300个特征词。将300个特征词存入一个list中。3.使用300个特征词的列表去遍历每一篇文本,如果第x个特征词在该文本中出现次数为n,则对应该文本的特征...

2019-07-10 17:52:27 2711 1

原创 tensorflow多层卷积网络实现CNN文本分类

1.实验数据获取:这里的实验数据是本人自己提取的,具体方式是:(大家可以根据自己喜好进行如下步骤)1.选取3个不同类别的文本,每类500篇,共1500篇。2.使用TF-IDF或词频等方式,从每个类型的文本中选出100个特征词,3个类别,共300个特征词。将300个特征词存入一个list中。3.使用300个特征词的列表去遍历每一篇文本,如果第x个特征词在该文本中出现次数为n,则对应该文本的...

2019-05-31 20:41:37 1641 1

原创 python-word2vec模块使用详解

这里,我们不讲word2vec的原理(其实是还了解不透彻,以后明白了再写,大家在阅读本文之前,可以先简单了解一下其推理过程),就只了解其参数和输入输出。1.Word2vec作用:表达不同词之间的相似和类比关系2.安装方法:pip install --upgrade gensim #因为Gensim开发了一套工具箱叫做gensim,里面继承了Word2vec方法。3.输入参数格式:i...

2019-04-29 21:34:47 48993 18

原创 python 共现矩阵构建

1.什么是共词矩阵:共词矩阵:共词矩阵能表明两个词之间的关系程度2.构建过程:数据准备:假设有10篇文本,我们将从这10篇文本中,提取每一篇的分词结果,并存入Single_text_list中。再将由10篇文章的关键词列表合为一个列表Full_text_list,Full_text_list=[ [文章1切词结果],[文章2切词结果] ...]构建:1.对每篇文章作词频统计,选出其...

2019-04-26 19:44:02 14072 18

原创 文本聚类学习过程简述

文本处理1.去空格,换行符,去停用词def delstopwordslist(classsstr): #去掉与stop.txt中相同的词 stopwords = [line.strip() for line in open('stop.txt', encoding='UTF-8').readlines()] outstr = ''.join([word for word in c...

2019-04-20 19:05:27 559 1

原创 python读写不同格式文本方法

1. txt格式参考于:廖雪峰python 文件读写读:以读文件的模式打开一个文件对象,Python内置的open()函数f = open('txt文件地址', '打开模式(默认为’r‘)', encoding='文件编码(默认为gbk编码)' , errors='ignore')打开模式:r 以只读方式打开文件。这是默认模式。文件必须存在,不存在抛出错误rb 以二进制...

2019-04-11 18:21:28 958 1

原创 单文本分析--词频统计

说明:读取单个或多个文本内容(txt,word,pdf),对文章进行分词(中文),并统计每个词语出现的次数并按从大到小排序。同时通过停用词库排除停用词,并展示结果读取单个文本内容(txt,word,pdf),对文章进行分词(中文),并统计每个词语出现的次数并按从大到小排序。同时通过停用词库排除停用词。需要掌握的知识:(1)掌握自然语言分析的基本术语:词频,停用词(2)jieba模块的使用(...

2019-04-08 21:59:16 3632 1

原创 给VM中Linux虚拟机扩容GParted

这个虚拟机用着用着就发现磁盘空间不够了,那么如何简单,快速的给虚拟机扩容呢?1.关机状态下——>打开编辑虚拟机设置——>磁盘——>扩展(扩展为你想要的大小,确定后再等一段时间就行了)2.安装 GParted(图形化的磁盘管理系统)之前直接想着通过liunx的命令行界面直接操作,把多出来的磁盘大小合并到主盘上去,但发现不是这么简单,在多次操作无果后,选择了这个更简单的方式。...

2019-03-15 22:01:50 981

原创 DeepDive安装教程

DeepDive简介:DeepDive是一个混乱数据中抽取有效数据的系统。混乱的数据包括混合在文本、表格和图片等中的非结构化数据而难以被软件处理。DeepDive帮助从非结构化数据中抽取数据并整合到已有的结构化数据库中。DeepDive被用来抽取数据实体中的复杂关系并且推断出他们之间的联系。数据被抽取到数据库中后,大家就可以使用一系列常用工具,例如Tablaeu和Excel等可视化分析工具进行数...

2019-03-13 19:22:28 5840 8

原创 线性表的链接存储结构及实现——单链表

1.单链表的存储方法:单链表是用一组任意的存储单元存放线性表的元素,这组存储单元可以连续也可以不连续。为了表明元素之间的逻辑关系,每个元素需要存储自身数据(data)的同时,还必须存储其后继元素的地址信息,这个地址信息称为指针(next),这两部分(data和next)组成了每个数据元素的存储形式,称为结点。用C++描述单个结点的结构:template<class T>str...

2018-12-21 18:20:45 1501 1

原创 python pywifi模块——暴力破解wifi

pywifi模块介绍:pywifi提供了一个跨平台的Python模块,用于操作无线接口支持Windows和Linux在python 2.7和3.5下运行小小的讲解:1.wifi接口的操作:这里的接口指我们用来执行wifi操作(例如:扫描,连接,断开…)的接口通常,我们平台中只有一个Wi-Fi接口,就像你主机不能同时连接多个wifi(骚操作就算了),因此,使用索引0来获得Wi-Fi接口...

2018-12-20 22:34:26 20677 37

原创 线性表的顺序存储结构——顺序表

什么是线性表:线性表简称表,是n(n>=0)个具有相同类型的数据元素的有限序列,线性表中数据元素的个数称为线性表的长度,长度为0的表称为空表。什么是顺序表:线性表的顺序存储结构称为顺序表。顺序表是用一段地址连续的存储单元依次存储线性表的数据元素,因为线性表中每个元素的类型相同,通常用一维数组来实现线性表,也就是把线性表中相邻的元素存在数组中相邻的位置(即用物理位置来表现元素间的关系)...

2018-12-13 20:01:48 4373 1

原创 C++模板的概念 定义和使用

模板的概念:若一个程序的功能是对某种特定的数据类型进行处理,则将所处理的数据类型说明为参数,就可以把这个程序改写成模板,模板可以让程序对任何其他数据类型进行同样方式的处理。C++程序由类和函数组成,模板也分为类模板(class template)和函数模板(function template)。因此,可以使用一个带多种不同数据类型的函数和类,而不必在意数据类型的各种情况。接下来,将分别介绍函...

2018-12-06 20:03:25 4092

原创 python—用Pxssh暴力破解SSH密码

用Pxssh暴力破解SSH密码参考于《python绝技 运用python成为顶级黑客》SSH相关介绍:SSH是主要用于为远程登陆会话提供安全保障的协议(即实现远程命令行操作)SSH可提供两种级别的安全验证:1.基于口令的安全验证:通过帐号和密码登录到远程主机攻击方式:暴力破解 / “中间人”攻击2.基于密匙的安全验证:需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用...

2018-11-29 18:37:57 1456 1

原创 python 编写端口扫描器

编写一个端口扫描器(TCP全连接扫描)借鉴于:《python绝技:运用python成为顶级黑客》需要用到的模块:socketoptparse(感觉这个不用也可以,但可以学习一下这个模块)模块小讲解:socket:主要用来构建TCP连接,发送包,和接收包百度上对于该模块的说明以及很详细了比如这个:(https://www.cnblogs.com/aylin/p/5572104.ht...

2018-11-19 19:00:03 1435 1

原创 python 计算Intel HEX文件 HEX记录校验和

什么是Intel HEX文件格式?》》一般:英特尔HEX文件格式简单的说:英特尔HEX文件由任意数量的数据记录组成,这些数据记录以回车符和换行符结束。例如数据记录如下:10246200464C5549442050524F46494C4500464C33该记录解码如下:10是记录中的数据字节数。2462是数据在存储器中的地址。00是记录类型00(数据记录)。464C … 464C是...

2018-11-16 17:52:17 3083 1

原创 python 暴力破解zip文件

python 破解zip文件参考于:《python绝技:运用python成为顶级黑客》运用python破解zip文件主要是zipfile模块和extractall方法zipfile模块可以实现对zip文件的创建,解压,和获取解压后文件信息首先我们新建一个名为evil密码为secret的zip文件import zipfilezFile=zipfile.ZipFile('evil.zip'...

2018-11-14 22:32:16 5108 4

空空如也

空空如也

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

TA关注的人

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