- 博客(54)
- 收藏
- 关注
原创 Golang gorutine间通信
高并发实现package mainimport ( "encoding/csv" "fmt" "os" "strconv" "sync")type Server struct { work sync.WaitGroup //维护同步操作}func (server *Server) Connect() (chan []string, *sync.WaitGroup) { session := make(chan []string, 128) go func(c chan []
2021-04-07 16:48:50 202
原创 BibtextParser API使用小结
BibtexParser官方文档:https://bibtexparser.readthedocs.io/en/master/简介bibtex格式的文本的解析工具。文本为标准的bibtex格式bibtex = """@ARTICLE{Cesar2013, author = {Jean César}, title = {An amazing title}, year = {2013}, volume = {12}, pages = {12--23}, journal = {N
2021-01-27 19:47:48 860
原创 Python基础
python版本信息Cpython:C语言写成;执行代码时,python代码会被转化为字节码;Cpython是一个字节码解释器。PyPy:由python写成的解释器;解释器的代码会先转化成C,然后再变异;比Cpython性能更好。因为Cpython把代码转化成字节码,PyPy把代码转化成机器码。机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。字节码(Bytecode)是一种包含执行程序、由一序列 op 代码/数据
2021-01-03 13:30:19 318
原创 高级正则表达式,哪位大佬可以看懂的话,麻烦指点一下
import reclass RepeatReplacer(object): """ 在该方法中,一个字符指的是正则表达式分组中的先前字符。消除重复字符也被认为是标准化任务之一。 RepeatReplacer类通过编译正则表达式和替换的字符串来工作,并使用 backreference.Repeat_regexp 来定义。 它匹配可能是以零个或多个(\w *)字符开始,以零个或多个(\w *),或者一个(\w)其后面带有相同字符的字符而结束的字符。
2020-12-29 19:16:51 127
原创 动态规划
剑指offer 42. 连续子数组的最大和输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100来源:力扣(LeetCode)
2020-12-25 17:18:27 283 3
原创 LSTM & Bi-LSTM & GRU
1、LSTM简介基于RNN,与之不同的是一个是门控单元有所不同。长短期记忆网络将信息存放在递归网络正常信息流之外的门控单元中,这些单元可以存储、写入或读取息就像计算机内存中的数据一样。但愿通过门的开关判定存储哪些信息,何时允许读取、写入或清除信息。这些门是模拟的,包含输出范围全部在0~1之间的Sigmoid函数的逐元素相乘操作。这些门依据接收到的信号开关,而且会用自身的权重集对信息进行筛选,根据强度和输入内容决定是否允许信息通过。这些权重会通过递归网络的学习过程进行调整。LSTM主要是为了解决长序列训
2020-12-18 22:43:52 1844 1
原创 循环神经网络RNN
1、简介RNN主要用来处理序列数据,在传统的神经网络模型中,是从输入层到隐含层再到输出层,每层内的节点之间无连接,循环神经网络中一个当前神经元的输出与前面的输出也有关,网络会对前面的信息进行记忆并应用于当前神经元的计算中,隐藏层之间的节点是有连接的,并且隐藏层的输入不仅包含输入层的输出还包含上一时刻隐藏层的输出。理论上,RNN可以对任意长度的序列数据进行处理。2、模型一个经典的RNN网络:RNN采用参数共享的机制,是时间维度上共享权重U、V、W一个简单的前向传播过程入下图所示:hth
2020-12-18 20:25:38 537 1
原创 卷积神经网络CNN
深度学习简介深度学习是一种利用复杂结构的多个处理层来实现对数据进行高层抽象的算法。传统的BP算法仅有几层网络,不足之处是:1、需要人工指定特征 2、易出现局部最优问题 3、维度灾难。深度学习引入概率生成模型,可以自动从训练集中提取特征,从而解决了手工特征考虑不周的问题。1、卷积神经网络的基本概念卷积:表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。公式为:f(x)∗g(x)=∑−∞+∞f(τ)g(x−τ)dτf(x)*g(x)=\sum\limits_{-\infty}^{+\inf
2020-12-18 17:15:55 358
原创 前馈神经网络
前馈神经网络(全连接神经网络)1、 概念及组成前馈神经网络:每层神经元与下层神经元相互连接,神经元之间不存在同层连接,也不存在跨层连接。组成:输入层、隐藏层、输出层常用神经元:M-P神经元图中f函数为激活函数,θ\thetaθ为阈值,wTxw^TxwTx的值超过阈值,激活函数被激活,通过激活函数处理产生神经元的输出。2、 常见的激活函数Sigmoid函数、tanh函数、ReLu函数激活函数常有的性质:非线性可微性单调性f(x)≈xf(x)\approx xf(x)≈x输出值范
2020-12-18 14:26:09 8686
原创 Docker基本使用
1、Docker简介Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。也就是说,当我们的程序或者软件需要部署到别的机器上运行时,由于软件运行起来需要安装很多的依赖,这些依赖(环境)配置起来非常繁琐,那么就可以在开发的时候就使用docker了。Docker与宿主机共用硬件。Docker与宿主机共用内核。而传统的虚拟机把硬件也虚拟了。标签:“更方便移植的‘虚拟机‘”、““轻量级的虚拟化技术”1.1 Docker
2020-11-22 14:46:59 135
原创 线性回归-梯度下降法
前文1、梯度下降法前文在求解损失函数的最小值的时候,使用到了最小二乘法,但是有一定的缺陷,当数据量大的时候,计算量就变大了,效率就体现不出来了。梯度下降法是求解目标函数最优解的一个比较通用的方法。梯度: 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。沿着梯度向量的方向更易找到函数最大值,沿着梯度向量相反的方向更易找到最小值。2、一元线性回归中的梯度下降可以使用:x=x−ηdfdxx=x-\eta\frac{df}{dx}x=x−ηdxdf ,来
2020-11-13 16:23:45 2529
原创 线性回归-最小二乘法
1、简单线性回归所要求得的结果是一个具体的数值,而不是一个类别的话,则该问题是回归问题。只有一个特征的回归问题,成为简单线性回归。两个变量之间存在一次方函数关系,就称它们之间存在线性关系。拟合就是把平面上一系列的点,用一条光滑的曲线连接起来。使用方程y=ax+by=a x+by=ax+b 最大程度拟合样本点。图中每一个点对应了一个样本特征xix^{i}xi,表示第iii个数据点,样本对应的结果值为yiy^{i}yi。如找到了拟合程度最大的方程,就是直到a,b的值。将xix^{i}xi带入找到的这个方程
2020-11-12 17:52:32 2991
原创 KNN
一、自编数据简单操作import numpy as npimport matplotlib.pyplot as plt# 这里先用假的数据集raw_data_X = [[ 3.3935,2.3312], [3.1101,1.7815], [1.3438,3.3684], [3.5823,4.6792], [2.2804,2.8670], [7.4234,4.6
2020-11-02 21:40:35 1001
原创 GitHub托管命令
cd 你的项目文件夹git init # 使这个文件夹成为git可以管理的文件夹git add . # 暂时将该文件夹下的文件添加到要提交的空间git commit -m '提交的文字描述' # 说明提交内容的描述git remote add origin 自己的github仓库地址 #将本地文件夹与github远程仓库关联起来git push -u origine master # 将git add 添加的文件推送到github仓库 ...
2020-09-27 19:27:03 159
原创 sql学习
SQL语句1、mysql数据类型1.1、数值类型整数:tinyint、smallint、mediumint、int、bigint浮点数: float、double、real、decimal整型含义(有符号)tinyint1个字节 范围(-128~127)smallint2个字节 范围(-32768~32767)mediumint3个字节 范围(-8388608~8388607)int4个字节 范围(-2147483648~21474836
2020-09-21 21:46:47 91
原创 初识Scrapy
初识Scrapy框架之前学习的requests和selenium,它们基本上已经可以满足绝大部分的爬虫需求了。但是,在使用这两个模块的时候,往往会出现爬取效率低的情况,处理的事物多的时候多线程写起来比较麻烦。scrapy给我最大的感受就是可以使我们更便捷地写出高质量的爬虫程序。Scrapy简介Scrapy是一个为了爬取网站数据、提取结构性数据而编写的应用框架。它使用来Twisted异步网络框架,提高了爬取效率。很多东西框架已经写好,我们可以不用修改或者稍做修改,就可以使用,进而提高了写爬虫程序的效率。
2020-09-19 19:43:59 259
原创 使用Scrapy根据DOI下载文献到本地
使用Scrapy根据DOI下载文献到本地Scrapy框架专门提供了用于文件下载的FilesPipline和用于图片下载的ImagePipline爬取策略从Mysql数据库中提取DOI号拼接url:‘http://www.sci-hub.ren/’+doi 指向doi对应的pdf页面在该页面中通过xpath和正则表达式,将指向pdf的url提取出来,交付给pipline进行下载具体步骤设置setting.py# setting.py# 框架自动生成无需修改BOT_NAME = 'Doi
2020-09-19 19:42:56 912
原创 控制台小程序——学生信息管理系统
学生信息管理系统功能模块1、界面2、数据结构设计3、交互界面 ---------------------------------------------- 1、录入信息 2、删除信息 3、修改信息 4、查找信息 5、浏览信息 0、退出信息 ----------------------------------------------数据结构设计 自定义学生信息结构体...
2020-04-14 18:25:34 1329
原创 华中科技大学复试 最长&最短文本
题目描述输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。输入描述输入包括多行字符串,字符串的长度len(1<=len<=1000)。输出描述按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。示例输入helloshesorryhe输出hehellosorry...
2020-04-13 17:48:24 150
原创 华中科技大学复试 找位置
题目描述对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。输入描述输入包括一个由字母和数字组成的字符串,其长度不超过100。输出描述可能有多组测试数据,对于每组数据,按照样例输出的格式将字符出现的位置标出。1、下标从0开始。2、相同的字母在一行表示出其出...
2020-04-12 16:24:28 254
原创 华中科技大学复试 大整数排序
题目描述对N个长度最长可达到1000的数进行排序。输入描述输入第一行为一个整数N,(1<=N<=100)。接下来的N行每行有一个数,数的长度范围为1<=len<=1000。每个数都是一个正数,并且保证不包含前缀零。输出描述可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。示例输入3111111111111...
2020-04-12 16:17:10 130
原创 华中科技大学复试 N阶楼梯上楼问题
提目描述N阶楼梯上楼问题:一次可以走两阶或一阶,问有多少种上楼方式。(要求采用非递归)输入描述输入包括一个整数N,(1<=N<90)。输出描述可能有多组测试数据,对于每组数据,输出当楼梯阶数是N时的上楼方式个数。示例输入4输出5原题地址总结(n-1)阶走一步,(n-2)阶走两步。Code递归方法#include<iostream>us...
2020-04-12 15:25:44 430
原创 数据结构 之 链表、树
链表typedef struct LNode{ int data; struct LNode* next;}LNode;LNode* p = (LNode)malloc(sizeof(LNode));p->next=NULL;//c++class LNode{public: int data; LNode* next;};LNode* p = new LNode...
2020-04-12 11:43:42 176
原创 华中科技大学复试 二叉排序树(重要)
题目描述输入一系列整数,建立二叉排序树,并进行前序,中序,后序遍历。输入描述输入第一行包括一个整数n(1<=n<=100)。接下来的一行包括n个整数。输出描述可能有多组测试数据,对于每组数据,将题目所给数据建立一个二叉排序树,并对二叉排序树进行前序、中序和后序遍历。每种遍历结果输出一行。每行最后一个数据之后有一个空格。输入中可能有重复元素,但是输出的二叉树遍历序列中重复...
2020-04-12 10:47:35 171
原创 上机之数学问题
声明:该页面知识来源:《天勤计算机考研》,此处只是做学后总结。最大公约数与最小公倍数求最大公约数需要 欧几里得算法 (辗转相除法)c为a和b的最大公约数,则a和b的最小公倍数为a*b/c 。gcd(a,b)=gcd(b,a%d)当第二个参数为0时,第一个参数就是最大公约数啦!例题题目描述:输入两个正整数,求其最大公约数。code:#include<iostream>...
2020-04-11 17:18:47 98
原创 上机能够用到的C++ STL
vectorvector,译为:向量。这里指变长数组。定义 vector<typename> name;//定义一个name变长一维数组 vector<vector<int> > name;//定义一个变长二维数组name,int型 vector<typename> name[Maxn];//定义一个二维数组name,外维是定长的,内维度是...
2020-04-07 14:33:51 228
原创 华中科技大学复试 打印日期
题目描述给出年分m和一年中的第n天,算出第n天是几月几号。输入描述输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。输出描述可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。示例输入2000 32000 312000 402000 602000 612001 60输出2000-0...
2020-04-05 14:05:48 122
原创 华中科技大学复试 A+B
题目描述给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。 现在请计算A+B的结果,并以正常形式输出。输入描述输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。输出描述请计算A+B的结果,并以正常形式输出,每组数据占一行。示例输入-234,567,890 123,456,7891,234 2,34...
2020-04-05 13:27:31 145
原创 华中科技大学复试 对称矩阵
题目描述输入一个N维矩阵,判断是否对称。输入描述输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。接下来的N行,每行包括N个数,表示N*N矩阵的元素。输出描述可能有多组测试数据,对于每组数据,输出"Yes!”表示矩阵为对称矩阵。输出"No!”表示矩阵不是对称矩阵。示例输入416 19 16 6 19 16 14 5 16 14 16 3 6 ...
2020-04-05 12:18:46 182
原创 华中科技大学复试 最小年龄的3个职工
题目描述职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来。输入描述输入第一行包括1个整数N,1<=N<=30,代表输入数据的个数。接下来的N行有N个职工的信息:包括职工号(整数), 姓名(字符串,长度不超过10), 年龄(1<=age<=100)。输出描述可能有多组测试数据,对于每组数据,输出结果行数为N和3的较小值,分别为年龄最...
2020-04-05 11:49:42 106
原创 华中科技大学复试 矩阵最大值
题目描述编写一个程序输入一个mXn的矩阵存储并输出,并且求出每行的最大值和每行的总和。 要求把每行总和放入每行最大值的位置,如果有多个最大值,取下标值最小的那一个作为最大值。 最后将结果矩阵输出。输入描述输入的第一行包括两个整数m和n(1<=m,n<=100),分别代表矩阵的行和列的维数。接下来的m行每行有n个数,代表矩阵的元素。输出描述可能有多组测试数据,对于每组数据,输...
2020-04-05 11:28:08 240
原创 华中科技大学 守形数
题目描述守形数是这样一种整数,它的平方的低位部分等于它本身。 比如25的平方是625,低位部分是25,因此25是一个守形数。 编一个程序,判断N是否为守形数。输入描述输入包括1个整数N,2<=N<100。输出描述可能有多组测试数据,对于每组数据,输出"Yes!”表示N是守形数。输出"No!”表示N不是守形数。示例输入254输出Yes!No!Code#...
2020-04-04 21:44:16 357
原创 华中科技大学 遍历链表
题目描述建立一个升序链表并遍历输出。输入描述输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。输出描述可能有多组测试数据,对于每组数据,将n个整数建立升序链表,之后遍历链表并输出。示例输入43 5 7 9输出3 5 7 9提示!先排序,后建表。尾插法是关键。Code#include<iostream>...
2020-04-04 20:55:17 112
原创 华中科技大学复试 成绩排序
题目描述有N个学生的数据,将学生数据按成绩从低到高排序,如果成绩相同则按姓名字符的字典序由小到大排序,如果姓名的字典序也相同则按照学生的年龄从小到大排序,并输出N个学生排序后的信息。输入描述测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个学生的数据。每个学生的数据包括姓名(长度不超过100的字符串)、年龄(整形数)、成绩(小于等于100的正数)。输...
2020-04-04 19:53:23 196
原创 华中科技大学复试 最大的两个数
题目描述输入一个四行五列的矩阵,找出每列最大的两个数。输入描述接下来的四行每行包括五个整数。代表一个四行五列的矩阵,矩阵元素全部是整数。输出描述可能有多组测试数据,对于每组数据,按照样例输出的格式将每列最大的两个数输出,如果最大的两个数中的一个数在这一列中有多个相同的值,则行值取行值小的那一个。输出时要保留原矩阵的行列顺序,即在原矩阵中行值小的,在输出矩阵中的行值依然小。示例输入...
2020-04-03 19:19:02 128
原创 华中科技大学复试 奇偶校验
题目描述输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如’3’,输出:10110011)。输入描述输入包括一个字符串,字符串长度不超过100。输出描述可能有多组测试数据,对于每组数据,对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。示例输入33a输出101100111011001101100001原题链接总...
2020-04-02 20:52:41 165
原创 华中科技大学复试 二叉树遍历
题目描述二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树; 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树; 后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。 给定一棵二叉树的前序遍历和中序遍历,求其后序遍历(提示:给定前序遍历与中序遍历能够唯一确定后序遍历)。输入描述:两个字符串,其长度n均小于...
2020-04-02 17:35:11 217
原创 华中科技大学复试 a+b
题目实现一个加法器,使其能够输出a+b的值。输入描述输入包括两个数a和b,其中a和b的位数不超过1000位。输出描述可能有多组测试数据,对于每组数据,输出a+b的值。示例输入2 610000000000000000000 10000000000000000000000000000000输出810000000000010000000000000000000原题链接总...
2020-04-01 17:12:14 150
原创 华中科技大学复试 二叉排序树
题目描述二叉排序树,也称为二叉查找树。可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值; 2. 若右子树非空,则右子树上所有节点关键字值均不小于根节点的关键字值; 3. 左、右子树本身也是一颗二叉排序树。 现在给你N个关键字值各不相同的节点,要求你按顺序插入一个初始为空树的二叉排序树中,每次插入后成功后,求相应的父亲节...
2020-03-31 20:40:24 129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人