PYB不开心
码龄10年
关注
提问 私信
  • 博客:591,012
    社区:3,348
    594,360
    总访问量
  • 365
    原创
  • 1,117,316
    排名
  • 168
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2015-05-17
博客简介:

pyb的博客

博客描述:
一个编程之路上的初学者
查看详细资料
个人成就
  • 获得110次点赞
  • 内容获得52次评论
  • 获得283次收藏
  • 代码片获得291次分享
创作历程
  • 3篇
    2018年
  • 11篇
    2017年
  • 174篇
    2016年
  • 182篇
    2015年
成就勋章
TA的专栏
  • 数据结构
    57篇
  • 常用算法
    64篇
  • 笔试面试
    45篇
  • ACM
    46篇
  • 计算机知识
    2篇
  • c++基础
    71篇
  • QT
    21篇
  • Qt项目实战
    8篇
  • Python
    48篇
  • SQL
    5篇
  • 环境配置
    6篇
  • html5+PHP基础
    1篇
  • scheme
    1篇
  • SICP学习笔记
    19篇
  • python项目实战
  • 编程珠玑学习笔记
    7篇
  • flask
    2篇
  • 趣味思考
    14篇
  • ubuntu
    3篇
  • 平面几何
    2篇
  • 多线程
    2篇
  • 网络基础知识
    3篇
  • 机器学习
    8篇
  • CSAPP学习笔记
    8篇
  • 操作系统
    9篇
  • 概率统计
    1篇
  • 杂七杂八
    1篇
  • 设计模式
  • 优化
    1篇
  • rails
    1篇
  • ruby
    1篇
  • 前端
  • 项目
    1篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

用Netty实现Redis(2)

这是一个用Netty实现的,支持多线程和异步调用,lock-free 的JavaRedis client客户端(服务器版本:https://blog.csdn.net/pp634077956/article/details/82178710)github: https://github.com/pyb1993/JavaRedisClient目的1 配合JavaRedis服务器进行调...
原创
发布博客 2018.08.29 ·
1168 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

用Netty实现Redis

这是一个用Netty实现的Redis(服务器版本)github地址:https://github.com/pyb1993/JavaRedis目的有三:深入理解redis,将redis上的各种功能慢慢迁移到java上来 用C语言来实现太麻烦了,而且一般工作中用不到C,加上我前两个项目(编译器和http服务器)都是用c写的,正好练习一下Java 降低开发难度,对于一些功能可以更轻松的...
原创
发布博客 2018.08.29 ·
4812 阅读 ·
1 点赞 ·
1 评论 ·
5 收藏

麻将胡牌判定的判定算法

麻将胡牌判定的判定算法问题背景 :简化了麻将规则,给定[1s-9s],[1b-9b],[1t-9t]一共27种牌,每种牌都有4张。需要判断给定的牌是不是胡牌。胡牌的定义为:14张牌里面由一个对子,四个坎组成。其中对子代表两张一样的牌,坎代表三张一样的牌,或者三张连续的牌(连续指: 1s,2s,3s | 4t,5t,6t) 举例:1s,1s,2t,3t,4
原创
发布博客 2018.01.13 ·
7765 阅读 ·
0 点赞 ·
2 评论 ·
4 收藏

关于eventmachine,协程在rails里面的使用

最近在公司实习的时候一直在学习rails和ruby.在实现一个小需求,从微信的接口拉取粉丝信息然后更新我们的数据库,这是一个不太常用的功能,很久才会跑一次.但是rails的模式,如果作为普通的客户端来发需求,而且同时发送的请求不可以太多,否则会出错(估计是微信的限制),ruby的httprequest是阻塞操作,一次只会发送一个请求,我查阅资料并且求教一番之后有如下几种可行的思路.####1.可以用
原创
发布博客 2017.07.20 ·
667 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

单词纠错APP

设计思路:(1)我们首先需要提出一个指标来衡量单词的相似程度,利用编辑距离,即字符串A经过插入,删除,改变三个操作变成字符串B需要花费的最少操作次数,利用动态规划即可解决.(2)如何高效找出候选单词呢,建立字典树然后遍历比较是可以的,但是在单词数量大的时候效率很低。利用BK树可以避免大量的不必要比较,简单来说,A->B+B->C的距离一定大于等于A->C的距离,它满足三角不等式,由此可以推导出两边之
原创
发布博客 2017.04.23 ·
1053 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

SIMD小测试

今天研究了一下SIMD指令,做了一个小测试,发现速度变快了5倍,但是在release模式下编译器会做同样的优化。所以很多时候我们可以不需要手动的写SIMD.当然编译器不一定会做这样的优化。另外注意64位系统上new自动16位对齐,但是用int[]这样的办法就会导致内存越界,因为栈上的内存不一定是16位对齐的。除此之外发现了一个直接修改原来数据的办法,就是将原来的地址强制转换成__m128i,这样修改
原创
发布博客 2017.04.08 ·
859 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

leetcode之N点成线问题

下面的代码没有精炼过,就写的比较罗嗦了。平面上任意N点,其中一条直线最多过几个点,这个题显然有O(n^2)的解法,关键的一点是一定要注意cornercase,比较多,我试了7,8次才过….首先考虑相同的点,这个要单独列出来,其次考虑不能用double表示斜率,用一个pair表示分数既可,所以要写gcd来化简,然后注意这里面有负数,所以进行构造的时候要定序,(1,-1),(-1,1)都要变成(-1,1
原创
发布博客 2017.04.03 ·
765 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网易笔试的两道dp问题

#include "iostream"#include "vector"#include "algorithm"#include "string"#include "cmath"using namespace std;int main(void){ int n; string k; while (cin >> k) { cin >> n;
原创
发布博客 2017.03.29 ·
573 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高效大整数运算库-------An Efficient Library for BigInteger

———-高效的高精度大整数库———-————-本着锻炼一下编程和优化能力的目的,花了两个多星期完成了这个作品。具体的性能比较可以参考这个:性能比较0. 其实在1年多前刚刚开始学习C++的时候也曾经做过一个用字符串来表示大整数的练习,但是运行速度很慢,所以我首先将原来的代码翻了出来看了看,首先把所有的参数改成const &的类型,当时写的时候还不知道引用….所以结果就快了几倍。然后发现了karat
原创
发布博客 2017.03.23 ·
2677 阅读 ·
1 点赞 ·
3 评论 ·
2 收藏

简单五子棋AI

五子棋AI这个项目参考了网上的五子棋源码,并且做出了自己的修改与一定的优化。基本思路:首先我们知道棋类AI的基本框架就是博弈树,使用最大最小搜索算法和alpha/beta剪枝。这是基本的框架。然后因为存在的解太多,所以我们需要考虑一个评估函数来进行选择。[1]评估:这里主要采用状态分析的办法来进行打分。我们首先统计所有的棋形状态(冲二,冲三,活三等等),然后根据双方的状态来打分:具体来说,就是轮到我
原创
发布博客 2017.02.23 ·
1355 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

C++项目:Json_parser

我的json parser/generator我的json parsergenerator- 功能简介1 解析器部分2 生成器部分3 测试部分- 部分实现1整体框架1json_value可能代表6个类型中的一种2json_tree执行具体的解析2 Literalnullfalsetrue3 Number的解析1首先我们了解number的格式以及错误输入2解析4 string
原创
发布博客 2017.02.01 ·
4445 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

关于关系型数据库表的设计

这篇文章主要是总结一下看书的收获,至于具体的实例,可能等到以后工作了才能给出吧,最近没遇到什么数据库的问题。表的设计最基本的就是要满足一些范式,所谓范式,可以理解为对设计标准的满足程度。我暂时只学习了三个范式。[0]:第一范式:一张表必须要使得每一列都满足原子性才能满足第一范式(其实还必须有主键,但是这个太基本了)。什么叫做原子性,个人认为可以理解成一个属性还能不能继续分割的程度。而原子性在表中又体
原创
发布博客 2017.01.16 ·
653 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

判定一个点是否在三角形内部

给定任意一个点的坐标和一个三角形,判定这个点是否在三角形内部。本文独立思考完成,没有参考别的资料,可能方法不是太简洁。基本思路:[0]:考虑点在三角形内部的特征:任何一条经过该点的直线都一定会和这个三角形有交点,也就是会与某些边有交点。考虑这样的直线的特殊情况使得经过外部的点的直线和三角形没有交点。容易联想到党该直线平行于某一条边的时候,这样的直线一定会与三角形没有交点(可以将三角形外部的平面划分为
原创
发布博客 2017.01.09 ·
1371 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

三角形填充和分形练习

画出一个六角星,在六角星的两条边上的三等分点作一个新的等边三角形,然后递归的做下去,并且图形的内部必须填充颜色。[0]:首先考虑如何画出一个六角星,基本方法是:先画一个三角形,然后对每一条边的两个三等分点求出第三个顶点,这样以新的三个点作一个三角形和原来的三角形合成在一起就得到了六角星。[1]:接下来考虑如何对每一个小的三角形进行分形:我们以一个三角形的三个顶点作为参数,我们只需要其中的两条边(每条
原创
发布博客 2017.01.09 ·
1431 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

遗传算法的入门实现(2):利用正方形拼接firefox

这段程序没有参考网上的任何代码,属于自己独立完成,因此效果也不是很理想。但是不管怎样,我也花了不少心思研究,就当是述说一下自己的思路吧:(1)(1)首先为什么不用三角形来进行填充呢?因为三角形的绘制和填充本身来说不是一件很容易的事情(对于我来说,虽然我参考了一下网上的算法,已经有了基本的思路,但是还是把精力放在遗传算法上面是重点),而使用正方形则很大的减少了编程的难度。(2)(2)其次在染色体的选取
原创
发布博客 2016.12.04 ·
4144 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

遗传算法的简单实现(1):求解函数最大值

刚刚了解了一点遗传算法的原理,参照了网上的一篇入门教程自己实现了一下。参数和操作:参数和操作:染色体(表示方法),染色体长度,变异率,交叉率,最大的总群个体数,评估函数,目标函数(在这里与评估函数一致)。对函数对函数搜索最大值。实现思路:将染色体表示为x,y的值(以bit的形式来表示),进行选择,交叉,变异。同时为了保证解具有较好的全局性,我们每次都选择最好的一个解来替代下一代的最差的一个解,同时提
原创
发布博客 2016.12.03 ·
12947 阅读 ·
4 点赞 ·
2 评论 ·
24 收藏

基于模型融合的推荐系统实现(3):模型融合

基本思路很简单,最小二乘法就好了:我们假设两个算法得到的结果权重分别是a,b利用最小二乘法和我们分出来的第二部分数据就可以获取a,b使得误差最小。其实最小二乘法就是求一个广义的逆即可。最后的RMSE比起单一的模型有所提高,变成了(0.86~~~~)import numpy as npfrom code import read_filefrom SVD import construct_matri
原创
发布博客 2016.11.29 ·
2442 阅读 ·
1 点赞 ·
3 评论 ·
2 收藏

基于模型融合的推荐系统实现(2):迭代式SVD分解

SVD算法的原理网络上也有很多,不再细说了,关键是我们得到的数据是不完整的数据,所以要算SVD就必须做一次矩阵补全。补全的方式有很多,这里推荐使用均值补全的方法(用每一行均值和每一列均值的平均来代替空白处),然后可以计算SVD,作PCA分析,然后就可以得到预测结果。但是我们这里有一个极为关键的思路,迭代是SVD,我们用第一次预测得到的SVD的值来原来的均值预测,然后继续做SVD分解,直到收敛。这里的
原创
发布博客 2016.11.29 ·
1961 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

基于模型融合的推荐系统实现(1):基于SGD的PMF

(1)PMF算法PMF的基本的思路,就是定义两个基本的参数W,U,然后对于任意一个组合(u,m),利用Wi∗UjW^i*U^j,来获取预测值。这些基本的算法思路网上很多,就不细说了。简单说一下程序[0]:一开始我们要将训练数据划分为3部分,第一部分用来做普通的SGD训练,第二部分用来训练模型融合,第三部分用来测试RMSE。[1]:我们利用SGD(随机梯度下降)来训练函数,最后就可以得到W,U,为了更
原创
发布博客 2016.11.29 ·
2058 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

筛选平方因子

给定范围[m,n],求出里面所有不含完全平方数因子的数!解析:首先筛出所有2到m−−√2到\sqrt{m}的素数p,然后对每一个P2P^2的倍数进行标记(代表删除),最后没有标记的就是我们需要的数。def erase(m): p = [] vis = set() for i in range(2,m+1): if i in vis:continue
原创
发布博客 2016.11.26 ·
702 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多