- 博客(27)
- 收藏
- 关注
原创 深入浅出SSD学习笔记(第一章-SSD综述)
1.SSD 是用固态电子存储芯片阵列制成的硬盘,主要部件为控制器和存储心片,内部构造十分简单。控制器、闪存和固件是 SSD的三大技术核心。当前 SSD 的存储介质主要是闪存,HDD 是以磁性存储介质来存储数据的。SSD 的出现打破了这一格局,它采用半导体作为存储介质。
2023-12-12 15:16:57
213
原创 大疆笔试题
(1)缓存和寄存器哪个比较快CPU <— > 寄存器<— > 缓存<— >内存(2)波特率是以什么为单位,比特率又是以为什么为单位1波特即指每秒传输1个码元符号(通过不同的调制方式,可以在一个码元符号上负载多个bit位信息),1比特每秒是指每秒传输1比特(bit)。用实际使用中,最常用的串口通讯协议举例,注意前置条件为:1 个起始位,8 个数据位,0 个校验位,1 个停止位,也就是我们常说的:8,N,1;8 个数据位,一个停止位,无校验位。
2023-08-06 15:18:40
445
原创 嵌入式程序员手撕代码
/12. ((((A)&0xff000000)>>24) | (((A)&0x000000ff)8) | (((A)&0x00ff)
2023-05-26 14:57:14
1162
原创 剑指offer(题记一)
深度优先遍历算法的核心部分是通过递归的方式依次访问每个邻接节点,由于递归本身就可以压栈和出栈,因此在实现时常常使用栈来记录访问过的节点。为了保证每个节点都只被访问一次,还需要应用一个标记数组来表示每个节点是否已经被访问了。深度优先遍历算法(dfs)
2023-04-28 20:38:06
131
原创 C/C++算法部分知识(数据结构笔记)
通过前序遍历和中序遍历重建二叉树。判断一棵二叉树是不是二叉排序树。求二叉树中结点的最大距离。判断两棵二叉树是否相同。
2023-04-27 16:42:16
149
原创 排序算法(笔记)
①直接插入排序:当插入第i(i>=1)个元素时,前面的array[0],array[1],...,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[i-2]的排序码顺序进行比较,找到插入位置,即将array[i]插入,原来位置上的元素顺序后移。如:10G的文件,切分成10个1G的文件,并且让10个1G的文件有序,一次读文件,每次读1G到内存中放到一个数组,用快排对其排序再写到一个文件,再继续读下一个1G的数据。递归深度太深,程序是没错的,但是栈的空间不够用。
2023-04-12 13:10:19
123
原创 队列(笔记)
重点:循环队列无论使用数组实现还是链表实现,都要多开一个空间,也就意味着要是一个存k个数据的循环队列,要开k+ 1个空间,否则无法实现判空和判满。①入数据,往不为空的队列入,保持另一个队列为空;②出数据的时候,依次出队头的数据,转移另一个队列保存。pop栈里没有数据,要从push栈里导过来,popST中的数据就符合先进先出了。队列:只允许在一端进行插入数据操作, 在另一端进行删除 数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)出队列:进行删除操作的一端称为队头。
2023-03-29 20:42:39
125
原创 TCP 三次握⼿异常情况实战分析(笔记)
由于服务端⼀直收不到 TCP 第三次握⼿的 ACK,则会⼀直重传 SYN、 ACK 包,直到重传次数超过tcp_synack_retries 值(默认值 5 次)后,服务端就会断开 TCP 连接。在客户端加上防⽕墙限制,直接把来⾃服务端的数据都丢弃。当客户端发起的 TCP 第⼀次握⼿ SYN 包,在超时时间内没收到服务端的ACK,就会在超时重传 SYN 数据包,每次超时重传的 RTO 是翻倍上涨的,直到 SYN 包的重传次数到达tcp_syn_retries 值后,客户端不再发送 SYN 包。
2023-03-28 14:20:36
264
原创 双向链表(笔记)
带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。1.支持随机访问,需要随机访问结构支持算法可以很好的适用。2.链表存储一个值,同时要存储链接指针,也有一定的消耗。无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等,另外这种结构在笔试面试中出现很多。(双向带头循环链表)
2023-03-24 20:19:49
242
原创 数据结构之单链表(笔记)
单链表尾插法//单链表尾插法//找到尾结点//从第一个结点开始=NULL)//找到最后一个结点//开辟一个新结点存放x的值//newnode存放完x的值后,作为最后一个结点,指向NULL//与链表连接//SList.h文件}SListNode;//SLDataType的作用等同于int,当数据的类型要变成char或者double时,只用把int换成char或者double}SLTNode;//输出链表中的数据//从第一个结点开始while(cur。
2023-03-22 15:38:50
540
原创 循环链表(笔记)
假设slow进环的时候,slow跟fast的距离是N,fast开始追slow,slow每往前走一步,fast往前走两步,每追一次,判断一下相遇,每追一次,fast和slow的距离变化:N,N-1,N-2,...0。用快慢指针slow和fast,slow和fast指向链表的开始,slow一次走一步,fast一次走两步。slow走一步,fast走两步,一定会相遇。假设:slow一次走一步,fast一次走三步,slow进环后,fast跟slow之间的距离为N,fast开始追slow,他们之间的距离变化如下。
2023-03-21 20:01:44
107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人