自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vector和deque的区别

总之,deque更适合那些对两端插入删除有较高要求的应用,而vector在对内存连续性、中间元素操作和随机访问速度有更高需求时更为合适。

2024-04-03 10:57:28 408

原创 从C++源代码到可执行文件?

通过以上四个步骤,C++源代码被转换成了可以在目标计算机平台上运行的可执行文件。

2024-03-19 21:18:12 316

原创 串行通信——CAN通信问答

本文通过几个问题来对CAN总线进行介绍,并通过应用示例来让读者进一步了解CAN总线。

2024-03-19 18:56:18 785

原创 串行通信——IIC和SPI应用场景区别

在具体设计和选择时,还需要根据项目需求、系统拓扑、设备特性、功耗限制等因素综合考虑。

2024-03-16 20:33:31 842

原创 串行通信——SPI总结

MISO简称主入从出信号线:主设备数据输入,从设备数据输出;MOSI简称主出从入信号线:主设备数据输出,从设备数据输入;SCLK串行时钟:为 SPI 通信提供时钟;时钟信号,由主设备产生;CS/SS(Chip Select/Slave Select)为片选信号线:为 SPI 通信提供时钟;从设备使能信号,由主设备控制,一主多从时,CS/SS是从芯片是否被主芯片选中的控制信号,只有片选信号为预先规定的使能信号时(高电位或低电位),主芯片对此从芯片的操作才有效。

2024-03-16 19:12:15 1879

原创 串行通信——IIC总结

(Inter-Integrated Circuit)也称I2C,中文叫。是一个的总线,由飞利浦公司发明的通讯总线,属于传输类总线,,一条,另外一条,IIC总线要求每个设备SCL/SDA线都是漏极开路模式,因此必须带上拉电阻才能正常工作。I2C协议占用引脚少,硬件实现简单,可扩展性强,I2C数据传输速率有标准模式(100kbps)、快速模式(400kbps)和高速模式(3.4Mbps)。。IIC将;,每个SCL脉冲的高电平传递1位数据。

2024-03-15 14:06:06 2307

原创 串行通信——UART总结

UART是异步,全双工串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收。UART的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置。UART全称是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),它通常称作UART,是一种异步收发传输器, 是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;

2024-03-15 13:23:17 1177

原创 C++容器——unordered_map浅谈

哈希表通过一个哈希函数将键转换为数组的索引,然后在对应的桶(buckets)中存储元素。当多个键映射到相同的哈希值时,通常采用链地址法解决冲突,即在每个桶内使用链表存储多个元素。:C++ 标准库中的另一种关联容器,同样以键值对的形式存储元素,但其底层实现是红黑树,因此它保持了键的排序顺序,查找、插入和删除操作的平均时间复杂度为 O(log n)。是一个高效的无序键值对容器,适合于不需要维持键的顺序且重视查找速度的应用场景。的变体,允许键有重复,并且对应多个值。中,每个键都只能对应一个值。

2024-03-13 22:59:48 402

原创 C++容器——unordered_set浅谈

中的元素)映射到一个固定大小数组的不同桶(buckets)中的数据结构。每个桶可以包含多个元素,当两个或更多的元素散列到同一个桶时,通常使用链表或其他冲突解决策略来存储这些元素。在查找、插入和删除操作时,首先计算元素的哈希值,然后直接定位到对应的桶进行操作。在 C++ 标准库中是基于哈希表(Hash Table)的数据结构实现的。哈希表是一种通过散列函数将键(在这里是。是为了提供快速的无序唯一元素集合操作而设计的容器,在不需要维持元素顺序且重视效率的情况下是一个很好的选择。

2024-03-12 22:53:39 373

原创 Freertos与linux系统的区别?

基于宏内核架构,拥有丰富的内核服务,如文件系统、网络协议栈、设备驱动、内存管理、进程间通信(IPC)机制等。Linux采用完全抢占式的调度策略,在支持多任务的同时,还支持多用户环境,保证了系统的稳定性和安全性。:拥有庞大的开源社区和极其丰富的软件包,涵盖了从底层驱动程序到高层应用的所有层面,包括但不限于数据库、Web服务器、开发框架、多媒体处理等各种软件资源。:具备完善的安全机制,包括用户权限控制、访问控制列表(ACL)、SELinux等,能有效保障系统和数据的安全。

2024-03-12 13:59:39 841 1

原创 C++中malloc/free,new/delete区别?

是 C++ 中用于动态内存分配和释放的关键字。是来自 C 语言的内存管理函数,而。

2024-03-12 11:22:06 322 1

原创 进程间通信的方式及原理

进程间通信(Inter-Process Communication, IPC)是指在多进程环境下,操作系统提供的一种机制,使得不同进程之间能够交换信息或同步它们的执行。由于每个进程都有自己的独立地址空间,并且操作系统为了保证进程的隔离性,一个进程无法直接访问另一个进程的数据,因此需要通过内核支持的特定方式进行数据交互。: 管道是一种半双工的通信方式,它创建了一个连接两个进程的单向数据通道。通过网络协议栈,进程可以利用套接字在不同的主机间或同一主机上的不同进程中进行双向、全双工的数据交换。

2024-03-11 21:50:24 698

原创 字符串匹配——KMP算法

而KMP算法通过预处理模式串并构建一个前缀函数或Next数组,记录了模式串中每一个前缀与后缀的最大相同前缀长度,这样在失配时无需回溯整个模式串,而是利用这个已知信息直接移动模式串指针至适当的位置继续匹配,从而极大地提高了匹配效率。举个例子,对于字符串 "abcaba",在索引为5的位置时,前缀是 "abcaba",后缀是 "ba",它们的公共部分是 "a",所以这个位置的最长相同前后缀长度就是1。这里的“相同前后缀”指的是同一个子串既是该位置之前的某个子串的后缀,也是它自己的前缀。正确的Next数组应为。

2024-03-09 12:00:43 964 1

原创 双指针算法总结

双指针算法是一种高效的编程技巧,通常用于解决线性数据结构(如数组、链表)中的特定问题。这种算法的核心思想是利用两个或多个指针在数据结构中按不同策略移动,并通过它们的相对位置和指向的数据关系来解决问题。

2024-03-04 20:47:34 362

原创 贪心算法总结

贪心算法(Greedy Algorithm)是一种在每一步选择中都采取当前状态下最好或最优(即最有利)的选项来求解问题的方法。它在解决某些优化问题时,总是做出局部最优决策,并假定这些局部最优的选择能够导致全局最优解或接近全局最优解的结果。

2024-02-26 20:45:59 343 1

原创 系统中断的分类及处理流程

系统中断在计算机体系结构中是一个关键概念,它用来处理来自硬件设备的信号、错误条件或其他需要CPU立即关注的事件。中断可以分为两大类:硬件中断和软件中断。

2024-02-25 12:07:10 510 1

原创 C++容器vector的操作总结

C++ 中 容器的操作总结如下:定义空向量: 初始化为一组值: 指定大小并初始化: 插入元素 尾部插入: 任意位置插入: 访问元素 通过下标访问: 迭代器访问: 或使用 C++11 及以后版本的范围基础 for 循环: 删除元素 删除尾部元素: 删除特定元素或范围: 大小和容量操作 获取元素数量: 检查是否为空: 获取最大可能容量: 更改容器大小:

2024-02-25 11:42:33 800 1

原创 unordered_map的基本操作

类型是一个关联容器,它通过哈希表实现,提供了快速的键值对(key-value pair)插入、查找和删除操作。基本操作的一部分,实际使用中可能还会涉及到构造函数、比较函数、哈希函数等相关操作。函数返回一个迭代器指向所查找键对应的元素,如果找不到,则返回 end()。函数返回给定键出现的次数(由于是键值对,所以通常是0或1)。

2024-02-24 16:27:56 486

原创 怎么统计一个数组中每个元素的数量?

或其他动态容器,以便处理不同大小的数据。上述示例展示了如何对整型数组进行统计,其中方法一是最通用且适应性最强的方式。在实际应用中,通常数组会存储为。

2024-02-24 13:01:49 896

原创 操作系统-系统调用

总之,系统调用是操作系统为上层应用提供的标准API接口,允许用户程序以一种受控且安全的方式执行低级操作,同时保证了系统的稳定性和安全性。是操作系统内核提供给用户程序的一组预先定义好的接口函数,它是用户态进程与操作系统内核交互的主要方式。通过系统调用,应用程序可以请求操作系统提供的服务和资源,如访问硬件设备、管理文件系统、创建或销毁进程等。动态分配内存时,它们最终会调用到操作系统提供的内存管理相关的系统调用,如在POSIX系统中的。,可以安排一段时间后触发信号,这背后也是由内核实现的定时器系统调用支持。

2024-02-22 12:38:58 350 1

原创 操作系统的基本功能

操作系统具有以下基本功能:进程管理(Process Management):内存管理(Memory Management):文件系统管理(File System Management):设备管理(Device Management):作业管理(Job Management or Batch Processing):安全性和保护机制(Security and Protection):网络管理(Network Management):

2024-02-21 21:00:30 326

原创 操作系统的基本特征

计算机操作系统具有以下基本特征:并发性(Concurrency):共享性(Sharing):虚拟性(Virtualization):异步性(Asynchronism):

2024-02-21 20:53:25 468

原创 C++中容器总结

等头文件中,并且都提供了丰富的操作接口,如插入、删除、查找、迭代等。

2024-02-14 13:17:39 307 1

原创 回溯算法总结

当发现当前路径不再满足问题约束,即进入“死胡同”时,算法不会继续沿着这条路径深入,而是“回溯”至最近的决策点,撤销先前的选择,尝试下一个可能的方向。回溯算法常用于解决如八皇后问题、数独、旅行商问题(TSP)、背包问题、N皇后问题等多种复杂问题,在这些问题中,解空间很大,且每一步决策都受到限制,只有符合一定条件的决策才是合法的。1.定义解空间:确定问题的解的可能范围或形式,构成一棵或多棵树状结构,其中的每个节点代表一个可能的解的部分状态。2.初始化:设定一个起始状态或一个初始解构架。

2024-02-14 12:36:27 319 1

原创 递归算法总结

当输入的 n 等于 0 或 1 时,函数返回 1,这是递归的基本情况。否则,函数继续调用自身,将问题规模逐渐缩小,直到满足基本情况,然后逐层返回结果,最终计算出输入整数的阶乘。(Recursive Case):在递归情况中,函数或过程将大问题分解为一个或多个与原问题相同或相似的较小规模的问题。(Base Case):这是递归过程的终止条件,是最简单的情形,可以直接得出答案,不需要进一步递归调用。std::cout << "该数的阶乘为: " << result << std::endl;

2024-02-12 13:29:39 348 1

原创 Lamda表达式和函数的区别

Lambda表达式和常规函数在C++中具有相似的目的——定义可执行的代码块,但它们之间有明显的区别:1.定义方式和匿名性:函数(Function):在C++中,函数是以明确的函数声明和定义的形式存在的,必须具有名称,可以在全局作用域、命名空间内或类内部定义。Lambda表达式(Lambda Expression):是一种匿名函数,没有固定的名字,而是通过[]、()和{}等符号现场定义并创建,可以直接在代码中嵌入使用。2.作用域和捕获机制:

2024-01-26 19:28:31 444 1

原创 计数排序总结

2.排序过程:给定一个待排序数组nums,定义一个计数的数组count(元素数为nums中的最大值,且将所有元素都置为0,),遍历nums中的每个元素,让count[num]++,这样count中每个不为0元素的下标即为nums中对应的元素值。此时output就是已经经过排序后的数组了可以使用copy(output.begin(),output.end(),nums.begin())将output的内容复制给nums。3.核心步骤:定义一个额外数组,将该数组的下标值和原数组的元素值对应起来。

2024-01-26 18:20:13 353 1

原创 二分查找总结

目标值 < mid,right = mid - 1;目标值 > mid,left = mid + 1。(即while(left <= right))(1)数组下标值不能超过越界。时间复杂度为logn。(2)是否有重复元素。

2024-01-26 18:19:11 300 1

原创 深度学习和强化学习

学习笔记。

2022-08-25 23:11:12 7387

空空如也

空空如也

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

TA关注的人

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