- 博客(360)
- 资源 (2)
- 收藏
- 关注
原创 反向传播算法(Back Propagation,简称BP算法)
前向传播通过训练数据和权重参数计算输出结果;反向传播通过导数链式法则计算损失函数对各参数的梯度,并根据梯度进行参数的更新。
2023-04-18 14:15:11
389
原创 BM100 设计LRU缓存结构
3. set(key, value):将记录(key, value)插入该结构,如果关键字 key 已经存在,则变更其数据值 value,如果不存在,则向缓存中插入该组 key-value ,如果key-value的数量超过capacity,弹出最久未使用的key-value。3.返回的value都以字符串形式表达,如果是set,则会输出"null"来表示(不需要用户返回,系统会自动输出),方便观察。1.某个key的set或get操作一旦发生,则认为这个key的记录成了最常使用的,然后都会刷新缓存。...
2022-08-12 13:38:10
335
原创 机器学习与深度学习入门篇
一、机器学习1.机器学习是什么?机器学习是将无序数据转换为价值的方法。2.机器学习的价值从数据中抽取规律,并预测未来。3.机器学习的应用(1)分类问题图像识别、垃圾邮件识别。(2)回归问题股价预测、房价预测。(3)排序问题点击率预估、推荐。(4)生成问题图像生产、图像风格转换、图像文字描述生成。4.机器学习流程5.机器学习岗位职责(1)数据处理(采集+去噪)(2)模型训练(特征+模型)(3)模型评估与优化(MSE、F1-score、AUC+调参)(4)模型应用(A/B
2022-04-27 19:26:06
2443
原创 Redis5源码分析(前言)
Redis的各种类型数据结构设计良好:简单稳定不容易溢出的字符串结构(sds),快速排序查找的跳跃表 (skiplist),节约内存的压缩列表(ziplist),基于Hash表实现的字典 (dict),基于链表(list)和压缩列表(ziplist)实现的快速列表 (qucklist),基于listpac和基数树(Rax)实现的消息队列(Stream)等,涵盖多种优质数据结构的实现。 数据类型:String(t_string.c、sds.c、bitops.c)List(t_...
2022-04-26 21:10:09
754
原创 Select、Poll、Epoll区别
同步同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。也就是说,调用会等待返回结果计算完成才能继续执行。异步异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。也就是说,其实异步调用会直接返回,但是这个结果不是计算的结果,当结果计算出来之后,才通知被调用的程序。阻塞阻塞调用是指调用结果返回之前,当前线程会被挂起,一直处于等待消息通知,不能够执行其
2022-04-26 20:56:45
422
原创 设计模式-----适配器模式(Adapter Pattern)
1.定义「适配器模式」将一个类的接口转换成客户希望的另外一个接口,使得原本不兼容的接口一起工作。2.UML类图3.代码实现#include <iostream>#include <string>using namespace std;class Player{public: string name; Player(string name) { this->name=name; } virtual void attack()=0
2022-04-18 20:29:37
202
原创 设计模式-----单例(Singleton)模式
1.定义单例模式:保证一个类只有一个实例,并且提供一个访问它的全局访问点。2.UML类图3.代码实现饿汉与懒汉的区别前者在类装载时就实例化,后者只有在第一次被使用时才实例化。 (饿汉的优点是避免线程同步问题,缺点是即使没用到这个实例还是会加载) (懒汉的优点是实现了懒加载,但需要解决线程安全问题!)1> 饿汉式,没有实现懒加载~public class Singleton() { private static Singleton instance = new
2022-04-18 20:18:31
216
原创 设计模式-----观察者模式(Publish/Subscribe)
1.定义观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。2.UML类图3.代码实现#include <iostream>#include <string>#include <list>using namespace std;class Subject;class Observer{protected: string name
2022-04-18 19:52:57
234
原创 设计模式-----模板方法(Template Method)模式
1.定义模板方法模式:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。2.UML类图3.代码实现#include <iostream>#include <string>using namespace std;class TestPaper{public: void question1() { cout << "1+1=" <&
2022-04-18 19:39:58
409
原创 设计模式-----代理模式(Proxy)
1.定义代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。2.UML类图3.代码实现#include <iostream>#include <string>using namespace std;class SchoolGirl{public: string name;};class IGiveGift{public: virtual void giveDolls
2022-04-18 19:22:41
335
原创 设计模式-----装饰模式 (Decorator)
1.定义装饰模式是一种结构型设计模式,动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式相比生成子类更为灵活。2.UML类图3.代码实现#include <string>#include <iostream>using namespace std;class Person{private: string m_strName;public: Person(string strName) { m_strName = strNam
2022-04-18 19:04:49
176
原创 设计模式-----策略模式(Strategy)
1.定义定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。策略模式包含三个角色:(1)Strategy:抽象策略,给出所有的具体策略类所需的接口,定义一个公共接口给所有支持的算法。Context使用这个接口调用ConcreteStrategy定义的算法。(2)ConcreteStrategy:具体策略,调用Strategy接口实现具体算法。(3)Context:上下文(环境),用ConcreteStrategy对象配置执行环境,持有一个Strat
2022-04-18 16:30:20
455
原创 设计模式-----抽象工厂模式(Abstract Factory)
1.定义:抽象工厂模式是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。2.UML类图3.代码实现#include <iostream>#include <string>using namespace std;class IUser{public: virtua
2022-04-18 16:13:40
157
原创 设计模式-----工厂方法模式(Factory Method)
1.定义:工厂方法模式定义了一个用于创建对象的接口,让子类决定要实例化哪一个类,也就是说工厂模式让实例化推迟到子类。2.UML类图3.代码实现#include <iostream>#include <string>using namespace std;class Operation{public: double numberA, numberB; virtual double getResult() { return 0;..
2022-04-18 15:57:04
385
原创 设计模式-----简单工厂模式(SimpleFactoryPattern)
1.简单工厂定义简单工厂模式(Simple Factroy Pattern):定义一个工厂类,它可以根据参数的不同返回不同的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。2.UML类Factory (工厂角色):工厂角色即工厂类,它是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑;工厂类可以被外界直接调用,创建所需的产品对象; 在工厂类中
2022-04-18 15:34:00
238
原创 SQL必知必会
SQL必知必会一、SQL二、检索数据三、排序检索数据四、过滤数据五、高级数据过滤六、用通配符进行过滤七、创建计算字段八、使用函数处理数据九、汇总数据十、分组数据十一、使用子查询十二、联结表十三、创建高级联结十四、组合查询十五、插入数据十六、更新和删除数据十七、创建和操纵表十八、使用视图十九、使用存储过程二十、管理事务处理二十一、使用游标二十二、高级SQL特性一、SQL二、检索数据三、排序检索数据四、过滤数据五、高级数据过滤六、用通配符进行过滤七、创建计算字段八、使用函数处理数据
2022-04-18 10:37:03
246
原创 C++中的TCP socket通信
C++:实现socket通信(TCP/IP)实例_Cche1的博客-优快云博客_c++ socket首先声明,博主之前从来没有写过通信方面的东西,这次之所以写这个是因为项目需要,因此本文主要介绍一个使用C++语言及Socket来实现TCP/IP通信的实例,希望可以帮助入门者。一、什么是TCP/IP? TCP提供基于IP环境下的数据可靠性传输,事先需要进行三次握手来确保数据传输的可靠性。详细的博主不再赘述,感兴趣的朋友可以去search一下。二、什么是soc...https://blog.youkuaiyun.com/
2022-04-17 22:02:51
1554
1
原创 C++面试总结帖子
C++面试题系列_haimianjie2012的博客-优快云博客C++面试题系列:内存泄漏C++面试题系列:智能指针https://blog.youkuaiyun.com/haimianjie2012/article/details/1075121712020C++面试题(七)百度_面试成神的博客-优快云博客百度2020C++面试题(七)一面自我介绍实习主要做了什么,遇到哪些问题MySQL中几种索引类型,索引覆盖的原则是什么B+树和B-树的区别,B+树的优势体现在哪里分布式数据如何保证一致性无序数组求中位数的几
2022-04-17 22:00:56
487
原创 C/C++字符串处理函数大合集(链接转发)
c\c++ 字符串处理大集合[转] - vranger - 博客园1 rember this 2 3 strncpy(a,b,5); 4 a[5]='\0'; 5 6 char a[10]; 7 memset(a,'#',sizeofhttps://www.cnblogs.com/vranger/p/3791625.html
2022-04-17 21:47:14
247
原创 EEG脑电数据处理
EEG脑电数据预处理-原理篇EEG脑电数据预处理-原理篇 - 简书本文不涉及具体的操作步骤,而是对脑电数据预处理中的每一步进行解说,根据我自己的经验来解释为什么要这么做,希望能够对刚入门脑电数据的朋友有所帮助。如果发现有什么错漏之处,也请指...https://www.jianshu.com/p/791c3651e9adEEGLAB脑电数据预处理-操作篇EEGLAB脑电数据预处理-操作篇 - 简书本文只介绍了预处理的基本操作,但是并没有解释为什么要这么做,因此,更加适用于理解了原理但不知道要怎么做的
2022-04-17 21:43:50
738
原创 EEGLAB脑电数据预处理指导手册
EEGLAB处理脑电数据预处理流程:EEGLAB脑电数据预处理指导手册_壹脑云的博客-优快云博客_eprime安装教程
2022-04-17 21:37:16
352
原创 Jupyterlab常用快捷键
Jupyter Lab 有两种键盘输入模式。编辑模式,允许你往单元中键入代码或文本,这时的单元框线是蓝色的。命令模式,键盘输入运行程序命令;这时的单元框线是灰色。命令模式 (按键 Esc 开启) 编辑模式(按键 Enter 切换)Shift-Enter : 运行本单元,选中下个单元Ctrl-Enter : 运行本单元Alt-Enter : 运行本单元,在其下插入新单元Y : 单元转入代码状态(命令模式下)M :单元转入markdown状态(命令模式下)R : 单元转入raw状态1 :
2022-04-17 21:31:56
4228
原创 BM96 主持人调度(二)
描述有 n个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i个活动的开始时间是 starti,第 i个活动的结束时间是 endi,举办某个活动就需要为该活动准备一个活动主持人。一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i个活动,那么该主持人在 (starti,endi)这个时间段不能参与其他任何活动。求为了成功举办这 n个活动,最少需要多少名主持人。思路:首先:要对活动进行排序:开始时间相等的,结束时间从小...
2022-04-17 20:38:20
416
原创 BM69 把数字翻译成字符串
描述有一种将字母编码成数字的方式:'a'->1, 'b->2', ... , 'z->26'。我们把一个字符串编码成一串数字,再考虑逆向编译成字符串。由于没有分隔符,数字编码成字母可能有多种编译结果,例如 11 既可以看做是两个 'a' 也可以看做是一个 'k' 。但 10 只可能是 'j' ,因为 0 不能编译成任何结果。现在给一串数字,返回有多少种可能的译码结果状态方程:f(i)=f(i−1)+f(i−2)边界条件是 f(-1) = 0,f(0) = 1。优化
2022-04-17 19:52:48
330
原创 BM48 数据流中的中位数
描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。思路:建立一个 大根堆 A 和 小根堆 B ,各保存列表的一半元素。 当两堆的数据个数相等时候,左边堆添加元素。 采用的方法不是直接将数据插入左边堆,而是将数据先插入右边堆,算法调整后,将堆顶的数据插...
2022-04-17 19:07:45
118
原创 BM95 分糖果问题
描述一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下:1. 每个孩子不管得分多少,起码分到一个糖果。2. 任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果。(若相同则无此限制)给定一个数组arrarr代表得分数组,请返回最少需要多少糖果。思路:1.把所有孩子的糖果数初始化为 1;2.先从左往右遍历一遍,如果右边孩子的评分比左边的高,则右边孩子的糖果数更新为左边孩子的 糖果数加 1;3.再从右往左遍历一遍,如果左边孩子的评分比右边的高,且左边孩子当前的糖果数不大..
2022-04-16 21:47:15
265
计算机网络三级项目-TCP包的发送和接收
2018-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人