算法 理论gjk

基于PLE结合卡尔曼滤波的RSSI定位算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.算法理论概述 基于PLE(Power-Law Equalizer)结合卡尔曼滤波的RSSI(Received Signal Strength Indicator)定位算法是一种利用无线信号强度进行位置估计的方法。该方法通过PL ......
算法 matlab RSSI PLE

算法~布隆过滤器

布隆过滤器(Bloom Filter)是一种高效的概率数据结构,用于判断一个元素是否存在于集合中。它基于位数组和多个哈希函数,并具有以下特点: Bloom Filter 是一个基于概率的数据结构:它只能告诉我们一个元素绝对不在集合内或可能在集合内 快速查询:布隆过滤器具有快速查询的特性。它使用多个哈 ......
过滤器 算法

AES java加密与MySql加密算法一致

1.背景 数据库加密与java程序加密算法保持一致,统一采用AES加密算法。 2. java 代码如下 1 package com.pacific.permission.test; 2 3 import javax.crypto.Cipher; 4 import javax.crypto.spec. ......
算法 MySql java AES

机器学习-学习率:从理论到实战,探索学习率的调整策略

本文全面深入地探讨了机器学习和深度学习中的学习率概念,以及其在模型训练和优化中的关键作用。文章从学习率的基础理论出发,详细介绍了多种高级调整策略,并通过Python和PyTorch代码示例提供了实战经验。 关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团 ......
实战 机器 策略 理论

【笔记】复杂性理论

上接 可计算理论 相比可解性,我们还关注一些可解问题的效率——是否存在一个“高效”算法? 计算复杂性理论关注问题是否“实际可解” 时间复杂性度量 Def. 时间复杂度 time complexity 确定型:设 \(M\) 是一个在所有输入上都停机的确定型图灵机。\(M\) 的“运行时间”或者“时间 ......
复杂性 理论 笔记

【笔记】可计算理论

计算模型 Def. 确定图灵机 (Deterministic Turing Machine, DTM) 7 元组,记作 \(M=(Q,\Sigma,\Gamma,\delta,q _0, B, F)\),其中 \(Q\) 是有穷状态集合 \(\Sigma\) 是有穷输入符号集合 \(\Gamma\) ......
理论 笔记

面试leetcode算法经典 150 题

数组、字符串 1.合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由 ......
算法 leetcode 经典 150

算法笔记(2)

树 树(Tree)是一种非线性的数据结构,它由一系列节点(Nodes)组成,每个节点可以包含一个值或者一个操作。树的节点之间存在父子关系,每个节点都有一个父节点和若干个子节点。根节点是整个树的起点,它没有父节点,其他节点都是由根节点衍生出来的。 树有多种类型,以下是其中几种常见的类型: 二叉树(Bi ......
算法 笔记

代码随想录算法训练营第五天| 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和

LeetCode 242.有效的字母异位词 题目链接: LeetCode242 思路: 使用C++自带的库函数,经过排序后进行比较(使用库函数) class Solution { public: bool isAnagram(string s, string t) { if(s.length() ! ......
随想录 之和 训练营 数组 交集

文心一言 VS 讯飞星火 VS chatgpt (149)-- 算法导论12.2 4题

五、用go语言,证明:如果一棵二叉搜索树中的一个结点有两个孩子,那么它的后继没有左孩子,它的前驱没有右孩子。 灵捷3.5 。 文心一言: 为了证明这个性质,我们首先需要明确二叉搜索树(BST)的定义和特性。一个二叉搜索树是一个有序的树,其中每个节点的左子树上的所有值都小于节点的值,而右子树上的所有值 ......
文心 导论 算法 chatgpt VS

基于Levenberg-Marquardt算法的声源定位matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 Levenberg-Marquardt 算法是求非线性最小二乘问题的一种优化算法。它在不需要二阶导数信息的情况下,仍然可以取得相当不错的优化效果。它对于具有强非线性性和高维度的问题,尤为适用。 Levenberg ......

树的层序遍历算法框架

1 核心代码框架 点击查看代码 void levelOrder(TreeNode* root) { if (!root) return; queue<TreeNode*> que; que.push(root); while(!que.empty()) { int size = que.size() ......
算法 框架

链表算法笔记

​ 类型:单链表、双链表、循环链表 操作:删除节点、添加节点 在删除节点时,C++里最好是再手动释放所删除的节点,释放内存,但是如Java、Python等语言,它们有自己的内存回收机制,就不需要手动释放了。 使用虚拟头节点的原因 使第一个节点和其他节点的增加和删除操作统一,不然每次针对第一个节点还要 ......
算法 笔记

【算法】远方来信,从数学表达式算法到汇编语法解释器

在繁华的都市中,小悦作为一名软件工程师,每天都在这座钢筋水泥的森林里忙碌。她的生活似乎被工作和各种琐碎的事情填满了,但在这个繁忙的生活中,她总能在工作之余找到一些小小的乐趣。 这天下班后,小悦收到了一封来自国外同学苏菲的email。邮件的内容让她的思绪一下子飘回了那个学习汇编语言的大学时代。 苏菲是 ......
算法 解释器 表达式 语法 来信

数据结构与算法总结-----1

前言 在学习专业知识的过程中,我们经常看到两个词一起出现,数据结构和算法,为什么呢?因为通常选择正确的数据结构往往能够让我们程序算法 的效率变得更好。 解决问题方法的效率,跟数据的组织方式是相关联的。例如在线性表中删除一个数,选择顺序表(数组),时间复杂度是O(N),而用链表删除一个数是比顺序表的效 ......
数据结构 算法 结构 数据

交点 - 射线与AABB交点 - slab算法

slab指的就是一组平行线之间的距离 AABB的width为平行于y轴的两条边之间的距离,叫x-slab;height为平行于x轴的两条边之间的距离,y-slab; x-slab和y-slab重叠的部分,就是矩形框; 判断依据 如果射线和AABB相交,则射线与x-slab相交部分和y-slab相交部 ......
交点 射线 算法 AABB slab

基于TDOA和FDOA的RSSI定位算法matlab仿真

1.算法运行效果图预览 仿真定位误差随着节点数量的增加而降低的变化曲线: 三种算法在不同的网络大小下的估计误差: 2.算法运行软件版本 matlab2022a 3.算法理论概述 TDOA和FDOA是基于测距的定位算法中的两种常见方法,它们都是通过测量信号的到达时间差或频率差来计算节点间的距离,从而实 ......
算法 matlab TDOA FDOA RSSI

基于FPGA的图像形态学膨胀算法实现,包括tb测试文件和MATLAB辅助验证

1.算法运行效果图预览 在FPGA中仿真结果如下所示: 将FPGA中的仿真结果导入到matlab显示二维图,效果如下: 2.算法运行软件版本 matlab2022a vivado2019.2 3.算法理论概述 膨胀操作是形态学中另外一种基本的操作。膨胀操作和腐蚀操作的作用是相反的,膨胀操作能对图像的 ......
形态学 算法 形态 图像 文件

代码随想录算法训练营第5天 | lc242、lc349、lc202、lc1

(本合集全部为Go语言实现) 相关文章链接:242题解 349 202题解 1题解 相关视频链接: Leetcode242 状态:秒了 实现过程中的难点:对于元素固定是小写字母或类似的情况,可以使用数组,因为元素最大数量是固定的 个人写法 func isAnagram(s string, t str ......
随想录 训练营 lc 随想 算法

基于oneAPI的并行算法实践

本文介绍了利用oneAPI,使用sycl编程实现并行算法,完成了矩阵乘法、归并排序、图像卷积三个任务的过程。 矩阵乘法 在此任务中,我们使用sycl编写并行计算的内核。为了提高局部计算效率,我们使用共享内存存储部分矩阵数据。 std::vector<std::vector<float>> matri ......
算法 oneAPI

代码随想录算法训练营第4天 | leetcode24、leetcode19、leetcode面试题02

(本合集全部为Go语言实现) 相关文章链接:24题解 19题解 02.07题解 142题解 相关视频链接: Leetcode24 状态:秒了 实现过程中的难点:对组内两个节点的指针指向流转需要倒腾明白。临时头结点真的很有用 个人写法 func swapPairs(head *ListNode) *L ......
leetcode 随想录 训练营 随想 算法

栈和队列算法总结

知识概览 在数据结构中,栈和队列都属于线性表。栈是先进后出(FILO)的,队列是先进先出(FIFO)的。 代码模板 #include <iostream> using namespace std; const int N = 100010; // ********************** 栈 i ......
队列 算法

链表算法总结

知识概览 链表包括单链表和双链表,这里讨论算法题中的链表。为了考虑算法题中对于时间效率的要求,链表通常是用数组模拟成静态链表的形式,速度快。 单链表可以用来写邻接表(包括n个链表),邻接表可以存储树和图,最短路问题、最小生成树问题、最大流问题都可以用邻接表来存储。 双链表用来优化某些问题。 单链表 ......
算法

文心一言 VS 讯飞星火 VS chatgpt (148)-- 算法导论12.2 3题

三、用go语言,写出过程 TREE-PREDECESSOR 的伪代码。 文心一言: 以下是使用Go语言编写的TREE-PREDECESSOR函数的伪代码: func TREE-PREDECESSOR(node) { if node.parent != nil { return node.parent ......
文心 导论 算法 chatgpt VS

前缀和/差分——acwing算法基础课笔记

个人笔记,欢迎补充,指正。 一维前缀和 对于数组: a[1],a[2],a[3]...a[n]; 其前缀和数组为 s[i] = a[1] + a[2] + ... + a[i]; 下标必须从1开始 求前缀和 1 for(int i=1;i<n;++i) 2 s[i] = s[i-1] + a[i]; ......
基础课 前缀 算法 基础 笔记

代码随想录算法训练营第3天 | leetcode203、leetcode707、leetcode206

(本合集全部为Go语言实现) 相关文章链接:203题解 707题解 206题解 相关视频链接: Leetcode203 状态:秒了 实现过程中的难点:链表遍历一定要记得指针后移。另外,在头指针前加入一个新的临时头节点可以统一整个遍历过程,否则需要先确定初始时两指针的状态 个人写法 /** * Def ......
leetcode 随想录 训练营 随想 算法

代码随想录算法训练营第2天 | leetcode977、leetcode209、leetcode59

(本合集全部为Go语言实现) 相关文章链接:977题解 209题解 59题解 相关视频链接:977视频 209视频 59视频 Leetcode977 状态:按自定义排序策略的方式秒了。尝试使用双指针法,但是以为是需要原地进行操作,试了一下失败了 实现过程中的难点:需要明确的是对撞指针两者的平法比较时 ......
leetcode 随想录 训练营 随想 算法

KMP字符串匹配算法 整理

KMP 整理 题面 视频详解 KMP 的作用 KMP 算法的主要作用是求出一个字符串(模式串)是否为另一个字符串(主串)的子串,并同时求出它出现的位置,也即字符串匹配问题。 算法解析 暴力 先说暴力算法: 从头开始枚举模式串位置的起点,然后遍历从起点往后 \(m\) 个字符,检查它是否与模式串完全相 ......
字符串 算法 字符 KMP

代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 142.环形链表II

LeetCode 24. 两两交换链表中的节点 题目链接: LeetCode 24 思路: 交换结点前将cur后第一个结点和第三个结点进行保存,然后修改cur指向头节点后再修改头节点后的结点 class Solution { public: ListNode* swapPairs(ListNode* ......
节点 随想录 环形 训练营 随想

答知识星球朋友疑问:执行 ABAP 代码出现超时的原因,背后的理论和解决方案试读版

有朋友在我的知识星球里提问: 我在bw执行一个fm的时候,出现了运行超时的问题,请问这时候要如何优化这个fm 因为这位朋友没有提供具体的 Function Module 名称,所以只能泛泛而谈一下 ABAP 代码的超时问题。 我们首先要认识一点,为什么 ABAP 代码运行后,理论上会出现超时(tim ......
星球 疑问 背后 解决方案 原因