几何 算法

扩展BSGS/exBSGS算法

上一篇博客提到,BSGS算法是用来解决形如:$a^{x}\equiv b\pmod{p}$ 的高次同余方程。其中 $a\perp p$。 那如果 $a$ 与 $b$ 不互质,阁下又该如何应对呢? exBSGS算法就是来解决形如:$a^{x}\equiv b\pmod{p}$ 的高次同余方程。其中 $ ......
算法 exBSGS BSGS

m基于细菌觅食优化的DSR网络路由协议优化算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 移动自组网(Mobile Ad Hoc Network,简称MANET)是一种无需基础设施支持的网络,它由一组移动的节点组成,这些节点可以自组织形成一个网络,实现数据的传输和共享。由于MANET是一种去中心化的网络,因 ......
路由 细菌 算法 matlab 网络

算法学习day07哈希表part02-454、383、15、18

package SecondBrush.Hash; import java.util.HashMap; import java.util.Map; /** * 454. 四数相加 II * 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元 ......
算法 part day 454 383

算法学习day06哈希表part01-242、349、202、1

package SecondBrush.Hash; /** * 242.有效字母异位词 * 现在看到这个题目能想到怎么做,但是具体不知道怎么写 * 大致思路自己先描述一下: * 就是建立一个hash表,然后遍历s,写进表中,遍历t,减去对应的数 * hash表就可以理解为数组 */ public c ......
算法 part day 242 202

Java算法排序之冒泡/插入/选择/快速、二分查找 - 附动图

1. Java排序:冒泡排序 - 最简单 (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。 (2)这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。 (3)N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成 ......
算法 Java

面试现场简单几道java算法题, 你能写出几道?

这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严谨,要么就是题目都看不懂的,还有就是书写错误的,这让他感到很诧异,毕竟算法其实对于程序员来讲应该是很 ......
算法 java

文心一言 VS 讯飞星火 VS chatgpt (54)-- 算法导论6.2 6题

文心一言 VS 讯飞星火 VS chatgpt (53)-- 算法导论6.2 5题 # 六、证明:对一个大小为 n的堆,MAX-HEAPIFY 的最坏情况运行时间为 Ω(Ign)。(提示对于n个结点的堆,可以通过对每个结点设定恰当的值,使得从根结点到叶结点路径上的每个结点都会递归调用 MAX-HEA ......
文心 导论 算法 chatgpt VS

四种语言刷算法之子集

力扣78. 子集 1、C /** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned as *returnColumnSizes array. * Note: Both ret ......
子集 算法 语言

BSGS算法

今天刚学了个算法:BSGS算法(Baby-Step Giant-Step),即大步小步算法。常用于求解离散对数问题。 该算法可以在 $O(\sqrt p)$ 的时间内求解形如:$a^{x}\equiv b\pmod{p}$ 的高次同余方程。 **问题:** [P3846 [TJOI2007] 可爱的 ......
算法 BSGS

图书推荐管理系统Python,基于Django和协同过滤算法实现

## 一、介绍 图书推荐系统 / 图书管理系统,以Python作为开发语言,基于Django实现,使用协同过滤算法实现对登录用户的图书推荐。 ## 二、效果展示 ![1688450726836-3db42977-53e6-431c-9ee2-8f09e633cc1b](http://zwgroup. ......
算法 管理系统 Python Django 图书

算法竞赛中C++ vector的常规操作

# 算法竞赛中 C++ vector 的常规操作 ## 对 vector 的理解 vector 官方将其翻译为向量,但实际上是**变长**的**动态数组**,其可以存放各种类型的对象。 ## vector 定义语法 大致格式:```vector 数组名``` 在初始情况下,vector的大小是0,也 ......
算法 常规 vector

详解共识算法的Raft算法模拟数

摘要:Raft算法是一种分布式共识算法,用于解决分布式系统中的一致性问题。 本文分享自华为云社区《共识算法之Raft算法模拟数》,作者: TiAmoZhang 。 01、Leader选举 存在A、B、C三个成员组成的Raft集群,刚启动时,每个成员都处于Follower状态,其中,成员A心跳超时为1 ......
算法 共识 Raft

《数据结构与算法》之图

导言: 图是数据结构教材上的最后一种数据结构了,它的使用范围最广,最多,也是最贴合我们实际生活的,图是一个多对多的数据结构,在前面的学习,了解到了一对一的数据结构 线性结构,以及一对多的结构 树形结构,现在要学的多对多的结构 图, 图是对我们现实生活中很多实体的抽象,因为实际的生活中,的确关系是复杂 ......
数据结构 算法 结构 数据

数据结构与算法coding过程中的记录

1.init()时一定要记得malloc()申请新的内存空间(如果不申请内存空间程序返回的值是有内存里的脏数据,把人看得云里雾里找不到问题出在哪) 2.带头结点单链表尾插法要注意:若LNode *p = L->next; 循环条件是while(p != NULL){p = p->next;},那么最 ......
数据结构 算法 过程 结构 数据

Bellman–Ford 算法

[TOC] # Bellman-Ford 算法 贝尔曼-福特(Bellman–Ford)算法是一种基于松弛(relax)操作的最短路径算法,可以求出**有负权的图**的最短路径,并可以对最短路径不存在的情况进行判断。 # 记号 为了方便叙述,这里先给出下文将会用到的一些记号的含义。 - $n$ 为图 ......
算法 Bellman Ford

Python递归算法从入门到精通

递归是一种常见且重要的算法设计和解决问题的方法。它通过将问题分解为规模更小的子问题,并通过解决子问题来解决原始问题。递归算法的关键在于找到递归终止条件和递归调用的方式。本文将介绍递归的基本原理、应用场景,并通过相关的Python代码示例详细讲解递归算法的使用。 ## 一、递归的基本原理 递归算法的基 ......
算法 Python

代码随想录算法训练营第二十三天| 93.复原IP地址 78.子集 90.子集II

93.复原IP地址 思路: 先考虑合法的情况,然后再依次往path里面加字符,如果它的长度>4但是还没有到最末尾,也就是说他是错的,也就return出去 代码: 1 //根据给定的一组字符串,分出来可能正确的IP 2 //思路:切割,[start, i],其中长度为0-3, 3 //判断是否满足条件 ......
子集 随想录 训练营 随想 算法

Id 生成 - 雪花算法

package com.changgou.entity.utils; import java.lang.management.ManagementFactory; import java.net.InetAddress; import java.net.NetworkInterface; /** * ......
算法 雪花 Id

代码随想录算法训练营第51天 | ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ●总结 - 第9章 动态规划part12

第九章 动态规划part12 ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ● 总结 309.最佳买卖股票时机含冷冻期 本题加了一个冷冻期,状态就多了,有点难度,大家要把各个状态分清,思路才能清晰 视频讲解: https://programmercarl.com/03 ......
时机 随想录 股票 训练营 手续费

代码随想录算法训练营第55天 | ● 392.判断子序列 ● 115.不同的子序列 - 第9章 动态规划part15

第九章 动态规划part15 ● 392.判断子序列 ● 115.不同的子序列 详细布置 392.判断子序列 这道题目算是 编辑距离问题 的入门题目(毕竟这里只是涉及到减法),慢慢的,后面就要来解决真正的 编辑距离问题了 https://programmercarl.com/0392.%E5%88% ......
序列 随想录 训练营 随想 算法

代码随想录算法训练营第56天 | ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇 - 第9章 动态规划part16

第九章 动态规划part16 ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇 详细布置 583. 两个字符串的删除操作 本题和动态规划:115.不同的子序列 相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。 72. 编辑距离 最终我们迎来了编 ......
随想录 训练营 字符串 随想 算法

分布式id---雪花算法

**为什么要用分布式id** 随着业务的增长,后期可能会对数据库进行拆分的操作,通过数据库中间间链接。如果数据库表中的id采取的是自增策略,则会产生重复的id。使用分布式id便是为了避免此类现象。 **雪花算法** snowflake是Twitter开源的分布式ID生成算法,结果是一个long型的I ......
分布式 算法 雪花 id

数据结构与算法(一): 稀疏数组

# 问题引入 在五子棋游戏或类似的游戏中,我们可以把整个棋盘想象成是一个有规律的二维数组,其值由0、1、2三个数字组成,0代表空白区域,1代表白子,2代表黑子。这种情况:即当一个数组中大部分元素为0或者为同一值时,存储该数组数据可以使用稀疏数组来对原始数组进行精简,以减少原始数组中无用数据所占的空间 ......
数据结构 数组 算法 结构 数据

m基于MOEA算法的无线传感器网络最优部署matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 无线传感器网络(Wireless Sensor Network,WSN)是一种分布式传感器网络,由大量的无线传感器节点组成,它们可以自组织、自适应、自愈合,通过无线通信协同完成任务。WSN应用广泛,如环境监测、农业、医 ......
传感器 算法 无线 matlab 网络

SM2加密算法

几何学基础 欧式几何 从一点向另一点可以引一条直线。 任意线段能无限延伸成一条直线。 给定任意线段,可以以其一个端点作为圆心,该线段作为半径作一个圆。 所有直角都相等。 若两条直线都与第三条直线相交,并且在同一边的内角之和小于两个直角,则这两条直线在这一边必定相交。 罗巴切夫斯基几何 第五公设不能被 ......
算法 SM2 SM

【算法】基础数据结构

## 一、单调栈 ### 1. 概念 满足单调性的栈结构,常用于 RMQ 问题。 ### 2. 实现 为满足单调性,我们在栈的基础上额外判断以下栈顶元素是否大于/小于当前元素。以下面的序列 $1\;7\;4\;3\;2\;8$ 为例,需要求每一个数右边第一个比它大的数。考虑维护单调递减栈,才能保证不 ......
数据结构 算法 结构 基础 数据

桶排序算法及其Java实现

桶排序是一种排序算法,它的原理是将数组分到有限数量的桶里,每个桶再个别排序,最后依次把各个桶中的记录列出来。桶排序的效率取决于映射函数的选择和桶的数量。桶排序适用于数据分布比较均匀,或者比较侧重于区间数量的情况。 下面是我为你写的博客正文,希望对你有帮助: 桶排序算法及其Java实现 什么是桶排序? ......
算法 Java

常见的10种排序算法

https://blog.csdn.net/y3over/article/details/86145291 前言排序算法是在生活中随处可见,也是算法基础 算法分类十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时 ......
算法 常见

数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。图算法,搜索算法等

数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。图算法,搜索算法等 ......
算法 数据挖掘 模式 链接 经典

代码随想录算法训练营第二十二天| 39. 组合总和 40.组合总和II 131.分割回文串

39. 组合总和 思路: 虽然可以是重复的,但是考虑到组合没有顺序这一说,所以还是要保留startIndex, sum不要再遍历一遍,再相加,应该跟随path,一起相加 代码: 1 void combinationSum_trackBack(vector<int>& candidates, int ......
总和 随想录 回文 训练营 随想