自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 数据结构之平衡二叉搜索树

AVL是一种自平衡二叉搜索树(self-balancing binary search tree)的数据结构,它的名称来源于其发明者G.M. Adelson-Velsky和E.M. Landis。AVL树通过在每次插入或删除节点时进行旋转操作,来确保树的高度始终保持在一个较小的范围内,从而保持树的平衡性。AVL树的平衡性是通过节点的高度差(即左子树高度和右子树高度之差)来衡量的。在一个平衡的AVL树中,任何节点的左子树和右子树的高度差不超过1。

2024-02-23 11:14:38 593

原创 数据结构之哈夫曼树

哈夫曼树的定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),哈夫曼树是带权路径长度最短的树。权值较大的结点离根较近。权:将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度:从根结点到该结点之间路径长度与该结点的权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长度之和。

2024-02-23 10:53:32 671

原创 平衡二叉树AVL

二叉搜索树(Binary Search Tree,BST)是一种特殊的二叉树数据结构,其中每个节点的值都大于其左子树中的任何节点的值,且小于其右子树中的任何节点的值。它的特点使得在搜索、插入和删除操作上具有高效性。以下是一些关于二叉搜索树的重要特性:左子树中的所有节点的值都小于根节点的值。右子树中的所有节点的值都大于根节点的值。左右子树本身也是二叉搜索树。由于这些特性,二叉搜索树可以用于高效地实现插入、搜索和删除操作。

2024-02-22 22:47:35 342

原创 数据结构之堆

在计算机科学中,堆(Heap)是一种特殊的数据结构,它是一种完全二叉树(或者近似完全二叉树),并且满足堆属性。堆有两种常见的类型:最大堆(Max Heap)和最小堆(Min Heap)。最大堆中,父节点的值大于或等于其子节点的值,而最小堆中,父节点的值小于或等于其子节点的值。堆的主要特点是根节点(顶部节点)具有最大(或最小)值。这使得堆在很多应用中非常有用,例如优先队列和堆排序算法。堆的实现可以使用数组或者链表来表示。在数组实现中,根节点存储在索引位置0,而子节点的索引位置可以通过简单的计算得到。

2024-02-22 20:36:26 444

原创 模拟练习四

在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm,将 A0 纸沿长边对折后为 A1 纸,大小为 841mm × 594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。输入纸张的名称,请输出纸张的大小。

2024-02-19 22:57:13 809 1

原创 模拟题练习三

话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒 2 斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店 N 次,遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。请你计算李白这一路遇到店和花的顺序,有多少种不同的可能?注意:壶里没酒 ( 0 斗) 时遇店是合法的,加倍后还是没酒;但是没酒时遇花是不合法的。

2024-02-12 09:15:05 781 1

原创 模拟习题练习2

time:2.5。

2024-02-07 20:38:21 797 1

原创 哈希结构(散列表)

数据结构之哈希数据结构之哈希什么是哈希哈希结构(Hash Table)也被称为散列表,是一种用于实现字典(Dictionary)的数据结构。哈希结构将键(Key)映射到值(Value)的过程称为哈希(Hashing),哈希函数(Hash Function)用于将键映射到一个固定大小的数组(Hash Table),数组中的每个元素称为桶(Bucket),每个桶可以存储一个或多个键值对。哈希结构的主要优点是可以在常数时间内进行插入、查找和删除操作,因此在大多数情况下,哈希结构的操作效率非常高。

2024-02-02 20:28:58 851

原创 模拟习题练习1

小强从小就喜欢生命科学,他总是好奇花草鸟兽从哪里来的。终于, 小强上中学了,接触到了神圣的名词--DNA.它有一个双螺旋的结构。这让一根筋的小强抓破头皮,“要是能画出来就好了” 小强喊道。现在就请你帮助他吧。

2024-02-01 18:13:58 893 1

原创 数据结构之队列

什么是队列队列(Queue)也是一种运算受限的线性表,它限定在表的一端进行插入操作,在表的另一端进行删除操作。队列的结构特性是:先进先出FIFO ( First In First Out)。队列又被称为先进先出表。队尾:允许插入的一端称作队尾(Rear)队首:允许删除的一端称作队首(Front)队列为空的时候 队头front和队尾tail都是0的位置,入队的时候队尾tail往后移动,出队的时候front往队列tail靠拢因为front的移动,导致数组队列存在伪溢出现象。

2024-02-01 17:44:34 332 1

原创 通信机制实操

【代码】通信机制实操。

2024-01-31 18:12:20 384

原创 数据结构之栈

什么是栈栈是一种运算受限的线性表,它限定只能在表的一端进行插入和删除操作。栈的结构特性是:后进先出LIFO ( Last In First Out)。栈又被称为后进先出表。栈顶:允许插入和删除的一端称作栈顶栈顶:不允许插入和删除的一端称作栈底链式栈。

2024-01-29 18:22:32 380

原创 串的基本操作

KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。

2024-01-29 16:09:58 344

原创 数据结构之二叉树的存储与遍历

二叉树是n (n≥0)个结点的有限集合。每个节点最多有两个子节点,分别称为左子节点和右子节点。左子节点和右子节点可以为空。二叉树的子树也是二叉树。

2024-01-26 21:18:56 345 1

原创 二分法(分而治之核心思想)

"分而治之"(Divide and Conquer)是一种算法设计策略,它将一个问题分解成更小的、相互独立的子问题,然后递归地解决这些子问题,最后将它们的解合并起来,得到原始问题的解。将原问题分解为若干个规模较小的子问题。这一步通常通过递归的方式来实现。递归地解决这些子问题。如果子问题足够小,就直接解决。将子问题的解合并成原问题的解。这个思想常常用于解决一些复杂的问题,例如排序、查找、图算法等。一些著名的算法,比如归并排序和快速排序,就是分而治之的典型例子。将待排序的数组分成两半。

2024-01-15 17:35:00 418

原创 ros中定时器的使用以及参数含义

【代码】ros中定时器的使用以及参数含义。

2023-11-19 23:07:32 364

原创 ROS服务通信自定义srv调用(C++)

功能保险新建文件夹(取名srv)在该文件夹下创建.srv文件# 客户端请求时发送的两个数字int32 num1int32 num2---# 服务器响应发送的数据int32 sum。

2023-09-04 23:12:05 271 1

原创 话题通信自定义msg调用c++

功能包下新建 msg 目录,添加文件 Person.msg自定义消息类型uint16 age。

2023-08-24 09:46:46 103 1

原创 学习心得:ros话题通信

写程序后cmake配置,ctrl shift +b重新编译 启动ros rosrun运行

2023-08-23 10:25:15 48

原创 ros下载安装都没有问题,但是小海龟不动怎么回事?

解决方法:把光标移动到你打开的turtle_teleop_key对应的终端中,然后控制乌龟运动。光标从该终端中移开就控制不了乌龟了

2023-08-22 18:20:35 793 3

原创 vscode 编写ros基本使用流程

可以点击配置设置(齿轮图案),修改.vscode/tasks.json 文件。选定 src 右击 ---> create catkin package。修改 .vscode/c_cpp_properties.json。添加后可以CTRL+SHIFT+B 编译,不报错此步骤成功。设置 "cppStandard": "c++17"VScode 中添加终端,执行roscore。编译: ctrl + shift + B。这里面可以只在原文件中添加。将下面代码代替原程序。

2023-08-20 21:18:05 107 1

原创 ROS尝试第一个小程序之hello world

先创建一个工作空间;再创建一个功能包;编辑源文件;编辑配置文件;编译并执行。

2023-08-19 23:27:13 70

原创 Ubuntu更改语言及输入法

注意要讲汉语拼音选中添加进输入源中。

2023-08-19 21:59:39 74

原创 Ubuntu16.0.4安装ros遇到的问题以及解决过程

首先强调的是安装过程中会遇到各种各样的问题所以一定要保持耐心,遇到问题一个个解决一定会成功的。

2023-08-18 18:25:01 97 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除