草庐IT

RRT算法

全部标签

数据结构与算法—常用的排序算法

排序算法是计算机科学领域中非常重要的基础算法之一,主要应用于数据处理中,将未排序的数据按照一定规则排列,以便后续的计算和数据分析。目前常用的排序算法有多种,包括冒泡排序、插入排序、选择排序、归并排序、快速排序等。本文将逐一介绍每一种排序算法的具体实现方法、优缺点以及时间复杂度等。一、冒泡排序冒泡排序是一种简单易懂的排序算法,它的基本思路是将待排序的元素比较相邻的两个数,如果前面的数大于后面的数,则交换它们的位置。这样一轮比较下来,最大的数就会被移动到数列的末尾。接下来,再对剩下的数列进行相同的操作,直到排序完成。冒泡排序的具体实现如下:voidbubble_sort(intarr[],intl

【贪心】经典贪心算法问题——活动安排问题、最优装载问题、单源最短路问题实验报告(C++代码实现)

目录问题来源一、会场安排问题1.问题描述2.算法设计(问题分析、建模、算法描述)3.算法源码(C++)4.测试数据及运算结果5.算法分析(分析算法的时间复杂度和空间复杂度)二、最优装载问题1.问题描述2.算法设计(问题分析、建模、算法描述)3.算法源码(C++)4.测试数据及运算结果5.算法分析(分析算法的时间复杂度和空间复杂度)三、单源最短路问题(Dijkstra算法)1.问题描述2.算法设计(问题分析、建模、算法描述)3.算法源码(C++)4.测试数据及运算结果5.算法分析(分析算法的时间复杂度和空间复杂度)总结问题来源《算法设计与分析》教材实验作业——贪心算法一、会场安排问题1.问题描述

基于A*算法的路径规划实践(MATLAB语言)

基于A*算法的路径规划实践1.机器人路径优化问题描述1.1机器人路径优化问题综述  路径最优规划是移动机器人系统中最重要的组成部分之一,分为点到点的路径规划和全覆盖路径规划。点到点的路径规划是按照走路线最短、行走时间最短等一定的评价标准进行,在其工作空间中找到一条从起始点到目标点的能避开障碍物的最优路径。根据是否给定全局的环境可主要划分为全局路径规划和局部路径规划。本文主要研究给定环境下进行的路径的规划,在进行全局路径规划过程中,要找到一条从起点到终点的最优路径,首先进行整体环境建模,在此基础上通过搜索算法进行最短路径规划。  在给定环境的情况下需要对全局环境进行建模,环境建模方法通常有栅格法

【路径规划】基于蚁群算法实现无人机航迹任务规划(含目标和威胁)附Matlab代码

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。🍎个人主页:Matlab科研工作室🍊个人信条:格物致知。更多Matlab完整代码及仿真定制内容点击👇智能优化算法     神经网络预测     雷达通信    无线传感器     电力系统信号处理        图像处理         路径规划     元胞自动机     无人机🔥内容介绍路径规划一直是无人机航迹任务中的重要问题,特别是在面临目标和威胁的情况下。为了解决这一问题,研究人员们提出了许多不同的路径规划算法,其中蚁群算法是一种备受关注的方法。本文将介绍基于蚁群算法实现无人机航

【算法练习】4种反转链表的方法(Java实现)

目录前言:题目:方法一:迭代法方法二:头插法方法三:递归法方法四:栈辅助    总结:前言:        本文阅读基础:有一定的数据结构知识,了解单向链表。题目:        单向链表:1,2,3,4,5 反向输出,期待:5,4,3,2,1        定义一个单向链表:publicstaticclassListNode{intval;ListNodenext;ListNode(intx){val=x;}//此处省略get,set方法}main方法:publicstaticvoidmain(String[]args){ListNodefive=newListNode(5);ListNod

Python | 机器学习之聚类算法

​🌈个人主页:SarapinesProgrammer🔥系列专栏:《人工智能奇遇记》🔖墨香寄清辞:诗馀墨痕深,梦漫星辰寂。曲径通幽意犹在,剑指苍穹气势立。目录结构1.机器学习之聚类算法概念1.1机器学习1.2聚类算法2.聚类算法2.1实验目的2.2实验准备2.3实验原理2.4 实验内容2.4.1K-means算法2.4.2K-mean++算法2.4.3K_medoids算法2.4.4DBScan算法2.5 实验心得致读者1.机器学习之聚类算法概念1.1机器学习传统编程要求开发者明晰规定计算机执行任务的逻辑和条条框框的规则。然而,在机器学习的魔法领域,我们向计算机系统灌输了海量数据,让它在数据的奔

【C++】STL 算法 ⑦ ( 二元谓词使用场景 - 大小写不敏感 set 集合 | tolower 函数 - 将字符转为小写字母 | 基于 tolower 实现大小写不敏感的比较函数对象 )

文章目录一、二元谓词使用场景-大小写不敏感set集合1、需求分析2、tolower函数-将字符转为小写字母3、toupper函数-将字符转为大写字母4、基于tolower实现大小写不敏感的比较函数对象二、代码示例-二元谓词使用场景1、普通的set集合查找元素-大小写匹配查找成功2、普通的set集合查找元素-大小写不匹配查找失败3、设置二元谓词规则的set集合查找元素-大小写不不敏感集合一、二元谓词使用场景-大小写不敏感set集合1、需求分析本篇博客中,实现一个set集合,存放英文字母组成的字符串,且大小写不敏感;实现的方法:自定义字符串对比排序规则,先将字符串都转为小写字母,然后进行对比;2、

数据结构期末复习(1)学科定义、组成、算法的定义、时间复杂度比较

目录数据结构的几个方面逻辑结构的描述逻辑结构存储结构数据运算数据结构和数据类型数据类型抽象数据类型(ADT)算法及其描述什么是算法算法分析算法的设计目标算法时间性能分析计算算法频度算法时间复杂度简化的算法时间复杂度分析数据结构学科定义:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。数据:描述客观事物的数值、字符以及所有能被机器处理的各种符号集合数据元素:数据的基本单位(例如一个班级中的每个学生记录为一个数据元素),数据元素是组成数据的有一定意义的基本单位。数据元素通常由若干个数据项组成(学生记录的姓名、性别等都是数据项)数据项:数据的最小单位,也

关于无人机上层控制的PID算法的思考

一、前言背景介绍:PID虽然出现了很多年,但是目前工业界还是把PID作为主流的控制算法(尽管学术界有很多非常时尚的控制算法,包括鲁邦控制,神经网络控制等等),PID的算法在于其不需要对系统进行复杂的建模,就可以完成比较好的控制效果。PID算法的优势在于其非常简单,很多时候算法好不好取决于对参数的设置,所以很多时候,PID算法其实是一个体力活,主要精力都在于寻找最优参数去了。当然,对于开环系统就不用说这种PID算法了PID算法只适合于闭合系统。对于非线性系统,时滞比较严重的系统个人也不建议使用PID,这种情况控制效果不怎么好。二、算法介绍开环控制系统在开环控制系统中,系统输出只受输入的控制,控制

【算法挨揍日记】day46——377. 组合总和 Ⅳ\、96. 不同的二叉搜索树

 377.组合总和Ⅳ377. 组合总和Ⅳ题目描述:给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合32位整数范围。解题思路:算法思路:⼀定要注意,我们的背包问题本质上求的是「组合」数问题,⽽这⼀道题求的是「排列数」问题。因此我们不能被这道题给迷惑,还是⽤常规的dp思想来解决这道题。1.状态表⽰:这道题的状态表⽰就是根据「拆分出相同⼦问题」的⽅式,抽象出来⼀个状态表⽰:当我们在求target这个数⼀共有⼏种排列⽅式的时候,对于最后⼀个位置,如果我们拿出数组中的⼀个数x,接下来就