算法

Python/JS实现常见加密算法的示例代码

目录 前言 一、编码,加密 二、常见编码 1.Base64 2. Base64 - JS实现 3. Base64 - Python实现 4.Unicode 5.Urlencode 三、线性散列算法(签名算法)MD5 1.MD5介绍 2. MD5 - JS实现 3. MD5 - Python实 »

Java数据结构之图的两种搜索算法详解

目录 前言 深度优先搜索算法 API设计 代码实现 广度优先搜素算法 API设计 代码实现 案例应用 前言 在很多情况下,我们需要遍历图,得到图的一些性质,例如,找出图中与指定的顶点相连的所有顶点,或者判定某个顶点与指定顶点是否相通,是非常常见的需求。 有关图的搜索,最经典的算 »

Java/Go/Python/JS/C基数排序算法的原理与实现方法是什么

这篇文章主要介绍“Java/Go/Python/JS/C基数排序算法的原理与实现方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java/Go/Python/JS/C基数排序算法的原理与实现方法是什么”文章能帮助大家解决问题。 说明 基数排序(Ra »

【基数排序算法详解】Java/Go/Python/JS/C不同语言实现

说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulation ... »

letjs

详解Python AdaBoost算法的实现

目录 1. AdaBoost 算法简介 2. AdaBoost算法 逻辑详解 2.1 数据 2.2 带权错误率 2.3 损失函数 与 确定样本权重 2.4 确定模型权重 2.5 输出模型 3.AdaBoost算法的python实现 1. AdaBoost 算法简介 Boosting是 »

KDTree实现KNN算法

KDTree实现KNN算法 完整的实验代码在我的github上?QYHcrossover/ML-numpy: 机器学习算法numpy实现 (github.com) 欢迎star⭐ 在之前的博客中,我们已经学习了KNN算法的原理和代码实现。KNN算法通过计算待分类样本点和已知样本点之间的距离,选取距 ... »

QYHcrossover

C C++算法题解LeetCode1408数组中的字符串匹配

目录 题目描述 整理题意 解题思路分析 优化 具体实现 复杂度分析 代码实现 暴力 暴力 + 优化 KMP 总结 题目描述 题目链接:1408. 数组中的字符串匹配 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其 »

Java C++题解leetcode字符串轮转KMP算法详解

目录 题目要求 思路一:双指针(模拟) Java C++ 思路二:子串 手写KMP Java dp C++ dp 调API Java C++ 总结 题目要求 思路一:双指针(模拟) Java class Solution { public boole »

递归函数、算法之二分法、三元表达式、各种生成式、匿名函数

一、递归函数 递归函数就是直接或间接调用函数自身的函数,当我们使用这种函数的时候,并不会出现预料之中的死循环,当循环次数达到1000左右就会被解释器强行停止,虽然官方说是1000次,但是当我们使用时,通常会在996次左右停止,但是这种情况下的函数并不算递归函数,递归函数有以下两个条件: 1.直接或者 ... »

推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计

推荐可分为以下四个流程,分别是召回、粗排、精排以及重排: 1. 召回是源头,在某种意义上决定着整个推荐的天花板; 2. 粗排是初筛,一般不会上复杂模型; 3. 精排是整个推荐环节的重中之重,在特征和模型上都会做的比较复杂; 4. 重排,一般是做打散或满足业务运营的特定强插需求,同样不会使用复杂模型... ... »

ting1

衡量算法的性能-时空复杂度分析

算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 1.时间复杂度 时间复杂度用O()表示,它的实质是算法的计算次数 »

nobodyx

Java刷题常用的数据结构总结

(Java刷题常用的数据结构总结) 1. 基础运算 //int型相关操作 Integer.INT_MAX;//int型最大值 Integer.INT_MIN;//int型最小值 long name;//注意:没有c语言里面的long long (int)n1%(int)n2;//取余运算,针对int ... »

LeetCode 39. 组合总和 40.组合总和II 131.分割回文串

欢迎关注个人公众号:爱喝可可牛奶 LeetCode 39. 组合总和 40.组合总和II 131.分割回文串 LeetCode 39. 组合总和 分析 回溯可看成对二叉树节点进行组合枚举,分为横向和纵向 每次往sum添加新元素时,必须明确从can哪个位置开始,定义变量pos 返回条件 sum == ... »

cupxu

C#中实现AES算法加密解读

目录 先上效果图 先添加辅助类 开始实现 总结 先上效果图 文件和加密文件之间的转换。 先添加辅助类 public class AES_EnorDecrypt { //定义默认密钥 private static byte[] _ae »

精华推荐 |【算法数据结构专题】「延时队列算法」史上非常详细分析和介绍如何通过时间轮(TimingWheel)实现延时队列的原理指南

时间轮的介绍 时间轮(TimeWheel)是一种实现延迟功能(定时器)的精妙的高级算法,其算法应用范围非常广泛,在Java开发过程中常用的Dubbo、Netty、Akka、Quartz、ZooKeeper 、Kafka等各种框架中,各种操作系统的定时任务crontab调度都有用到,甚至Linux内核 ... »

一、基础算法(快排,归并,二分,高精度,前缀和,差分)

一、基础算法 快速排序 题目:给定你一个长度为 n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 数据范围:1≤n≤100000,所有整数均在 1∼10^9 范围内 #include <cstdio> //数据比较大时,尽量用scanf,p »

wisteria

深入理解跳表及其在Redis中的应用

跳表可以达到和红黑树一样的时间复杂度 O(logN),且实现简单,Redis 中的有序集合对象的底层数据结构就使用了跳表。本篇文章从调表的基础概念、节点、初始化、添加方法、搜索方法以及删除方法出发,介绍了调表的完整代码以及调表在redis中的应用。 前言 跳表可以达到和红黑树一样的时间复 »

Jcloud