- 博客(122)
- 收藏
- 关注
原创 【MySQL】第五章 多表查询
当我们有需求就是需要显示同一个数据库下的不同数据的时候,这个时候就需要进行多表查询当想显示对应的数据的时候,如上如图所示,想要显示雇佣人员id的数据,然后第二列显示对应的department_id的数据,最后显示对应的居住的城市,不难发现这都是在不同的表底下的数据,至此需要进行多表查询示例代码通过上述代码,也是可以查到对应的Abel这个工作人员所居住对应的城市,但是对于实际操作的时候,这样的效率是非常慢的。
2025-10-23 00:26:02
629
原创 【MySQL】第四章 排序和分页
摘要:本文介绍了SQL中的排序和分页功能。排序部分讲解了ORDER BY子句的用法,包括ASC升序和DESC降序排序规则、使用列别名进行排序、二级排序的实现以及WHERE和ORDER BY的执行顺序。分页部分重点讲解了LIMIT子句的语法和使用方法,包括基本分页查询、公式计算以及MySQL8.0的新特性LIMIT...OFFSET语法。文章通过示例代码演示了如何实现工资排序、多级排序以及分页显示数据等常见操作,并强调了SQL语句各部分的正确书写顺序。
2025-10-21 17:18:36
341
原创 【MySQL】第三章 运算符
本文详细介绍了SQL中的运算符及其使用方法。主要内容包括:1)算术运算符(+、-、*、/、%),重点说明隐式类型转换规则;2)比较运算符(=、!=、<>等),特别说明NULL值的处理方式;3)关键字比较运算符(IS NULL、LEAST/GREATEST、BETWEEN AND、IN、LIKE模糊查询、正则表达式);4)逻辑运算符(AND、OR、NOT、XOR)和位运算符。每种运算符都配有示例代码,帮助理解其具体应用场景和注意事项,如LIKE中的通配符使用、BETWEEN的范围包含边界等。
2025-10-19 15:56:12
693
原创 【MySQL】第二章 基本的SELECT语句
SQL是一种用于操作关系型数据库的结构化查询语言,最早由IBM在1970年代开发。它包括数据定义语言(DDL)、数据操作语言(DML)和数据控制语言(DCL)三类基本命令。SQL语句书写需要遵循特定规则,如关键字大写、使用英文标点等。SELECT是最常用的查询语句,支持列别名、去重(DISTINCT)、空值处理(IFNULL)等功能。NULL值参与运算会返回NULL,需特别注意。当表名与关键字冲突时,可使用着重号``。DESCRIBE命令可显示表结构。不同数据库系统在遵循SQL标准的同时,会有各自的扩展语法
2025-10-17 18:02:44
1010
原创 【408计组】2.3扩展 各码的作用
本文阐述了计算机中数值表示方法的演变过程。首先指出原码在无符号数加法中的有效性,但在有符号数运算时存在局限。为解决减法器设计难题,提出了用加法替代减法的思路,通过钟表例子展示了模运算转换的原理,说明补数概念(两数绝对值之和为模)如何实现减法转加法。接着引出补码的概念,并解释其数学基础。最后介绍移码的作用在于方便整数大小比较。全文揭示了从原码到补码的数学逻辑演进过程。
2025-10-15 21:49:27
175
原创 【408计组】2.2定点数的表示
本文介绍了定点数的表示方法,重点区分了无符号数和有符号数的不同表示形式。无符号数直接使用二进制位表示数值,而有符号数则采用原码、反码、补码和移码四种方式。其中,原码是最基本的形式,反码在原码基础上符号位不变、其他位取反,补码则是在反码基础上加1。移码则是将补码的符号位取反。文章还解释了比特、字节等基本概念,并分析了不同表示方法的数值范围特点,特别是解释了补码能够统一表示正负0的原因。这些内容为理解计算机中数值的存储和表示提供了基础。
2025-10-15 21:13:36
285
原创 【MySQL】第一章 数据库的概述
本文主要探讨了数据库的重要性及其分类。使用数据库的核心目的是实现数据持久化,避免程序结束后数据丢失。数据库管理系统(DBMS)通过结构化查询语言(SQL)来管理和维护数据。数据库分为关系型(DBMS)和非关系型(RDBMS)两类:关系型数据库以表格形式存储数据,支持复杂查询和事务处理;非关系型数据库包括键值型、文档型、搜索引擎、列式存储和图数据库等,各自适用于不同场景。文章还介绍了数据库设计规则,包括表结构、四种关系类型(一对一、一对多、多对多、自我引用)等,为数据库选择和使用提供了基础指导。
2025-10-15 09:34:07
953
原创 【bug日记】python找不到包
当自己定义一个包,里面写上对应的__init__.py对应的初始文件,然后紧接着写出对应的模块,方便进行调用,但是当这个包不在运行文件所在的文件目录下就会找不到这个包。但是应该是有方法解决掉这个分文件问题的,如果有路过的大佬,欢迎在评论区留言。所以当这样进行改写的文件目录的时候,这个报错就随之消失了。改动的地方就是将该文件移动到对应的文件夹底下就可以了。为什么会找不到这个包?
2025-10-09 21:12:56
414
原创 【Python】异常 模块 包
本文介绍了Python中的异常处理和模块/包的使用。异常处理部分详细讲解了try-except语法,包括捕获常规异常、指定异常、多个异常的方法,以及else和finally的使用场景,并通过示例展示了异常的传递性。在模块部分,介绍了三种导入方式(import、from...import、别名导入),自定义模块的创建与使用,重点讲解了__main__和__all__变量的作用机制。最后简要说明了包的概念,强调__init__.py文件的作用及__all__在包管理中的应用。全文通过具体代码示例,系统地讲解了P
2025-10-09 19:37:00
791
原创 【408计组】3.3 SRAM和DRAM
知识思维导图1. DRAM和SRAM是两个不同的寄存器,这里需要重点关注的是两个寄存器的差异和功能与性能和成本的优点,什么场景下选择DRAM存储元件,什么场景下选择SRAM存储元件2.DRAM是需要刷新的,电路如何给DRAM刷新,为什么需要刷新都是需要去理解的3.DRAM的优化是改变了哪里?
2025-10-03 21:59:33
918
原创 【408计组】3.2 主存储器的基本组成
知识思维导图1. 半导体元件内部的基本原理 -- 基本的元电路是什么?2. 存储芯片的基本原理 -- 由这些元电路形成的总电路在存储芯片是如何工作的?3. 对于芯片的寻址方式 -- 寻址方式有哪几种?
2025-10-03 21:00:08
623
原创 【python】函数进阶
本文介绍了Python函数的多个返回值实现方式,以及四种参数传递形式:1)位置参数(按顺序传参);2)关键字参数(参数名赋值,顺序无关);3)缺省参数(带默认值);4)不定长参数(*args元组/**kwargs字典)。此外还讲解了函数作为参数传递的特性,以及使用lambda表达式创建匿名函数的方法,其语法为:lambda 参数: 表达式。这些特性共同构成了Python灵活的函数参数处理机制。
2025-09-29 20:22:24
200
原创 【python】五个容器
本文介绍了Python中四种常用数据结构:列表(list)、元组(tuple)、字符串(str)和集合(set)的基本操作。主要内容包括:1.列表的定义、增删改查操作,以及二维列表的使用;2.元组的不可变特性及其基本方法;3.字符串的不可变性及常用字符串处理方法;4.集合的去重特性及其集合运算方法。文章通过代码示例详细说明了每种数据结构的特点和操作方法,适合Python初学者了解基础数据结构的使用。
2025-09-29 20:01:43
1288
原创 【python】函数
文章摘要:本文介绍了Python函数的基本概念和使用方法。主要内容包括:1)函数定义的基本语法,使用def关键字和冒号,注意缩进规则;2)函数参数的传递方式,Python是动态类型语言,无需声明参数类型;3)函数返回值的处理,未明确返回值时默认返回None,None在Python中相当于False,可用于条件判断或变量初始化。文章通过代码示例演示了这些核心概念的具体应用。
2025-09-29 18:57:13
159
原创 【python】条件与循环语法详解
本文介绍了Python中bool类型、条件判断和循环语句的基本用法。bool类型包含True/False值,可通过比较运算获得;if语句通过缩进判断代码块范围,需注意input()默认返回字符串类型;for循环用于遍历序列,while循环基于条件判断;range()函数配合for循环使用,可指定步长;最后演示了随机数生成和猜数字游戏的实现。关键点包括:类型转换、代码块缩进规则、循环语法和随机数模块的使用。
2025-09-29 18:43:53
312
原创 【python】从Hello World到数据类型
本文介绍了Python编程基础要点:1)print输出需用f格式化字符串和{}引用变量;2)type()函数检查数据类型及强制转换方法;3)特殊运算符如//整除、**指数运算;4)字符串三种定义方式(单/双/三引号)及拼接规则;5)多种字符串格式化方法(%占位符、f-string、format());6)input()输入默认字符串类型需手动转换。内容涵盖基础语法、数据类型处理和字符串操作核心知识。
2025-09-29 15:15:32
383
原创 【51单片机】模块化编程规范与分层设计
本文介绍了模块化编程的规范,将功能划分为五个层次:工具函数层(Com/)、驱动层(Dri/)、接口层(Int/)、中间层(Mid/)和应用层(APP/)。每层对应不同功能,如驱动层处理硬件交互,接口层管理外部设备,应用层实现主逻辑。文件命名采用"目录/前缀_功能名"的格式(如Int_Digital_shansuo),确保代码结构清晰、易于维护。这种分层设计适用于复杂项目,简单项目可适当简化中间层。
2025-09-20 14:18:18
303
原创 【51单片机】数码管动态显示代码优化
本文介绍了数码管动态显示的软件实现方法。首先给出基础代码,包括数字编码定义、位选段选操作函数、数字显示和刷新函数,并分析了残影问题产生的原因:位选和段选切换时数据残留。通过优化代码,在每次位选前清除段选数据(P0=0x00)解决了残影问题。同时针对数字0的特殊情况进行了处理,完善了数码管显示功能。最终实现了稳定、无残影的数码管动态显示效果。
2025-09-16 20:57:41
273
原创 【51单片机】数码管工作原理及数码管的静态显示
本文介绍了数码管的工作原理及51单片机控制数码管的硬件和软件实现方法。数码管由8个LED组成,对应数字的笔画和小数点。硬件方面采用74HC138译码器和74HC245驱动芯片,解决了51单片机驱动能力不足的问题。软件部分通过位选和段选控制数码管显示,使用二进制编码实现数字显示功能。文中还提供了具体的电路设计和C语言代码示例,展示了如何在51单片机上实现数码管静态显示。
2025-09-16 19:07:20
1188
原创 【51单片机】单片机延迟函数与周期计算
本文介绍了单片机延迟函数的实现原理及时间计算。通过分析汇编代码,详细讲解了延迟函数内部各指令(NOP、PUSH、MOV、DJNZ等)的机器周期开销。重点对比了6T和12T两种工作模式:6T模式(1机器周期=6时钟周期)执行速度更快,但兼容性较差;12T模式(1机器周期=12时钟周期)兼容性和稳定性更好。文章还阐述了时钟周期、机器周期和指令周期的关系,为精确计算程序执行时间提供了理论基础。最后通过具体案例展示了如何计算汇编指令的总机器周期数,为单片机时序控制提供了实用参考。
2025-09-16 18:04:12
1271
原创 【51单片机】LED闪烁编程实战
摘要:本文介绍了基于51单片机的LED控制实验,包括LED闪烁、流水灯和闪烁优化的实现方法。通过分析GPIO寄存器结构(sfr和sbit类型)和内部电路(n形MOS管),详细讲解了LED控制原理。实验采用STC89C5xRC单片机,通过P2端口控制LED,实现了三种控制方式:1)单个LED闪烁;2)8个LED流水灯效果;3)优化后的闪烁控制。重点阐述了移位运算、延时函数设计及代码优化技巧,包括使用_nop_()函数精确延时。实验代码展示了从基础到优化的完整开发过程,为单片机GPIO控制提供了实用范例。
2025-09-16 11:31:32
843
原创 【51单片机】程序的烧录
本文介绍了使用Keil和STC-ICP工具进行51单片机程序开发的步骤。首先需要在Keil中导入STC芯片型号并创建项目,设置生成HEX文件。然后在STC-ICP中选择芯片型号、串口和HEX文件进行烧录。烧录过程通过CH340G芯片将USB信号转换为串口信号传输给单片机。文章详细说明了从代码编写到程序烧录的完整流程。
2025-09-14 15:53:38
197
原创 【51单片机】单片机原理与引脚解析
本文摘要: STC89C52RC40I单片机解析:型号含义为制造商、电压、存储、速度等参数。引脚功能包括电源输入(GND/VCC)、复位(RST)、时钟(XTAL1/2)和通用I/O口。时钟引脚需连接晶振或外部时钟源,作为系统"心跳"。复位电路分软硬两种:软复位通过电容充放电实现,硬复位直接开关触发。电源电路采用电容滤波(消除电源波动)和去耦(隔离干扰),为系统提供稳定供电。电平信号以电压范围划分(如0-3.1V为低电平),而非固定值。
2025-09-14 15:13:12
951
1
原创 【C++ 黑马】 引用
本文介绍了C++中引用的基本概念和使用方法。主要内容包括:引用的基本语法和作用(为变量起别名),引用必须初始化且不能改变指向的特性,引用作为函数参数可简化指针操作的优势,以及引用作为函数返回值的注意事项(避免返回局部变量引用)。特别强调了常量引用的作用:保护实参不被修改、处理临时变量以及提高参数兼容性。文章指出,在函数形参中使用const引用能同时接受const和非const实参,是更安全的编程实践。最后总结了引用的四大核心知识点,为C++开发者提供了清晰的引用使用指南。
2025-08-10 21:14:20
753
原创 【C++ 黑马】 内存分配模型
本文介绍了C++程序的内存分配模型,主要分为四个区域:代码区、栈区、堆区和全局区。代码区存放机器指令,具有共享性和只读性;全局区存放全局变量、静态变量和常量;栈区由编译器管理,存放局部变量;堆区由程序员手动分配释放。通过地址输出实验验证了不同变量的存储位置,并指出栈区局部变量地址不应被返回使用。最后提到new运算符是C++中管理堆内存的主要方式。这种分区管理机制能够灵活控制数据生命周期,提高内存使用效率。
2025-08-10 15:58:52
407
原创 【数据结构】散列表(哈希表)
我们根据我们设计的求余,对应到对应的表格位置,然后把数字放入进去,然后当下一次数字放的时候冲突了,就往后面进行走,走到没有放置的位置,如果从7开始走到11都没有位置就走到0开始放入,找一个空闲的位置。当我们进行删除操作的时候,要标记为删除的标记,初始化的标记与删除的标记不一样,删除的标记是你下一次填入值还可填入,查找的时候不会断层。ASL失败 = (3 + 2 + 1 + 1 + 3 + 2 + 1 + 8 + 7 + 6 + 5) / 11 = 39 / 11。散列函数分为两种函数。
2025-06-02 19:13:31
537
原创 【数据结构】并查集(上)
当我们访问a的时候,再返回这个值的时候,所路过的点就直接指向X,这样就是扁平化,这样在下一次再次访问的时候,就可以直接以O(1)的时间复杂度来进行访问了。这个就是把带有两个元素的集合进行合并,然后就是改变father数组里面的数字还有就是改变对应的大小,然后另外一个被合并的的size数组里面的数字进行改变。首先0的头部变成1了,但是1的头还是1,但是这个0的大小没有改变是因为这个已经没用了,用叉叉表示了,因为此时0不是头了,不再是代表数组。我们不难看出这个就是把这个对应不是代表值的,直接标记为垃圾值。
2025-06-02 19:11:19
556
原创 【算法】最小生成树
2 然后判断每一个边,利用并查集判断是否可以进行合并,然后加上这个权值和这个边数,加上边数和权值就可以进行返回了。B 如果这个点没有存在数组里,那么就加权值和点个数,然后把这个点放入数组里,进入下一个点。1 开辟一个小根堆和一个数组,小根堆是用来装边的,数组是用来装顶点的,记录那些顶点走过。2 可以从图上的任意节点开始,然后把这个点放入到数组里面,把这个边都放到小根堆里。A 如果这个点已经存在数组里,那么就直接把这个点给舍弃掉,重复步骤3。我们这里的find,binunion,build是在并查集实现的。
2025-05-31 22:15:13
413
原创 【STL】vector
并不是在原有的空间里面之后续接新的空间,而是找更到的空间,然后将原有的数据拷贝到新的空间,释放原有空间。这个一般都是知道元素的大小提前预留空间节省时间的开销。我们所需要学习的是怎么使用这个和这个东西的实际用途。下面是有关于vector这个容量和大小的相关函数。vector容器的迭代器是支持随机访问的迭代器。下面我们来看看vector的构造函数的使用。这个主要的作用是减少重新开辟的时间开销。这里的插入和删除都是要迭代器。三种vector的赋值方式。下面是这个代码的演示。上面是获取元素的方式。
2025-05-31 11:45:54
716
原创 【数学建模】八N皇后问题
我们有8个皇后,那就是for循环循环8行,每次放置一个棋子就进行一次判断,然后判断这个棋子可不可以落在这里如过可以那么久进入到下一行,x进行+1秒如果不可以的话,那么就进入这一行的下一个格子下一个,这就是枚举8行8列。首先我们的行是已经操作完的了,就是在判断行的话是在递归的过程中进行讨论的,然后就是只需要判断这个列是否成立就好了,然后斜边的话,那不就是直接判断左上角和右上角就好了。我们知道右上角就是不断的进行加1嘛,这个行的话,列就是不断地进行减1,左上角就是反着地。我们的任务就是用MATLAB进行求解。
2025-05-30 20:37:56
435
原创 【数学建模】最短路径问题
摘要:本文探讨了运用LINGO软件求解最短路径问题的建模方法。通过借鉴Dijkstra算法思想,将节点状态设计为:起点标记为1,中间节点为0,终点为-1,以此构建网络流模型。重点阐述了目标函数(求权值最小)和约束条件的数学表达,包括节点状态转换规则(起点出度-入度=1,终点=-1,中间节点=0)。特别说明了LINGO编程技巧:使用@if嵌套实现条件判断、规范data语句段的数据输入方式,以及用二进制变量x(i,j)表示路径选择。该模型通过合理设置节点状态和约束条件,有效解决了最短路径优化问题。
2025-05-30 20:36:36
774
原创 【数学建模】2014药柜设计问题
摘要:本文针对储药柜设计问题,提出了一种基于数学模型和算法的优化方案。首先分析药盒在储药槽中的约束条件,包括2mm间隙要求和防重叠、侧翻、水平旋转的几何限制。通过建立药盒宽度与储药槽间距的数学模型,使用LINGO和C++两种方法求解最小间距类型数量。其中,LINGO方法通过0-1整数规划得到最优解4种类型,而贪心算法实现将1919种药盒分类到4种标准间距的储药槽中,并详细列出了每种类型对应的药品编号。研究结果为药柜设计提供了兼顾空间效率和成本控制的最优分区方案。
2025-05-30 20:34:56
1663
原创 【数据结构刷题day4】 树
1 遍历的方法,这个后面很常用2 判断是否是同一个二叉树,就是不断对树的根节点进行判断,而且顺序是一样的,因为插入的方法3 堆的就是路径就是用一个while循环来往前面不断地比较。
2025-03-29 15:47:51
672
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅