算法

联邦平均算法(Federated Averaging Algorithm,FedAvg)

设一共有$K$个客户机, 中心服务器初始化模型参数,执行若干轮(round),每轮选取至少1个至多$K$个客户机参与训练,接下来每个被选中的客户机同时在自己的本地根据服务器下发的本轮($t$轮)模型$w_t$用自己的数据训练自己的模型$w^k_{t+1}$,上传回服务器。服务器将收集来的各客户机的模 ... »

数据结构与算法知识点总结(4)各类排序算法

1. 插入排序 1.1 直接插入排序 直接插入排序的特点: 时空效率: 时间复杂度为O(n^2),空间复杂度为O(1)。最好情况下是元素基本有序,此时每插入一个元素,只需比较几次而无需移动,时间复杂度为O(n) 稳定性: 保证相等元素的插入相对位置不会变化,稳定排序 void insertion_s ... »

算法篇-递归算法-构建树结构(二)

愿历尽千帆,归来仍是少年 本篇用于树结构的优化方案 实体类 public class CommonTree { /** * 部门树节点ID */ @ApiModelProperty(value = "树节点ID") private Integer id; /** * title */ @ApiMod ... »

排序算法一

冒泡排序、插入排序和选择排序介绍,各有什么优缺点,这三个排序算法最坏时间复杂度都达到了n^2,根据排序效率,是否稳定排序等方面来考虑,优先选择插入排序。 ... »

最长递增子序列

作者:Grey 原文地址: 最长递增子序列 问题描述 LeetCode 300. 最长递增子序列 说明:这里的递增指的是严格递增,相等的时候不算递增。 暴力解法 dp[i]表示: 必须以i位置结尾的最长递增子序列是多少,如果求出了每个位置的dp[i]值,最大的dp[i]值,就是最长递增子序列的长度 ... »

Python 一网打尽<排序算法>之从希尔排序算法的分治哲学开始

1. 前言 本文将介绍希尔排序、归并排序、基数排序(桶排序)、堆排序。 在所有的排序算法中,冒泡、插入、选择属于相类似的排序算法,这类算法的共同点:通过不停地比较,再使用交换逻辑重新确定数据的位置。 希尔、归并、快速排序算法也可归为同一类,它们的共同点都是建立在分治思想之上。把大问题分拆成小问题,解 ... »

算法初步——快速排序

上一节中我们讲到冒泡排序的算法时间复杂度为O(N^2),这是一个比较大的时间复杂度,在算法执行上效率很低。于是我们就想一想有没有既不浪费空间又能提高效率的算法呢,当然,我们找到了一个更为常用的排序算法——快速排序。“快速排序”光听这个名字是不是就很高端呢,接下来我们来看一看该算法如何实现。 假设我们 ... »

自己编写平滑加权轮询算法,实现反向代理集群服务的平滑分配

学会了负载均衡算法,却没有用起来? 今天就来实战一遍,感受下平滑加权轮询算法的魅力。 通过Java语言,自己编写的平滑加权轮询算法,结合线程池和Socket 网络编程等,实现了反向代理集群服务的平滑分配,并通过降权/提权实现宕机服务的”剔除“和缓冲恢复。 1.理解全过程 1.1.概述 需要具备的知识 ... »

AcWing 【算法提高课】笔记02——搜索

搜索进阶 22.4.14 (PS:还有 字串变换 A*两题 生日蛋糕 回转游戏 没做) 感觉暂时用不上 BFS 1. Flood Fill 在线性时间复杂度内,找到某个点所在的连通块 思路 统计连通块个数(多个连通块):逮着一个就开搜 连通性问题(能走多远,迷宫性问题,一个连通块);起点开始搜 池塘 ... »

java 竞赛常用方法

一,基本数据类型 1.int,float.double等转换为字符串用 String.valueOf方法 eg:double转换为String Double dtDouble=12.31354; String string=String.valueOf(dtDouble); System.out.p ... »

Java实现平滑加权轮询算法--降权和提权

上一篇讲了普通轮询、加权轮询的两种实现方式,重点讲了平滑加权轮询算法,并在文末留下了悬念:节点出现分配失败时降低有效权重值;成功时提高有效权重值(但不能大于weight值)。 本文在平滑加权轮询算法的基础上讲,还没弄懂的可以看上一篇文章。 现在来模拟实现:平滑加权轮询算法的降权和提权 1.两个关键点 ... »

Hyperledger Fabric无排序组织以Raft共识算法启动多个Orderer服务、多组织共同运行维护Orderer服务

前言 在Hyperledger Fabric无系统通道启动及通道的创建和删除中,我们已经完成了以无系统通道的方式启动 Hyperledger Fabric 网络,并将链码安装到指定通道。但目前为止,实验中的 orderer 服务都是通过单独的排序组织来维护且只有一个,那能不能不要排序组织而使用普通组 ... »

Python 一网打尽<排序算法>之先从玩转冒泡排序开始

1. 前言 所谓排序,就是把一个数据群体按个体数据的特征按从大到小或从小到大的顺序存放。 排序在应用开发中很常见,如对商品按价格、人气、购买数量……显示。 初学编程者,刚开始接触的第一个稍微有点难理解的算法应该是排序算法中的冒泡算法。 我初学时,“脑思维”差点绕在 2 个循环结构的世界里出不来了。当 ... »

朴素贝叶斯算法

一、从生活角度来理解朴素贝叶斯算法 朴素贝叶斯算法是统计学味道最浓的一款算法,也是最能体现我们日常生活经验的算法; 与我们读万卷书行万里路形成我们自己的生活经验类似,朴素贝叶斯算法也是基于收集的历史数据分析得到相关事情发生的原因,从而形成解决问题的模型; 与我们面对未知的未来类似,基于自己的生活经验 ... »