<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bm2023_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bm2023_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bm2023_]]></copyright><item><title><![CDATA[Catia软件快速入门]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/150867473</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/150867473</guid><author>bm2023_</author><pubDate>Tue, 26 Aug 2025 19:08:45 +0800</pubDate><description><![CDATA[CATIA零基础入门流程。熟悉课程的流程及学习计划。]]></description><category></category></item><item><title><![CDATA[带头双向循环链表-代码精简版]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/146182308</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/146182308</guid><author>bm2023_</author><pubDate>Tue, 11 Mar 2025 17:23:19 +0800</pubDate><description><![CDATA[nextprev。]]></description><category></category></item><item><title><![CDATA[单链表-代码精简版]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/146166235</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/146166235</guid><author>bm2023_</author><pubDate>Mon, 10 Mar 2025 22:56:12 +0800</pubDate><description><![CDATA[单链表是一种**动态存储的线性数据结构**，其特点是**逻辑上连续，物理上非连续**，每个节点包含**数据域**和指向下一个节点的**指针域**。- **优点**：动态内存分配，插入/删除时间复杂度为`O(1)`（已知位置时）[1](@ref)[16](@ref)。**逻辑**：将新节点插入到`pos`节点之后，时间复杂度为`O(1)`[24](@ref)[57](@ref)。**逻辑**：新节点的`next`指向原头节点，头指针更新为新节点[1](@ref)[24](@ref)。// 数据类型可自定义。]]></description><category></category></item><item><title><![CDATA[6. 归并排序]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/146027280</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/146027280</guid><author>bm2023_</author><pubDate>Tue, 04 Mar 2025 22:25:31 +0800</pubDate><description><![CDATA[基本思想： 归并排序（MERGE-SORT）是建立在归并操作上的一种有效的排序算法,该算法是采用分治法 （Divide and Conquer）的一个非常典型的应用。将已有序的子序列合并，得到完全有序的序 列；即先使每个子序列有序，再使子序列段间有序。若将两个有序表合并成一个有序表，称为二 路归并。]]></description><category></category></item><item><title><![CDATA[5. 快速排序]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/146027122</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/146027122</guid><author>bm2023_</author><pubDate>Tue, 04 Mar 2025 21:13:58 +0800</pubDate><description><![CDATA[快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法，其基本思想为：任取待排序 元素序列中的某元素作为基准值，按照该排序码将待排序集合分割成两子序列，左子序列中所有 元素均小于基准值，右子序列中所有元素均大于基准值，然后最左右子序列重复该过程，直到所 有元素都排列在相应位置上为止。]]></description><category></category></item><item><title><![CDATA[4. 冒泡排序]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145938731</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145938731</guid><author>bm2023_</author><pubDate>Fri, 28 Feb 2025 22:20:05 +0800</pubDate><description><![CDATA[【代码】4. 冒泡排序。]]></description><category></category></item><item><title><![CDATA[3. 选择排序]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145938024</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145938024</guid><author>bm2023_</author><pubDate>Fri, 28 Feb 2025 21:44:22 +0800</pubDate><description><![CDATA[每一次从待排序的数据元素中选出最小（或最大）的一个元素，存放在序列的起始位置，直到全部待排序的数据元素排完。]]></description><category></category></item><item><title><![CDATA[2.希尔排序（缩小增量排序）]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145932014</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145932014</guid><author>bm2023_</author><pubDate>Fri, 28 Feb 2025 20:24:25 +0800</pubDate><description><![CDATA[希尔排序法的基本思想是：先选定一个整数，把待排序文件中所有记录分成个组，所有距离未得记录分在同一组内，并对每一组内的记录进行排序。然后，取，重复上述分组和排序的工作。当达到1时，所有记录在统一组内排好序。]]></description><category></category></item><item><title><![CDATA[1.直接插入排序]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145917932</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145917932</guid><author>bm2023_</author><pubDate>Fri, 28 Feb 2025 04:53:48 +0800</pubDate><description><![CDATA[稳定性：假定在待排序的记录序列中，存在多个具有相同的关键字的记录，若经过排序，这些记录的相对次序保持不变，即在原序列中，r[i]=r[j], 且r[i] 在r[j]之前，而在排序后的序列中，r[i]仍在r[j]之前，则称这种排序算法是稳定的；直接插入排序是一种简单的插入排序法，其基本思想是：把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中，直到所有的记录插入完为止，得到一个新的有序序列。排序：所谓排序，就是使一串记录，按照其中某些关键字的大小，递增或递减的排列起来的操作。]]></description><category></category></item><item><title><![CDATA[数据结构之二叉树（二）]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145832858</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145832858</guid><author>bm2023_</author><pubDate>Tue, 25 Feb 2025 04:18:00 +0800</pubDate><description><![CDATA[1. 满二叉树：一个二叉树，如果每一个层的结点数都达到最大值，则这个二叉树就是满二叉树。也就是说，如果一个二叉树的层数为K，且节点总数是2^k-1，则它就是满二叉树。2. 完全二叉树：完全二叉树是效率很高的数据结构，完全二叉树是由满二叉树而引出来的。对于深度为k的，有n个结点的二叉树，当且仅当其每一个节点都与深度为k的满二叉树中编号从1至n的节点一一对应时称之为完全二叉树。要注意的是满二叉树是一种特殊的完全二叉树。]]></description><category></category></item><item><title><![CDATA[数据结构之二叉树的定义及实现 ]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145810243</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145810243</guid><author>bm2023_</author><pubDate>Sun, 23 Feb 2025 23:12:21 +0800</pubDate><description><![CDATA[主要的定义：节点的度：一个节点含有的子树的个数称为该节点的度；如上图：A的为6叶节点或终端节点：度为0的节点称为叶节点；如上图：B，C，H，I等节点为叶节点分支节点或非终端节点：度不为0的节点；如上图：D，E，F，G等节点为分支节点父节点或者双亲结点节点：若一个节点含有子节点，则这个节点成为其子节点的父节点子节点或孩子节点：一个节点含有的子树的根节点称为该节点的子节点兄弟节点：具有相同父节点的节点互称为兄弟节点树的度：一棵树中最大节点的度称为树的度。]]></description><category></category></item><item><title><![CDATA[数据结构之队列]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145732828</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145732828</guid><author>bm2023_</author><pubDate>Wed, 19 Feb 2025 17:19:34 +0800</pubDate><description><![CDATA[1.1 队列的概念队列：只允许在一段进行插入数据操作，在另一端进行删除数据操作的特殊线性表，队列具有先进先出FIFO(First In First Out)入队列：进行插入操作的一端称为队尾出队列：进行删除操作的一端称为队头1.2 队列的结构。]]></description><category></category></item><item><title><![CDATA[数据结构之栈]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145718319</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145718319</guid><author>bm2023_</author><pubDate>Wed, 19 Feb 2025 16:10:01 +0800</pubDate><description><![CDATA[栈：一种特殊的线性表，其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶，另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈：栈的插入操作叫做进栈/压栈/入栈，入数据在栈顶。出栈：栈的删除操作叫做出栈。出数据也在栈顶。]]></description><category></category></item><item><title><![CDATA[带头双向循环链表]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145682866</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145682866</guid><author>bm2023_</author><pubDate>Mon, 17 Feb 2025 23:39:23 +0800</pubDate><description><![CDATA[链表的分类实际中链表的结构非常多样，以下情况组合起来就有8种链表结构：怎么算出8种情况：每次两种情况，三次，所以是2*2*2=81. 单向或者双向2. 带头或者不带头3. 循环或者非循环虽然有这么多的链表的结构，但是我们实际中最常用还是两种结构：1. 无头单向非循环链表：结构简单，一般不会单独用来单独用来存数据。实际中更多是作为其他数据结构的子结构，如哈希表，图的邻接表等等。另外这种解构在笔试面试中出现很多。2. 带头双向循环链表：结构最复杂，一般用在单独存储数据。]]></description><category></category></item><item><title><![CDATA[单链表的概念，结构和优缺点]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145666245</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145666245</guid><author>bm2023_</author><pubDate>Mon, 17 Feb 2025 00:01:08 +0800</pubDate><description><![CDATA[数据域用来存储数据，指针域用来存储下一个结点的指针。单链表的头结点指向第一个结点，最后一个结点的指针域为空。链表是一种物理存储结构上非连续，非顺序的存储结构，数据元素的逻辑顺序是通过链表中的指针链接次序实现的。单链表是由一系列节点组成的线性结构，每个结点包含两个域。单链表的英文为:Single linked list --简写为SL。1. 插入和删除操作效率高（只需修改指针的指向）3. 链接信息的丢失 （无法访问前一个节点）2.12 单链表删除pos之后的值。2.11 单链表删除pos的值。]]></description><category></category></item><item><title><![CDATA[线性表之顺序表]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/145658361</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/145658361</guid><author>bm2023_</author><pubDate>Sun, 16 Feb 2025 04:36:21 +0800</pubDate><description><![CDATA[线性表是一种在实际中广泛使用的数据结构，常见的线性表：顺序表,链表，栈，队列，字符串。顺序表是要连续存放的，这个连续存放，不是指的是值连续，而是空间连续（意思是你存放的时候，不能挑着存，必须从0下标开始，依次向后存放）顺序表不能随意存储，顺序表必须从0下标开始，依次向后存放，意思就是它是顺序存储的，不会出现空一个位置的情况。动态顺序表：也是基于数组实现的，只不过它可以实现扩容，而数组是固定长度大小的。数组的元素是可以随机存放的，因为：数组通过下标访问是可以任意存储的。]]></description><category></category></item><item><title><![CDATA[C语言内存管理函数]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/144835364</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/144835364</guid><author>bm2023_</author><pubDate>Mon, 30 Dec 2024 22:12:11 +0800</pubDate><description><![CDATA[会请求操作系统分配一定量的内存。一般实现比较复杂，这里给出一个非常简化的版本。将指定的内存区域的每个字节设置为指定的值。是调整动态内存块的大小，通常会先调用。面试里会遇到让自己编写一个内存管理函数。用于复制源内存到目标内存。处理重叠内存区域的复制。用于释放先前分配的内存。比较两个内存块的内容。]]></description><category></category></item><item><title><![CDATA[获得一个干净的PX4 `v1.8.0` 版本]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/138053501</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/138053501</guid><author>bm2023_</author><pubDate>Mon, 22 Apr 2024 03:08:12 +0800</pubDate><description><![CDATA[2. **清理未跟踪的文件和目录**： 为了删除所有未跟踪的文件和目录，如 `ROMFS/px4fmu_common/init.d-posix/` 和 `src/modules/px4_simulink_app/`，运行： ```shell git clean -fd ``` `-f` 选项是强制执行， `-d` 表明除了删除未跟踪的文件外，还要删除未跟踪的目录。通过运行 `git status` 检查仓库状态，确保它显示为“干净”的，也就是没有未跟踪的文件或未提交的更改。]]></description><category></category></item><item><title><![CDATA[C语言-结构体]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/136093940</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/136093940</guid><author>bm2023_</author><pubDate>Sun, 11 Feb 2024 03:11:08 +0800</pubDate><description><![CDATA[要访问结构体成员，我们需要引入一个新的运算符号 —点号（.）运算符。比如book.title就是引用book结构体的title成员，他是一个字符数组；而book.price则是引用book结构体的price成员，它是一个浮点型的变量。其语法和数组指定初始化元素类似，不过结构体指定初始化成员使用点好（.）运算符和成员名。struct 结构体名称 数组名[长度]；struct 结构体名称 结构体变量名。struct 结构体名称。struct 结构体名称。struct 结构体名称。（*结构体指针）.成员名。]]></description><category></category></item><item><title><![CDATA[C语言-高级宏定义]]></title><link>https://blog.youkuaiyun.com/bm2023_/article/details/136088213</link><guid>https://blog.youkuaiyun.com/bm2023_/article/details/136088213</guid><author>bm2023_</author><pubDate>Sun, 11 Feb 2024 02:08:17 +0800</pubDate><description><![CDATA[内联函数虽然节省了函数调用的时间消耗，但由于每一个函数出现的地方都要进行替换，因此增加了代码编译的时间。宏定义只是简单地进行替换，并且由于预处理是在编译之前进行，而编译工作的任务之一就是语法检查，所以编译器不会对宏定义进行语法检查。在带参数的宏定义中，#运算后面应该跟一个参数，预处理器会把这个参数转换为一个字符串。现在的编译器也很聪明，就算你不写inline，他也会自动将一些函数优化成内联函数。其中...表示使用可变参数，_VA_ARGS_在预处理中被实际的参数集所替换。宏定义不需要定义参数类型。]]></description><category></category></item></channel></rss>