- 博客(52)
- 收藏
- 关注
原创 排序算法复习
把一个无序数组 {16, 1, 45, 23, 99, 2, 18, 67, 42, 10} 最终变得有序 {1, 2, 10, 16, 18, 23, 42, 45, 67, 99},只需要从前向后遍历数组中的每个元素,再为每个元素找到合适的位置就可以了。接着看 10,10 比 2 大但比 16 小,所以 10 插入到 16 之前,16、18、23、42、45、67、99 依次后移,数组 arr 目前的情形是:{1, 2, 10, 16, 18, 23, 42, 45, 67, 99}。
2025-03-27 10:57:06
667
原创 二叉搜索树以及彻底理解递归
通过代码我们可知10<15,因此会递归调用Insert函数,此时root->left的地址是NULL(0);root 为空所以我们调用了GetNewNode 函数,申请了堆空间地址为200,并返回给newnode。在调用insert函数,插入值为10的节点,此时root的地址是200,也就如图所示。由于root此时==NULL 所以Insert函数接着调用getnewnode函数。堆空间和栈空间,首先当我们刚进入main函数时,堆空间和栈空间如下。当我们执行第一行和第二行代码时,栈空间如图。
2025-03-23 11:08:15
227
原创 2019年考研数据结构真题42题
由条件2 ,入队时,允许增加队列占用空间可以推出要使用链式存储结构,因为顺序存储结构占用的空间在一开始是确定的,不允许增加。由条件3 推出对列要使用循环队列。对满的条件是: front=rear->next;对空的条件是:front=rear;
2025-03-23 09:45:02
194
原创 考研复习之队列
在这种方法中,我们故意让队列中始终保持一个空闲位置,这样当 rear 的下一个位置是 front 时,队列就是满的。队列为满的条件需要特殊处理,因为当队列满时,队尾指针的下一个位置应该是队头指针。
2025-03-22 14:51:27
453
原创 考研c语言复习之栈
再计算第二个(++i),++在前面也是先把i加1后再赋值,不过这时的i已经为6了,第一步的时候把i变成6了的,然后加1的话就变成7了,所以第二个(++i)的值为7,s=(++i)+(++i)=6+7=13。1、当i=5时,s=(++i)+(++i)=13 先算第一个(++i),++在前面,就把i先加1再把赋值,即先把i变为6然后再得出(++i)的值为6,这时i已经变为6了,,第二个(i++),i在前面,先赋值再把i加1,这个时候的i已经为6了,即(i++)的值为6,而i已经变为7了。即(i++)的值为5。
2025-03-21 22:35:25
455
原创 线性表的顺序表示
业界函数命名规范:下划线命名法list_insert和驼峰命名法ListInsert。线性表的顺序表示简称顺序表 ,逻辑上相邻的两个元素在物理位置上也相邻。线性表插入删除查找完整代码。
2025-03-17 22:57:37
150
原创 逻辑结构与存储结构
集合结构 线性结构 树形结构 图形结构。顺序存储 链式存储 索引存储 散列存储。算法的时间复杂度和空间复杂度。程序=算法+数据结构。
2025-03-17 17:16:09
222
原创 c语言复习之结构体
一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以设置一个指针变量指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。前面定义结构体变量时使用的语句是struct student s 这种方式定义结构体变量有些麻烦,使用 typdedef 声明新的类型名来代替已有的类型名。需要将不同类型的数据组合为一个整体,以便于引用,为此,c语言提供结构体来管理不同类型的数据组合。还有一点:结构体的总大小等于其最大成员的大小的整数倍。结构体数组就是数据里存放的是多个结构体。
2025-03-17 15:28:21
294
原创 考研C语言复习之c语言函数
函数主要分为两种1.标准函数即库函数,这是由系统提供的,不必自己定义的函数,可以直接使用,如printf函数,scanf函数2.用户自己定义的函数分为两类1.无参函数:一般用来执行指定的一组操作,在调用无参函数时,主调函数不向被调用函数传递数据 形式如下:类型识别符 函数名()声明部分语句部分2.有参函数:主函数在调用被调用函数时,通过参数向被调用函数传递数据。定义形式如下:类型标识符 函数名(形式参数表列)声明部分语句部分。
2025-03-16 11:12:44
217
原创 一篇搞懂指针
int *a 和 int* a 是等价的,但大部分我们使用int *a ,因为int* a,b,c会使人自然而然的认为这条语句把所有的三个变量都声明为指针变量,但事实上并非如此,“*”实际上只是*a的一部分只对a标识符起作用,其余两个变量 只是普通的整型变量。声明三个指针变量,正确的语句如下:int *a,*b,*c;i_pointer指针变量中存的内容是i的地址(起始地址),c_pointer指针变量存的内容是c的地址,我们可以把指针变量理解为藏宝图,通过间接访问可以帮助我们找到宝藏(变量)
2025-03-16 10:22:13
216
原创 云计算复习
共享网络和存储Pod 中的容器可以共享一个或多个卷从而能够共享数据2相同的调度和生命周期:同一个 Pod 中的容器会一起调度到同一节点上,它们的生命周期是同步的。当 Pod 被删除时,Pod 中的所有容器也会被一同删除3Pod 不会跨节点迁移Pod 是 Kubernetes 中的基本调度单元,它是不可分割的 4高可用性和弹性适合处理单一应用或服务。:选择合适的云平台和服务,监控资源使用情况,设置伸缩策略,自动扩展设置,负载均衡配置,容器化和编排,自动化伸缩策略的优化。1云计算中的弹性伸缩是什么?
2025-01-03 10:07:51
1395
原创 从零开始认识主板
主板是计算机的核心电路板,用于连接和管理计算机的各个硬件设备,包括处理器(CPU)、内存(RAM)、存储设备(硬盘、固态硬盘)以及外部设备接口。
2024-12-12 19:08:52
1282
原创 深度学习(4) 卷积神经网络
卷积神经网络是深度学习中一个比较重要的知识点,目前深度学习分为三大块:大数据与数据挖掘、计算机视觉、自然语言处理。计算机视觉中深度学习算法几乎都用到了卷积神经网络来作为图像的特征提取,因此卷积神经网络在深度学习中的地位是不可撼动的。但是卷积神经网络在1998年就被提出了,一直没有被广泛利用的原因是那时候计算机的性能比较低,卷积神经网络的性能很难被发挥。
2024-12-10 20:14:09
4010
原创 深度学习(3)全连接神经网络
例如第一个隐藏层学习到的是"边缘”的特征,第二个隐藏层学习到的是由‘边缘"组成的"形状”的特征,第三个隐藏层学习到的是由"形状"组成的“图案”的特征,最后的隐藏层学习到的是由“图案"组成的"目标"的特征。深度学习最基础的网络类型的之一,全连接神经网络(Full Connect Neural Network)是大多数入门深度学习领域的初学者必学的内容,充分体现深度学习方法相比于传统机器学习算法的特点,即大数据驱动、去公式推导、自我迭代更新、黑匣子训练等。,这是模型的输入特征。
2024-12-09 11:09:48
1276
原创 深度学习(2)前向传播与反向传播
这一次我们重点讲解前向传播与反向传播,对这里还是有点糊涂前向传播(Forward Propagation)和反向传播(Backward Propagation)是深度学习中神经网络训练的核心过程。它们分别负责计算神经网络的输出以及更新神经网络的参数(如权重和偏置)。下面我会详细解释这两个过程,包括其工作原理、公式以及如何实现。前向传播是神经网络的第一步,用于计算从输入到输出的路径。神经网络通过前向传播将输入数据传递到输出,计算每一层的加权和,并通过激活函数生成最终的输出结果。
2024-12-09 10:30:36
911
原创 深度学习详解
深度学习通过模拟人脑神经元的工作原理,利用深度神经网络自动学习数据中的复杂特征。随着计算能力和数据量的增加,深度学习已成为推动人工智能发展的重要技术之一,广泛应用于图像识别、自然语言处理、自动驾驶等领域。
2024-12-08 17:14:52
2212
原创 机器学习(5)无监督模型之降维PCA算法
这个例子展示了如何应用 PCA 来从一个 3 维数据集降维到 2 维。数据标准化。计算协方差矩阵。计算特征值和特征向量。按特征值选择主成分。投影到新的主成分空间。PCA 的核心是将数据投影到方差最大的方向上,从而实现降维,同时尽量保留原数据中的信息。在实际应用中,PCA 常用于图像压缩、数据可视化、去噪和特征选择等任务。有几个特征就是有几维PCA 降维例题问题描述假设我们有一个包含 6 个样本和 4 个特征的数据集,我们希望将其从 4 维降到 2 维。
2024-12-08 15:36:06
1057
原创 嵌入式操作系统
嵌入式操作系统是嵌入式设备运行的核心,提供高效的硬件抽象和任务管理功能。嵌入式系统启动过程是实现系统功能的基础,涉及硬件初始化、引导程序加载、内核启动和用户程序启动四个主要阶段。对于不同规模的嵌入式系统,其启动流程和复杂度会有所不同,但核心目标是一致的:快速、安全、可靠地启动系统并执行目标任务。
2024-12-04 08:57:55
1590
1
原创 机器学习(3)朴素贝叶斯算法
朴素贝叶斯是一个高效、易于实现的分类算法,尤其适用于特征独立性假设成立的场景。尽管它的特征独立性假设在很多情况下并不完全成立,但它仍然能够在许多实际问题中取得不错的效果。
2024-12-02 11:04:25
1534
原创 机器学习(2) 逻辑回归
我们的目标是根据邮件的特征(例如是否包含某些特定单词)来判断邮件是否为垃圾邮件。假设我们有一个小的数据集,包含几封邮件以及它们是否是垃圾邮件的标签(1表示垃圾邮件,0表示非垃圾邮件)。通过以上过程,我们用一个简单的例子说明了如何通过逻辑回归来解决垃圾邮件分类问题。数据准备:提取邮件特征(例如是否包含“Free”和“Money”)。模型训练:使用逻辑回归进行训练,找到最优的模型参数。预测:使用训练好的模型对新邮件进行分类。评估:使用测试集评估模型性能。TP(真正例):预测为垃圾邮件且实际为垃圾邮件。
2024-11-29 18:02:50
1385
原创 CPU命名那些事
锁倍频和不锁倍频是 CPU 中与 **倍频(Multiplier)**相关的两个概念,主要影响 CPU 的超频能力。1. 什么是倍频(Multiplier)?CPU频率 = 外频(Base Clock,BCLK) × 倍频(Multiplier)外频:主板提供的基础时钟频率,通常是固定的(如 100MHz)。倍频:CPU 内部的一个乘数,用来将外频放大,最终决定 CPU 的运行频率。外频 = 100MHz,倍频 = 40,则 CPU 频率 = 100 × 40 =4.0GHz。2. 锁倍频锁倍频。
2024-11-23 22:39:43
2746
原创 计算机网络(14)ip地址超详解
IPv4地址可以分为五大类:A类、B类、C类、D类和E类,其中A、B、C类地址常用于实际的网络地址分配,D类用于多播,E类是保留地址。在计算网络中可能的网络数量和每个网络中的主机数量时,需要根据IP 地址的类别或CIDR 子网掩码来分析。1. 基本概念:IP 地址长度:IPv4 地址总长度为32 位。网络部分:IP 地址前面的一部分位表示网络 ID。主机部分:IP 地址后面的一部分位表示主机 ID。2. 分类计算:(1)网络数量网络数量取决于网络 ID 的位数: 网络数量=2^网络 ID 的位数。
2024-11-22 11:23:18
3494
原创 一篇搞懂kubernetes
Kubernetes 是容器编排的事实标准,其强大的功能和生态系统使其成为现代云原生应用开发的核心工具。无论是学习容器技术、开发微服务,还是构建企业级云原生架构,Kubernetes 都是不可或缺的利器。下面介绍microk8sMicroK8s 是一个轻量级 Kubernetes 部署解决方案,适合在单节点环境中快速运行 Kubernetes 工作负载。
2024-11-20 17:17:27
733
原创 计算机网络(13)以太网
以太网(Ethernet)是一种常见的局域网(LAN)技术,广泛用于企业网络、家庭网络以及数据中心。它定义了有线通信的物理层和数据链路层技术标准,提供了高效、可靠的通信机制。以太网使用**小端序(Little Endian)**发送MAC地址的每一字节(字节内的比特顺序被颠倒)。在实际传输中,该MAC地址会作为以太网帧中的**目标地址(Destination Address)**字段,按照帧格式进行封装并通过物理层传输。以太网帧是数据链路层传输的基本单位。以太网地址是数据链路层中用于标识设备的。
2024-11-18 14:58:55
3727
原创 计算机网络(12)介质访问控制
介质访问控制 (MAC)详解介质访问控制(Media Access Control,简称 MAC)是计算机网络中的一种机制,用于控制多个设备如何在共享的通信介质上进行数据传输,避免冲突和资源冲突。MAC 协议是数据链路层的一部分,通常和逻辑链路控制(LLC)协议一起工作,确保数据在网络中的可靠传输。MAC 的核心目的是为共享传输介质(例如无线电频谱、以太网电缆等)上的多个设备提供协调机制,使它们能够按照规则访问介质并交换信息。1. MAC 协议的功能介质访问控制。
2024-11-18 14:19:51
1356
原创 计算机组成与原理(2) basic of computer architecture
**CPU(Central Processing Unit)**:负责通用计算任务,是计算机的“大脑”。- 当我们谈到“处理器”时,通常指的就是 **CPU**,特别是在通用计算领域(如电脑、手机等)。是对计算机硬件各组成部分的设计和物理实现的描述。- **Processor** 可以指任何执行指令和处理数据的芯片,不仅仅是 CPU。- 换句话说,**所有的 CPU 都是处理器,但不是所有的处理器都是 CPU**。- 在讨论计算机硬件(如 PC 或手机)时,**CPU** 是一个更具体的术语。
2024-11-17 13:55:48
1216
原创 计算机组成与原理(1)
2. **Arithmetic & Logic Unit (ALU)(算术逻辑单元):**- CPU的一部分,负责执行算术运算(如加法、减法)和逻辑运算(如与、或、非)。3. **Timing & Control Unit(定时与控制单元):**7. **I/O Peripherals(输入/输出设备):**5. **System Bus(系统总线):**1. **Registers(寄存器):**4. **Interface(接口):**6. **Memory(内存):**- 存储数据和程序的硬件设备。
2024-11-17 13:14:56
683
原创 卷积神经网络之Yolo详解
IoU用于衡量预测框与真实框的重叠程度,是目标检测中的基础评估指标。置信度反映了模型对于其预测框包含物体的信心。精确率衡量了预测为目标的框中,实际是目标的比例。召回率衡量了模型能够找到的真实目标的比例。精确率与召回率之间通常存在权衡,需要根据实际需求选择合适的指标。读到这里大家可能对tp tn fp fn仍有疑问,不要着急下面更详细的来了:在机器学习和目标检测中,TPFPTN和FN是用来衡量模型性能的四个基本概念,它们主要用于评估分类任务的准确性。
2024-11-14 19:17:16
5546
原创 计算机网络(11)和流量控制补充
这一篇对数据链路层中的和流量控制进行详细学习(Flow Control)是计算机网络中确保数据流平稳传输的技术,旨在防止数据发送方发送过多数据,导致接收方的缓冲区溢出,进而造成数据丢失或传输失败。流量控制通常通过调整发送方的数据发送速率,确保接收方能有效地处理和存储接收到的数据。
2024-11-13 14:07:14
1452
原创 机器学习(1)线性回归
线性回归算法是机器学习深度学习入门的必学的算法,其算法原理虽然简单,但是却蕴含着机器学习中的一些重要的基本思想。许多功能更为强大的非线性模型可在线性模型的基础上通过引入层级结构或高维映射而得。同时机器学习深度学习的核心思想就是优化求解,不断寻找最合适的参数,特别是理解了怎么利用梯度下降法去求解参数,对后续的神经网络的学习有着很大的帮助。线性回归是一种基本且常用的回归算法,用于预测连续数值。
2024-11-11 15:17:34
1197
原创 机器学习总结
从本质上讲,可以认为机器学习就是在数据中寻找一种合适的函数来描述输入与输出之间的关系。我们通过训练模型,使它能够找到一个函数 f(x),使得对于给定的输入 x,函数 f的输出 y尽可能接近真实值或期望的结果。机器学习=寻找一种函数机器学习算法根据其学习方式和任务类型可分为多种类别,包括监督学习、无监督学习、半监督学习和强化学习。以下是一些常见机器学习算法的简介:1. 线性回归(Linear Regression)- 类型:监督学习- **任务**:回归。
2024-11-11 14:08:14
875
原创 计算机网络(9)错误及其处理
在计算机网络中,数据在传输过程中可能会遇到各种错误,导致数据包的丢失、损坏或延迟。常见的网络错误包括比特错误、数据包丢失、延迟和重复等,错误处理机制则确保数据在传输过程中能够得到正确的传递。
2024-11-09 18:36:22
1497
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人