算法 模式 代码 方式

遗传算法求TSP问题

一、实验内容及目的 本实验以遗传算法为研究对象,分析了遗传算法的选择、交叉、变异过程,采用遗传算法设计并实现了商旅问题求解,解决了商旅问题求解最合适的路径,达到用遗传算法迭代求解的目的。选择、交叉、变异各实现了两种,如交叉有顺序交叉和部分交叉。 二、实验环境 Windows10 开发环境Python ......
算法 问题 TSP

一篇文章带你了解设计模式——创建者模式

一篇文章带你了解设计模式——创建者模式 在之前的文章中我们已经学习了设计模式的基本原则和基本分类 下面我们来介绍第一种设计模式,创建型模式的主要关注点是怎样创建对象,它的主要特点是“将对象的创建与使用分离”。 下面我们将从下面四个方面讲述五种创建者模式: 单例模式 工厂模式 原型模式 建造者模式 单 ......
模式 创建者 设计模式 篇文章

一篇文章带你了解设计模式——结构型模式

一篇文章带你了解设计模式——结构型模式 在之前的文章中我们已经介绍了设计模式中的创建者模式 下面我们来学习第二种类型的设计模式,结构型模式描述如何将类或对象按某种布局组成更大的结构 它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合 ......

不用Blazor WebAssembly,开发在浏览器端编译和运行C#代码的网站

本文中,我将会为大家分享一个如何用.NET技术开发“在浏览器端编译和运行C#代码的工具”,核心的技术就是用C#编写不依赖于Blazor框架的WebAssembly以及Roslyn技术。 一、 为什么要开发这样的工具? 对于编程初学者来讲,开发环境的安装配置是一个令人头疼的事情,如果能让初学者不用做任 ......
WebAssembly 浏览器 不用 代码 Blazor

dapr入门与本地托管模式尝试

1 简介 Dapr是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr支持的语言很多,包括C++/Go/Java/JavaScript/Python/Rust/.NET/PHP等。 ......
模式 dapr

用GPU来运行Python代码

简介 前几天捣鼓了一下Ubuntu,正是想用一下我旧电脑上的N卡,可以用GPU来跑代码,体验一下多核的快乐。 还好我这破电脑也是支持Cuda的: $ sudo lshw -C display *-display description: 3D controller product: GK208M [ ......
代码 Python GPU

【Unity 框架】 QFramework v1.0 使用指南 工具篇: 16. LiveCodingKit 写代码不用停止运行的利器 | Unity 游戏框架 | Unity 游戏开发 | Unity 独立游戏

我们在用 Unity 开发的时候,每次编写或修改一点代码就需要进行 停止运行->编写代码->等待编译->运行游戏。 而在很多情况下这个过程是一个比较耗神的过程,因为开发者需要等待,还需要动手操作。 在笔者体验过 GameMakerStudio 的 GMLive 插件后,发现不停止运行就可以直接查看代 ......

Django框架之drf:5、反序列化器校验部分源码分析,断言,drf之请求与响应,视图组件介绍及两个视图基类,代码部分实战

Django框架之drf 一、反序列化类校验部分源码解析 反序列化校验什么时候开始执行校验? 剖析流程一:在视图中使用反序列化器实例化的对象调用is_valid()的时候就会进行校验,通贩校验返回True,反之False class BookView(APIView): # 新增 def post( ......
视图 部分 序列 实战 组件

以交互的方式升级ESXi主机

以交互的方式升级ESXi主机 环境说明: 需求:要将 ESXi 6.0 主机和 ESXi 6.5 主机升级到 ESXi 6.7,可从 CD、DVD 或 USB 闪存驱动器引导 ESXi 安装程序。 注意:在升级之前,请考虑断开网络存储的连接。此操作可缩短安装程序搜索可用磁盘驱动器的时间。 断开网络存 ......
主机 方式 ESXi

算法学习笔记(16): 组合数学基础

组合数学基础 本文部分运用到了生成函数的知识 如果直接食用本文结论,请忽略下列链接。 生成函数参考博客:普通型生成函数 - Ricky2007 - 博客园 我认为讲的不错 组合数学非常有用!我们先从一点点简单的性质开始 简单原理 加法原理 这非常简单,我们举一个例子即可:考虑我有 $5$ 个红苹果和 ......
数学基础 算法 数学 基础 笔记

基于遗传算法的地图四色原理绘图上色的Python代码

本文介绍利用Python语言,实现基于遗传算法(GA)的地图四色原理着色操作。 1 任务需求 首先,我们来明确一下本文所需实现的需求。 现有一个由多个小图斑组成的矢量图层,如下图所示。 我们需要找到一种由4种颜色组成的配色方案,对该矢量图层各图斑进行着色,使得各相邻小图斑间的颜色不一致,如下图所示。 ......
算法 原理 代码 地图 Python

MATLAB人工神经网络ANN代码

本文介绍基于MATLAB实现人工神经网络(ANN)回归的详细代码与操作。 在之前的文章MATLAB实现随机森林(RF)回归与自变量影响程度分析中,我们对基于MATLAB的随机森林(RF)回归与变量影响程度(重要性)排序的代码加以详细讲解与实践。本次我们继续基于MATLAB,对另一种常用的机器学习方法 ......
神经网络 人工 神经 代码 MATLAB

Python TensorFlow深度学习回归代码:DNNRegressor

本文介绍基于Python语言中TensorFlow的tf.estimator接口,实现深度学习神经网络回归的具体方法。 () 1 写在前面 1. 本文介绍的是基于TensorFlow tf.estimator接口的深度学习网络,而非TensorFlow 2.0中常用的Keras接口;关于Keras接 ......
DNNRegressor TensorFlow 深度 代码 Python

前端算法之二分查找

在数组中查找指定元素,如果存在就返回它的位置,如果不存在,就返回-1。 这是一道非常经典的算法题,考的就是二分查找算法,首先分析二分查找的思路: 假设一个数组为 [3,5,19,22,25,33,45,47,57,66,71,78](已经从小到大排好序),要求找出数值80的位置,如图: ps: g  ......
前端 算法

《深入理解Java虚拟机》第三章读书笔记(二)——HotSpot垃圾回收算法实现(OopMap,安全点安全区域,卡表,写屏障,三色标记算法)

系列文章目录和关于我 前面《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法我们学习了垃圾回收算法理论知识,下面我们关注下HotSpot垃圾回收算法的实现,分为以下几部分 对象是垃圾的判断依据 GC Roots 是如何高效扫描的 如何解决跨代引用对象的垃圾回收问题 如何降低垃圾回收STW ......
算法 色标 屏障 垃圾 区域

《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法

参考书籍《深入理解java虚拟机》周志明著 系列文章目录和关于我 本文主要介绍垃圾回收理论知识 1.jvm哪些区域需要进行垃圾回收 虚拟机栈,本地方法栈,程序计数器都是线程私有的,随线程而生,随线程而灭。其中栈中的栈帧随着方法的进入和退出而有条不紊的执行出栈和入栈操作,每一个栈帧需要分配内存基本上在 ......
算法 垃圾 第三章 笔记 Java

Dijkstra算法详解(朴素算法+堆优化)

定义 Dijkstra(读音:/'daɪkstrə/)算法,是用来求解一个边带权图中从某个顶点出发到达其余各个顶点的最短距离的算法。(为表达简便,下文中“起点(源点)到某个顶点的距离”简称为“某个顶点的距离”) 限制条件:各个边的权不能为负。 原理 假设s,v1,v2,...,vn(以下简称P1)为 ......
算法 Dijkstra

分布式协议与算法-Raft算法

本文总结自:极客时间韩健老师的分布式协议与算法实战课程。 大家都知道,Raft算法属于Multi-Paxos算法,它是在Multi-Paxos思想的基础上,做了一些简化和限制。关于Paxos算法,博主在之前的文章有过总结,大家可以从这里跳转:分布式协议与算法-Paxos算法 关于Raft算法相关的开 ......
算法 分布式 Raft

初探富文本之CRDT协同算法

初探富文本之CRDT协同算法 CRDT的英文全称是Conflict-free Replicated Data Type,最初是由协同文本编辑和移动计算而发展的,现在还被用作在线聊天系统、音频分发平台等等。当前CRDT算法在富文本编辑器领域的协同依旧是典型的场景,常用于作为实现文档协同的底层算法,支持 ......
算法 文本 CRDT

SOFAJRaft源码阅读-RheaKV的初始化与Multi-RAFT-GROUP模式

SOFAJRaft的SOFAJRaft-RheaKV 是基于 SOFAJRaft 和 RocksDB 实现的嵌入式、分布式、高可用、强一致的 KV 存储类库。SOFAJRaft-RheaKV 集群主要包括三个核心组件:PD,Store 和 Region。 @Author:Akai-yuan @更新时 ......

SOFAJRaft源码阅读(肆)-Netty时间轮算法的实践

SOFAJRaft的定时任务调度器是基于Netty来实现的,所以本文将会基于Netty时间轮算法,然后再结合SOFAJRaft源码进行分析。 @Author:Akai-yuan @更新时间:2023/1/29 1.HashedWheelTimer概览 一个时间轮算法的组成成分图: 一个基于Netty ......
算法 SOFAJRaft 源码 时间 Netty

C#开发PACS医学影像三维重建(十四):基于能量模型算法将曲面牙床展开至二维平面

在医学影像领域中,将三维重建中的人体组织展开平铺至二维,用来研判病灶和制定治疗方案的重要手段之一, 它能够将立体曲面所包含的信息更为直观的展示到二维平面上,常用的情景包括: 牙床全景图、平铺血管、骨骼二维化展开(肋骨平铺)。 众所周知,人体牙床正常情况下是有弧度的,无论是从俯视位还是冠状位观察都是不 ......
牙床 医学影像 曲面 算法 能量

支付对接常用的加密方式介绍以及java代码实现

金融场景里如何让收银和支付更安全?背后的基础原件是加密方式的设计架构。本文重点讲解在京东金融中,我们如何用Java来实现支付加密。 ......
常用 代码 方式 java

搞懂设计模式——代理模式 + 原理分析

举个栗子,众所周知,我们是可以在京东上购买机票的。 但机票是航司提供的,我们本质上是代理销售而已。 那为什么航司要让我们代理销售呢? 我们又是如帮他做代理的呢? 别急,本文将展开说说他们之间的关系。。。 ......
模式 设计模式 原理

认知篇:CQRS架构模式的本质

CQRS只是一种非常简单的模式(pattern),CQRS本身并不是一种架构风格,和最终一致性/消息/读写分离/事件溯源/DDD等没有必然的联系,它最大优势是给我们带来更多的架构属性选择 ......
架构 本质 模式 CQRS

从历代GC算法角度刨析ZGC

作者:京东科技 文涛 前言 本文所有介绍仅限于HotSpot虚拟机, 本文先介绍了垃圾回收的必要手段,基于这些手段讲解了历代垃圾回收算法是如何工作的, 每一种算法不会讲的特别详细,只为读者从算法角度理解工作原理,从而引出ZGC,方便读者循序渐进地了解。 GC 是 Garbage Collection ......
历代 算法 角度 ZGC

【数据结构和算法】Trie树简介及应用详解

Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 ......
数据结构 算法 结构 简介 数据

最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性

1 介绍 策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度。 反例:使用策略模式对一个boolean类型的变量进行优化 2 背景 我负责的有一个基于流程引擎开发的项目,有一个功能模块是查看申请单的详 ......
可扩展性 易懂 分支 原则 策略

Fabric2.x中Raft共识算法核心数据结构

一、共识算法可插拔的代码体现Chain接口 Hyperledger Fabric的共识算法是可插拔的,在代码上体现为Chain接口,所有不同的共识算法均可根据Chain接口进行具体实现,目前fabric支持solo、kafka、raft、sbft等共识算法。Chain接口的代码在fabric/ord ......
数据结构 共识 算法 核心 Fabric2

如何让Java编译器帮你写代码

本文结合京东监控埋点场景,对解决样板代码的技术选型方案进行分析,给出最终解决方案后,结合理论和实践进一步展开。通过关注文中的技术分析过程和技术场景,读者可收获一种样板代码思想过程和解决思路,并对Java编译器底层有初步了解。 ......
编译器 代码 Java