自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AI复试面试可能问到的问题总结II

或者学过什么人工智能相关课程没有,对人工智能有什么看法人工智能(Artificial Intelligence),AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理等。人工智能可以对人的意识、思维的信息过程的模拟。

2024-03-10 16:39:43 2820

原创 复试人工智能前沿概念总结

GPT,全称为Generative Pre-training Transformer,是OpenAI开发的一种基于Transformer的大规模自然语言生成模型。GPT模型采用了自监督学习的方式,首先在大量的无标签文本数据上进行预训练,然后在特定任务的数据上进行微调。GPT模型的主要结构是一个多层的Transformer解码器,但是它只使用了Transformer解码器的部分,没有使用编码器-解码器的结构。

2024-03-08 20:50:09 1426 1

原创 动态规划基础

2.确定递推公式。

2023-12-17 15:33:11 1082

原创 C语言基础程序设计题

应纳税款的计算公式如下:收入=收入>1000元的部分税率为5%,3000元>=收入>2000元的部分税率为10%,6000元>=收入>3000元的部分税率为15%,收入>6000元的部分税率为20%。2)编写排序函数,使用数组名做函数参数,实现对该成绩的排序。8. 用循环的方法构造一个5行5列的二维数组,使主对角线上的变量为1,其它为0,并将数组中所有项按行按列显示出来。21. 输入m,k的值,编程求下面表达式的值:(要求编写一个求阶乘的函数,调用函数实现本题)。

2023-11-27 17:24:02 1797

原创 第八章 排序(下)【外部排序】

可以⽤⼀⽚更⼤的内存区域来进⾏内 部排序,⽤于内部排序的内存⼯作区WA 可容纳 l个记录,则每个 初始归并段也只能包含l 个记录,若⽂件共有n 个记录, 则初始归并段的数量 r = n/l。可视为⼀棵完全⼆叉树(多了⼀个头头)。② 对这些归并段进行 S 趟 k 路归并,使归并段(有序子文件)逐渐由小到大,直至得到整个有序文件为止,(其中需要在内存中分配k个输入缓冲区和1个输出缓冲区,⽣成初始归并段的“内存⼯作区”越⼤,初始归并段越⻓,若能增加初始归并段的⻓度,则可减少初始归并段数量 r。

2023-11-26 01:42:56 1274

原创 第八章 排序(中)【归并,基数,计数,桶排序】

算法种类最好时间复杂度最坏时间复杂度平均时间复杂度空间复杂度稳定性直接插入排序稳定冒泡排序稳定简单选择排序不稳定希尔排序不稳定快速排序不稳定堆排序不稳定2路归并排序稳定基数排序稳定。

2023-11-25 22:43:21 1150

原创 第八章 排序(上)【基本概念和交换插入选择排序】

排序(Sort),就是按重新排列表中的元素,使表中的元素满⾜按有序的过程。

2023-11-25 02:26:43 965

原创 第七章 查找(下)【散列查找及其性能分析】

采⽤“开放定址法”时,删除元素不能简单地将被删元素的空间置为空,否则将截断在它之后的探 测路径,可以做⼀个“已删除”标记,进⾏逻辑删除。Step 2:若关键字不匹配,则根据“探测序列”对⽐下⼀个地址的关键字,直到“查找成功”或“查 找失败”注:有的教材会把“空指针的对⽐”也计⼊查找⻓度。构造更适合的散列函数,让各个关键字尽可能地映射 到不同的存储位置,从⽽减少“冲突”思路:需确定⼀个“探测的顺序”,从初始散列地址出发,去寻找下⼀个空闲位置。Step 3:若“查找成功”,则删除找到的元素。

2023-11-24 15:33:25 1318

原创 第七章 查找(中)【BST,AVL,红黑树,B树B+树】

平衡二叉树(Balanced Binary Tree),简称平衡树(AVL树,G. M. Adelson-Velsky和E. M. Landis))——树上任一结点的左子树和右子树的高度之差不超过1。结点的平衡因子=左子树高-右子树高。平衡二叉树结点的平衡因子的值只可能是−1、0或1只要有任一结点的平衡因子绝对值大于1,就不是平衡二叉树。

2023-11-23 23:16:51 1268

原创 第七章 查找(上)【基本概念,顺序,折半查找】

首先将给定值key与表中中间位置的元素(mid的指向元素)比较。原因:最终low左边⼀定⼩于⽬标关键字,high右边⼀定⼤于⽬标关键字。**适用范围:**折半查找,⼜称“⼆分查找”,仅适⽤于有序的顺序表。设索引查找和块内查找的平均查找⻓度分别为LI、LS,则分块查找的平均查找⻓度为。(返回最终的left,对应的元素大于等于关键字)分块查找又称“索引顺序查找”,数据分块存储,块内无序、块间有序。①在索引表中确定待查记录所属的分块(可顺序、可折半)若使用折半查找且索引表中不包含⽬标关键字,则。

2023-11-23 19:26:32 990

原创 生日礼物——华为机考真题

小牛的孩子生日快要到了,他打算给孩子买蛋糕和小礼物,蛋糕和小礼物各买一个, 他的预算不超过x元。第 2 种方案: cake [0]+gift [1]= 10 + 5= 15;第 3 种方案: cake [0]+ gift[2]= 10 + 2=12;第 4 种方案: cake [2]+ gift |0]= 5 +5= 10;第 5 种方案: cake [2]+gift [1]=5 + 5= 10;第 6 种方案 cake [2] +gift [2]=5+2=7.输出 数字表示购买方室的总数。

2023-11-23 12:57:44 204

原创 第六章 图(下)【图的应用,重难点】

2. 第1轮:循环遍历所有结点,找到还没确定最短 路径,且dist 最⼩的顶点Vi,令final[i]=ture,检查所有邻接⾃ Vi 的顶点,若其 final 值为false, 则更新 dist 和 path 信息。③依此尝试允许经过v1,v2,...,vk顶点中转,并不断更新最短路径,,直到允许v(n-1)顶点都经过中转,方阵 [i][j] = Min{[i][j] , [i][k]+[k][j]}[i][j]表示从顶点vi到vj的长度,k表示绕行第k个顶点的运算步骤,利用。

2023-11-20 15:27:27 149

原创 第六章 图(中)【图的基本操作和遍历】

• NextNeighbor(G,x,y):假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一 个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1。• RemoveEdge(G,x,y):若无向边(x, y)或有向边存在,则从图G中删除该边。• AddEdge(G,x,y):若无向边(x, y)或有向边不存在,则向图G中添加该边。• Adjacent(G,x,y):判断图G是否存在边或(x, y)。• Neighbors(G,x):列出图G中与结点x邻接的边。

2023-11-19 11:32:33 218

原创 第六章 图(上)【图的基本概念和存储】

图的邻接矩阵(Adjacency Matrix) 存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。只要确定了顶 点编号,图的 邻接矩阵表示 方式唯一第i个结点的度 = 第i行(或第j列)的非零元素个数;第i行的非零元素个数;有向图的入度:第 i列的非零元素个数。第i行的非零元素个数+ 第 i列的非零元素个数。2.1.2 邻接矩阵法代码实现#define MaxVertexNum 100 //顶点数目的最大值。

2023-11-18 22:25:41 368

原创 第五章 树和二叉树(下)【哈夫曼树、并查集】

结点的权:有某种现实含义的数值(如:表示结点的重要性等)结点的带权路径长度:从树的根到该结点的路径长度(经过的边数)与该结点上权值的乘积。树的带权路径长度:树中所有叶结点的带权路径长度之和 (WPL,Weighted Path Length)。在含有n个带权叶结点的二叉树中,其中带权路径长度(WPL) 最小的二叉树,也称最优二叉树。

2023-11-18 15:46:37 173

原创 第五章 树和二叉树(中)【线索二叉树、树和森林】

n 个结点的二叉树,有 n+1 个空链域,可用来记录前驱、后继的信息。指向前驱、后继的指针被称为“线索”,形成的二叉树被称为线索二叉树。

2023-11-18 13:28:02 193

原创 第五章 树和二叉树(上)【基本概念性质和二叉树遍历】

二叉树是n (n>=0)个结点的有限集合或者为空二叉树,即n =0。或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一棵二叉树。每个结点至多只有两棵子树左右子树不能颠倒 (二叉树是有序树)二叉树可以是空集合,根可以有空的左子树和空的右子树注意区别:度 为2的有序树(至少有一个结点度为2)二叉树的五种状态。

2023-11-17 22:35:16 290

原创 第四章 串和广义表【24王道数据结构笔记】

其中,S是串名,单引号括起来的字符序列是串的值;a;可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n =0时的串称为空串。

2023-11-17 00:36:40 640

原创 第三章 栈和队列【24王道数据结构笔记】

断一个栈 S 是否为空,若 S 为空,则返回 true,否则返回 false。若栈 S 非空,则弹出(删除)栈顶元素,并用 x 返回。若栈 S 未满,则将 x 加入使其成为新的栈顶元素。判队列空,若队列Q为空返回true,否则返回false。若栈 S 非空,则用 x 返回栈顶元素。入队,若队列Q未满,则将x加入使之成为新的队尾。出队,若队列Q非空,则删除队头元素,并用x返回。读队头元素,若队列Q非空则用x返回队头元素。销毁队列,并释放队列Q占用的内存空间。初始化队列,构造一个空队列Q。

2023-11-16 01:25:29 331

原创 数据库基础面试——优化问题

目前,大部分的主流关系型数据库都提供了主从复制的功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库的这一功能,实现数据库的读写分离,从而改善数据库的负载压力。一个系统的读操作远远多于写操作,因此写操作发向master,读操作发向slaves进行操作(简单的轮循算法来决定使用哪个slave)。应尽量避免全表扫描,首先考虑where及order by,group by涉及的列上建立索引。2、 优化SQL语句。3、 优化数据库对象。

2023-11-07 15:54:28 208

原创 腾讯二面——程序崩溃问题连问

1)ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。(2)EBP:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部。(3)pc指针寄存器,也叫做程序计数器,它永远指向当前指令的下一条指令。函数栈帧:ESP和EBP之间的内存空间为当前栈帧,EBP标识了当前栈帧的底部,ESP标识了当前栈帧的顶部。

2023-11-07 03:11:44 140

原创 数据库基础面试——索引

优点创建索引可以提高系统的性能,具体体现在以下几个方面:(1)通过创建唯一索引时,可以确保每一行数据的唯一性(2)当创建索引后,可以大大提高检索的速度,同时在分组和对数据排序后使用索引,可以减少排序和分组的时间(3)在表和表之间连接时,在保证数据的完整性有很大作用, 另外通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能缺点(1)创建索引和维护索引需要耗费许多时间。插入、更新和删除操作需要维护索引,可能会影响性能。

2023-11-05 23:37:52 574 1

原创 C++面试连环问-STL

算法(Algorithms):各种常用算法如Sort,Search,Copy,Erase,从实现的角度来看,STL算法是一种Function Templates。迭代器(Iterators):扮演容器与算法之间的胶合剂,是所谓的“泛型指针”,共有五种类型,以及其它衍生变化,从实现的角度来看,所有STL容器都附带有自己专属的迭代器。迭代器不是指针,是一种将:Operators*,Operator->,Operator++,Operator--等相关操作予以重载的Class Template,表现的像指针。

2023-11-05 17:39:18 388

原创 ​C++内存模型

3、全局/静态存储区(static)—,全局变量和静态变量的存储是放在一块的,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域(.bss段),存储了未初始化的全局变量、全局静态变量以及上面提到过的不是内置数据类型的全局常量(例如:const string name = "JIM";2.1)通过内存(指针)可以修改位于栈区的const volatile变量,语法合乎规定,编译运行不会报错,在编译的时候所有用到该常量的地方不会替换成了定义时所赋予的值,在运行的时候可以使用通过指针修改后的值。

2023-11-04 19:46:12 176

原创 C++虚表与虚表指针详解

每个包含了虚函数的类都包含一个虚表。当一个类(B)继承另一个类(A)时,类B会继承类A的函数的调用权。所以如果一个基类包含了虚函数,那么其继承类也可调用这些虚函数,换句话说,一个类继承了包含虚函数的基类,那么这个类也拥有自己的虚表。来看以下的代码。类A包含虚函数vfunc1,vfunc2,由于类A包含虚函数,故类A拥有一个虚表。类A的虚表如图1所示。虚表是一个指针数组,其元素是虚函数的指针,每个元素对应一个虚函数的函数指针。

2023-11-04 17:29:07 1120

原创 串口通信——UART详解

调试时总是会遇到各种各样的接口,串口,UART,USB,COM,TTL,通信协议,数据帧,波特率,各种各样的转换板,似懂非懂,在此对UART调试碰到的相关概念做一个梳理。

2023-10-31 10:39:38 18051 3

原创 GD32硬件I2C外设详解

I2C总线是PHLIPS公司推出的一种双线式半双工串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线。用于连接微控器及外围设备。I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。通用的I2C总线,可以使各种设备的通信标准统一,对于厂家来说,使用成熟的方案可以缩短芯片设计周期、提高稳定性,对于应用者来说,使用通用的通信协议可以避免学习各种各样的自定义协议,降低了学习和应用的难度;

2023-10-31 10:38:16 1626

原创 C++面试——多线程详解

C++11提供了语言层面上的多线程,包含在头文件<thread>中。它解决了跨平台的问题,提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。

2023-10-30 20:48:08 610

原创 CAN协议详解

CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。是一种串行的总线,并且这种差分总线只传递数据信息。随着车用电气设备增加,对应的电气节点剧增(高档车节点有上千之多),一般的需要的线束太多。需要减少线束,支持更多节点的协议。

2023-10-28 16:30:00 1053

原创 L99SM81V

TMicroelectronics L99SM81V可编程步进电机驱动器是用于双相双极步进电机的汽车级集成式驱动器,可实现电流控制的微步进,具有可编程幅度。这些L99SM81V电机驱动器具有可编程步进和衰减模式、集成ADC、PWM频率摆动、5V稳压器、集成串行外设接口 (SPI)、过热报警及关断特性。L99SM81V可编程步进电机驱动器包含一个集成ADC,用于线圈电压测量和失速检测。这些L99SM81V电机驱动器通过集成PWM控制来调节电流,并具有完全集成的电流检测功能。

2023-10-28 16:23:26 211

原创 嵌入式软件开发工程师应该关注芯片数据手册中的哪些信息

8. 芯片的安全和保护机制:了解芯片的安全和保护机制可以帮助开发人员设计合适的安全和保护措施,以保护系统的安全和稳定性。7. 芯片的性能和功耗:了解芯片的性能和功耗可以帮助开发人员优化代码和设计电路,以提高系统的性能和降低功耗。3. 芯片的存储器类型和容量:了解芯片的存储器类型和容量可以帮助开发人员选择合适的存储器和存储器接口。4. 芯片的外设和接口:了解芯片的外设和接口可以帮助开发人员设计合适的外设和接口电路。5. 芯片的指令集和寄存器:了解芯片的指令集和寄存器可以帮助开发人员编写高效的代码。

2023-10-28 11:09:35 923

原创 华为校招第三题 找最小数

比较a和b的大小,是从最高位开始进行比较的。逐个数字入栈,当发现当前入栈元素<栈顶元素s.top()的时候,就s.pop(),维护栈的单调递增性。这样就可以保证,结果的最高位最小,并以此递增。当所有元素都进行过栈的处理之后,如果结果stack中的元素比要保留的长度要长的话,则把栈顶元素pop掉。不用初始化一个栈,而是直接用string来实现栈的功能:维护单调上升的序列。移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。

2023-10-27 02:21:54 329

原创 C++八股文面经

面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将数据和操作数据的方法组合成一个对象,以此来描述现实世界中的事物和概念。在面向对象编程中,程序被组织成一个个对象,每个对象都有自己的属性和方法,对象之间通过消息传递来进行通信和协作。与面向过程编程相比,面向对象编程更加注重数据的封装和抽象,使得程序更加易于维护和扩展。面向过程编程则更加注重流程和算法的设计,程序的执行过程是由一系列的函数调用和数据传递组成的。

2023-10-26 21:46:44 309

原创 嵌入式面试2(c相关)

变量声明只是变量的说明,在程序中不需要为其分配内存空间;而变量定义是为变量分配内存空间并初始化bss段:未初始化或初始化未0的全局变量和静态变量,具体体现为 一个占位符,不占用.exe文件空间,其内容由操作系统初始化/清零静态局部变量和局部变量的区别在于它们的生命周期和作用域不同。静态局部变量在函数内部定义,但是它们的生命周期是整个程序运行期间,而不是函数调用期间。而局部变量的生命周期只在函数调用期间存在。当局部变量未定义时,每次初始化的结果是不确定的。

2023-10-26 20:56:06 452

原创 嵌入式面经

中断嵌套是指在一个中断服务程序(ISR)执行期间,另一个中断发生并触发了相应的中断服务程序的执行。当一个中断正在处理时,如果有更高优先级的中断发生,系统将暂停当前中断的处理,转而去处理更高优先级的中断,这就是中断嵌套。在STM32微控制器中,中断嵌套是通过抢占优先级和子优先级来实现的。当一个中断正在执行时,如果有更高抢占优先级的中断请求发生,系统会立即中断当前中断的执行,并开始处理更高优先级的中断。如果多个中断具有相同的抢占优先级,那么子优先级将决定它们的执行顺序。

2023-10-26 18:49:27 180

原创 跳房子 I

假设房子的总格数是 count,小红每回合可能连续跳的步教都放在数组stepS 中,请问数组中是否有一种步数的组合,可以让小红两个回合跳到量后一格?跳房子,也叫跳飞机,是一种世界性的儿童游戏。跳房子的过程中,可以向前跳,也可以向后跳。提供的数据保证存在满足题目要求的组合,且索引和最小的步数组合是唯一的。第二行输入为每回合可能连续跳的步数,它是 int 整数数组类型。数组中的步数可以重复,但数组中的元素不能重复使用。如果有,请输出索引和最小的步数组合。

2023-10-25 17:19:29 131

原创 最长连续交替方波信号

输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出,如果有相同长度的交替方波信号,输出任一即可,方波信号高位用1标识,低位用0标识。第一个信号虽然有交替的方波信号段,但出现了11部分的连续高位,不算完全连续交替方波,在剩下的连续方波信号串中 01010最长。输入信号串中有三个信号:0010101010110(第一个信号段)00 01010(第二个信号段)010(第三个信号段)若不存在完全连续交替方波信号串,输出-1。注:输入总是合法的,不用考虑异常情况。

2023-10-25 17:13:16 177

原创 滑动窗口模板与实践详解

本篇主要总结关于滑动窗口的相关做题技巧与想关例题。理论部分不会涉及。

2023-10-24 11:11:33 462

原创 字节面试题——数据库, linux

的记录考察where考察聚合函数where和having的区别-一个数据库sq|查询重复个数在学生。sq|语句取-一个月内的id分组取-一个年级中每个班级年龄最小的同学名字成绩表输出前三名的。成绩表中查询平均分不及格(低于60 )的学生id及平均分查询总成绩最高的人的姓名user表。成绩,后三名呢拷贝A表的数据到B表查询每1 ]科目都大于80分的学生名字筛选出每个小时。13.数据库有几种表之间的连接形式(左连接,右连接,内连接,完全连接)6.主键、外键、索引的各自的含义以及区别。mysq|的日志怎么查询。

2023-10-23 15:06:11 315

原创 字节面试题——计算机网络,附答案

我们把应用层交互的数据单元称为报文。应用层协议定义了网络通信规则,对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如支持 Web 应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。应用层有哪些常见的协议?

2023-10-20 20:36:09 554

24wd数据结构树部分缺失的视频

24wd数据结构树部分缺失的视频

2023-07-04

24wd数据结构栈部分缺失的视频

24wd数据结构栈部分缺失的视频

2023-07-04

24wd数据结构图部分缺失的视频

24wd数据结构图部分缺失的视频

2023-07-04

24数据结构课件.zip

王道24数据结构课件

2023-07-04

空空如也

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

TA关注的人

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