文章归档

算法

共 15 篇文章

2022-01-02

雪花算法及Golang实现

雪花算法能解决什么问题? 雪花算法能够生成全局唯一的ID编码作为其他地方的标记。且生成一系列的ID满足如下的性质: 生成的系列ID是递增的 高可用性:任何时候都能够生成唯一的ID 再高并发的条件下也能够保证服务 SnowFlake的组成 最高位是符号位,始终为0 41位的时间戳…

2022-01-01

温故而知新 - 图

图 简单来说,图是由一组点和相对应边组成的,可以表示为G=<V,E>,V为Vertex(点集),E为Edge(边集)。细分下来根据点集之间的对等关系又可以分为,有向图(又可分为带权和无权有向图),无向图,混合图。图中点包含的另外一个的重要信息就是各自的出度(outdeg)和入度…

2021-12-23

Rabin Karp-字符串匹配算法

字符串匹配算法 匹配的目的就是给定两个字符串,s 和 pattern, pattern是要查找的字符串,s是被查找的文本,要求找到pattern在s中第一次出现的位置,假定pattern为 acd, s为acfgacdem, 那么s在t中第一次出现的位置就是4。常见的匹配算法有…

2021-12-17

大数据系统设计题(简易版本)

大数据设计 面试中设计的大数据设计题的场景通常不会太复杂,因此不需要给出细致的操作,给出大致的思路即可。但是有时候依旧考虑的不全面 :disappointed_relieved: :disappointed_relieved: :disappointed_relieved:借此…

2021-12-16

极角排序

前言 感谢 LeetCode 让我又接触到了一个知识:sleeping: 极角排序 高中学习的极角,指的是极坐标系中的一个点相对极点有唯一的极坐标($\rho$, $\theta$),其中$\rho$表示选定点到极点的距离,$\theta$表示选定点和极轴逆时针的夹角,且$0…

2021-12-15

红黑树-旋转的艺术

红黑树的定义和性质 红黑树的出现之前,先有的二叉查找树(BST)以及平衡二叉树(AVL树): BST根节点的值大于所有左子树的所有值,小于右子树的所有值。 AVL树是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的高度差为小于等于1。 AVL的出现改变了BS…

2021-10-22

摩尔投票

摩尔投票是什么? 摩尔投票用于寻找集合中出现多数的元素,并且出现多数可以定义为大于n//2或者n//3或者是其他自定义的频次(实际上,如果希望求出超过n//3频次的元素,那么是三个元素相互抵消)。摩尔投票的基本流程为: - 投票阶段:投票人之间进行抵消。 - 技术阶段:计算对抗…

2020-10-30

Tensorforce两三语

前言 关于tensorforce的背景可以从他的名字看出来,tensor*必然是师从tensorflow框架的,事实上也确实是由tensorflow框架来的。使用tensorforce可以快速的构建强化学习代码,同时还可以利用其中现有的强化学习框架,例如常见的AC,A2C,A3…

2020-10-19

列表推导式和[]*N的区别

列表推导式是常见的生成方式,同时[]N也是快速生成多种元素的快捷方式。 例如以下两种生成方式: 生成的初始矩阵都是55的0矩阵: 但是真正对其中的元素进行赋值之后就会发现问题: 可以看出[]*N的方式生成的时候其实实现的是浅拷贝,而列表推导式则是完全开辟新的空间,因此对b的…

2020-10-06

关于实现keras.Model时,trainable_weights为空的解决办法

在搭建自己的Model的时候,我们有时候需要自己从稍微低层的部分进行搭建,而不是直接用Sequential搭建模型,或者是使用Model(inputs,outputs)的方式搭建,例如下面这个简单的例子: 对 以及 的方法进行重载之后,就可以很简单的进行搭建模型,如下所示: 搭…

2020-10-02

Tensorflow代码当中的logits的理解

深度学习源码中经常出现的logits其实和统计中定义的$logit=log(\frac{p}{1-p})$没什么太大关系,就是定义的神经网络的一层输出结果。该输出一般会再接一个softmax layer输出normalize 后的概率,用于多分类。见下图:

2020-10-01

Tensorflow的变量(Variable)或优化器(Optimizer)当中use_locking的理解

Tensorflow的变量(Variable)或优化器(Optimizer)当中有一个use_locking的可选参数,一开始以为是字面意思:直接锁定不给更新参数,后来发现并不是,而是 在更新参数的时候使用锁,避免受多线程、多进程、以及在分布式模型中参数更新时受到影响 ,最典型…

2020-09-17

MDN-Mixture Density Network 混合密度神经网络

什么是MDN 对于一输入对一的输出的任务,传统的神经网络可以很好地进行预测/回归/分类。然而,对于一对多的问题,传统的网络无法胜任,此时MDN派上用场。 MDN的工作机制 与传统的NN不一样的是,MDN的预测输出是特定分布的参数值,例如指定三个正态分布进行叠加模拟,需要6个$\…

2020-04-25

有/无向图闭环的寻找

一点碎碎念 最近这几天,在搞华为的软件精英挑战赛,虽然比赛打的不咋地,但是好在能把以前的数据结构,图论相关知识复习一下(心态还是要摆正的)。不过话说回来,参加华为软件精英挑战赛,一定要熟悉C++,其他的Python,Java,C都是弟弟,不然时间上吃大亏。今年的初赛考察的是有向…