自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL 数据类型

万字讲解MySQL中常用的数据类型及其特性,主要包含以下内容: 数据类型分类:详细列出数值类型(整数、浮点、定点数、位)、日期时间、字符串(文本、二进制、JSON)、空间数据等大类及其子类型。 整数类型:介绍5种整数类型(TINYINT到BIGINT)的字节数、取值范围,以及可选属性(显示宽度M、UNSIGNED、ZEROFILL)的使用方法和注意事项。

2026-06-03 21:40:34 228

原创 MySQL 数据处理之增删改

本文简述MySQL数据增删改语法、批量插入优化及8.0计算列特性,并强调了WHERE条件防误操作与事务回滚设置。

2026-06-01 20:27:42 415

原创 MySQL 创建和管理表

本文详解了MySQL数据库与表的创建、修改及删除操作,涵盖数据类型、命名规范、DDL/DML区别,并拓展了阿里开发规范

2026-05-31 22:25:40 199

原创 MySQL 子查询

本文介绍了MySQL中的子查询概念及其使用方法。通过需求分析引入,详细讲解单行子查询、多行子查询、相关子查询,有丰富的例题,部分题目有多解,最后分析了自连接与子查询的效率问题

2026-05-28 18:32:47 394

原创 MySQL 聚合函数

本文介绍了SQL中的聚合函数及其应用场景。主要内容包括: 聚合函数概述,常见函数有AVG、SUM、MIN、MAX、COUNT等;常用聚合函数详解;GROUP BY子句的使用;HAVING的使用;SQL的底层运行原理

2026-05-26 22:29:06 427

原创 MySQL 单行函数

本文介绍了SQL函数的基本概念和应用,重点分析了MySQL中的内置函数。详细讲解了数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、信息函数、其他重要函数

2026-05-25 21:38:34 396

原创 MySQL 多表查询

本文介绍了多表查询的基本概念和应用场景。通过一个查询案例展示了单表查询的局限性,引出了多表查询的必要性。重点讲解了笛卡尔积现象及其产生原因,以及如何通过WHERE条件避免该问题。文章详细分析了多表查询的三种分类方式:等值连接与非等值连接、自连接与非自连接、内连接与外连接的区别与应用。其中,内连接只返回满足条件的行,而外连接还能返回主表中不满足条件的记录。通过具体SQL示例演示了各种连接方式的实现方法,并强调了表别名使用和字段前缀的重要性。这些知识为处理复杂数据关系提供了基础查询技术。

2026-05-21 20:55:44 417

原创 MySQL 排序与分页

SQL中数据排序和分页的实现方法

2026-05-18 18:15:28 234

原创 MySQL 运算符

详细讲解算数、比较、逻辑、位运算符的使用方法与实例,运算符的优先级

2026-05-17 18:07:03 488

原创 MySQL 基本的SELECT语句

SQL概述及其语言规则与规范,MySQL中基本的SELECT语句

2026-05-14 20:07:38 397

原创 MySQL 环境搭建(MySQL下载、卸载、安装、配置 | Navicat)

详细介绍了MySQL的完整卸载流程与安装,还有图形化界面的安装,以及安装过程中的常见问题与解决方案

2026-05-12 21:48:22 402

原创 MySQL 数据库概述

本文介绍了数据库的基本概念及其重要性,重点阐述了数据库管理系统(DBMS)与数据库的关系,并列举了主流DBMS产品及其特点。文章详细分析了MySQL的发展历程、核心优势(开源免费、跨平台、多语言支持等)及其在互联网发展中的关键作用,包括被Sun和Oracle收购等重要事件。通过对比不同数据库产品的特性,突出了MySQL作为开源关系型数据库的广泛应用价值。

2026-05-10 20:10:17 359

原创 Java 常见API 字符串String、集合ArrayList

本文介绍了Java中API和String类、ArrayList类的核心概念。API是Java提供的可直接使用的功能类,如Scanner和Random,通过API帮助文档可快速查询使用方法。String类具有不可变性,创建方式包括直接赋值和new关键字构造,两者在内存处理上有差异。String常用方法包括equals()比较字符串内容(区分大小写)和equalsIgnoreCase()(忽略大小写),以及字符串遍历等操作。文章通过登录验证等示例代码,展示了String类的实际应用场景。

2026-05-08 18:58:01 370

原创 Java 面向对象高级 内部类

本文介绍了Java中的内部类概念及其分类。详细讲解了四种内部类:成员内部类(可访问外部类成员)、静态内部类(仅访问外部类静态内容)、局部内部类(定义在方法内)和匿名内部类(无需显式定义类名)。重点说明了成员内部类的创建方式、访问外部类变量的方法,以及匿名内部类在简化代码结构中的作用。通过汽车与发动机的案例,展示了内部类如何更合理地组织关联属性。

2026-05-07 14:23:06 383

原创 Java 面向对象高级 接口

Java中接口的定义、特点、与类的关系、与抽象类的综合练习以及其在新版本中的特点

2026-05-06 16:20:02 382

原创 Java 面向对象高级 抽象类和抽象方法

摘要:本文介绍了Java中抽象类和抽象方法的概念及使用。抽象类用abstract修饰,包含抽象方法的类必须是抽象类。抽象方法只有声明没有实现,子类必须重写。文章通过Animal抽象类和Cat、Dog子类的示例展示了定义方式,并总结了关键注意事项:抽象类不能实例化、可以有构造方法、子类必须实现所有抽象方法等。最后指出抽象类的意义在于规范开发,强制子类按格式重写方法。

2026-05-05 21:40:14 175

原创 Java 面向对象高级 多态

详细讲解了多态是什么、前提、好处、调用成员的特点、弊端以及解决方案。同时还有两道相关的综合练习

2026-04-29 18:21:05 192

原创 Java 面向对象高级 继承

详细讲解了 继承 是什么/特点/如何设计/this,super关键字/综合练习/底层原理/Java中的权限修饰符

2026-04-23 22:23:36 465

原创 Java 面向对象进阶(static/final/枚举)

Java中static关键字/final关键字/枚举的使用方法详解

2026-04-19 20:00:50 398

原创 Java 面向对象的底层原理

本文介绍了Java面向对象编程中的内存管理机制。主要内容包括:1) Java内存结构分为栈内存(方法调用)、堆内存(对象存储)、方法区(字节码信息)等区域;2) 对象创建时的七步内存分配过程,从加载类到初始化属性;3) 对象传递的内存原理,实际传递的是对象地址;4) this关键字的本质是代表方法调用者的内存地址。文章通过图示详细说明了对象在内存中的存储和传递方式,帮助理解Java面向对象程序在内存中的运行机制。

2026-04-16 18:58:22 263

原创 Java 面向对象基础

本文介绍了Java面向对象编程的核心概念,包括类和对象、封装性、构造方法等。主要内容有:1) 类和对象的定义与使用,类由属性和行为组成;2) 封装原则,通过private关键字保护数据安全,使用set/get方法访问成员变量;3) this关键字的作用;4) 构造方法的特点和使用注意事项。文章还提供了完整的JavaBean类模板,包含私有变量、构造方法和成员方法的典型实现,并给出了具体示例说明如何创建和使用对象。这些基础知识是掌握Java面向对象编程的重要前提。

2026-04-16 18:10:18 311

原创 Java 基础算法训练

大乐透选号规则明确规定:同一投注区内的号码不可重复,但不同投注区之间允许号码重复。具体规则可分为前区和后区两个维度:大乐透选号重复规则详解1.前区号码不可重复。投注范围:从01-35中选择5个号码。规则要求:所选5个号码之间不可出现重复数字,如出现重复则该注视为无效投注。2.后区号码不可重复。投注范围:从01-12中选择2个号码。规则要求:所选2个号码之间不可重复,否则同样视为无效投注。跨区重复规则。前区与后区号码允许交叉重复,例如前区选10,后区也可选10。

2026-04-15 20:46:15 406

原创 Java 运行原理

本文介绍了Java的运行机制和内存管理。Java通过虚拟机(JVM)实现跨平台运行,编译生成.class文件后由JVM执行。内存分为栈、堆、方法区等五个模块:栈存储方法调用,堆存储对象和数组,方法区存储字节码信息。基本数据类型直接存储值,引用类型存储地址值。以数组为例,展示了方法调用时内存的变化过程,说明引用类型传递的是地址值而非数据本身。理解内存分配机制对掌握数组和面向对象编程至关重要。

2026-04-13 18:08:35 504

原创 蓝桥杯赛后总结

于2026年4月11日上午参加第十七届蓝桥杯软件赛C/C++大学B组。

2026-04-12 21:36:16 167

原创 蓝桥杯赛前刷题

B-小紫的劣势博弈_牛客周赛 Round 85sort中普通数组用 从大到小 : 加1.1.2 小梦的AB交换问题与解决方法多思考注意细节,要考虑到所有情况多用几个不同的样例测试思路:两个一组,分为n组每组只有四种情况每种情况有几个, 记下 一定等于 数(因为与个数相同)与交换一次即可达到目标 与 只有一个时, 不用交换,有多个时,交换" 与 的个数最少的个数" 即可代码:1.1.3 小苯的Z串匹配C-小苯的Z串匹配_牛客周赛 Round 871.2

2026-04-12 17:31:44 506

原创 算竞常用STL cpp

C++标准模板库(STL)是一个包含常用数据结构与算法模板的C++软件库,主要由算法、容器、仿函数和迭代器四个组件构成。STL能简化代码和调试,但效率较低。常用容器包括顺序容器(vector)、关联容器(set/map)、容器适配器(stack/queue/priority_queue)等。vector类似可变长度数组,提供push_back、pop_back等方法;stack和queue分别实现先进后出和先进先出结构;priority_queue基于二叉堆实现;set提供元素去重和有序存储;map实现键值

2026-03-30 22:27:04 448

原创 搜索算法 cpp

本文介绍了搜索算法的基本概念与实现方法。搜索是通过穷举所有可能情况来寻找最优解或统计合法解数量的方法,主要包括深度优先搜索(DFS)和宽度优先搜索(BFS)。文章重点讲解了DFS的实现,包括递归枚举、回溯剪枝等技术,并通过三个典型例题(枚举子集、组合型枚举和选数问题)展示了DFS的具体应用。其中强调了剪枝优化的重要性,介绍了等效冗余排除、可行性剪枝、最优性剪枝和搜索顺序优化等常见剪枝策略。这些方法能有效减少搜索空间,提高算法效率。文章通过代码示例和决策树图示,直观展现了搜索算法的实现过程和优化思路。

2026-03-29 19:07:42 364

原创 分治算法 cpp

分治算法通过"分而治之"策略将复杂问题分解为可求解的子问题,再合并结果。典型应用包括归并排序和快速排序。以逆序对问题为例,暴力解法O(n²)效率低,而分治解法利用归并排序过程,在合并有序子数组时统计逆序对数量:当左元素>右元素时,左半剩余元素均构成逆序对。该算法时间复杂度为O(nlogn),适用于大规模数据(如洛谷P1908题中n≤5×10⁵的情况)。核心代码通过递归划分区间,并在合并时累加逆序对数,最后输出总和。

2026-03-26 22:40:52 401

原创 递归初阶 cpp

递归基础与汉诺塔问题解析 本文介绍了递归的基本概念和应用方法,并通过汉诺塔问题展示了递归的实际运用。递归的核心思想是"自己调用自己",适用于主问题与子问题处理方式相同的情况。文章强调从宏观角度理解递归,将其视为能完成任务的黑盒,而不必纠结于递归展开细节。通过归并排序示例说明了编写递归函数的三个关键步骤:确定相同子问题、解决单个子问题、设置递归出口。最后以汉诺塔问题为例,展示了如何通过递归实现盘子的移动过程,并提供了完整的C++实现代码。

2026-03-26 21:07:52 339

原创 快速幂 cpp

本文介绍了倍增思想及其在快速幂算法中的应用。通过将指数分解为二进制形式,利用倍增方法将时间复杂度从O(n)优化到O(logn)。文章以洛谷P1226题为例,详细阐述了快速幂的实现原理,包括二进制分解、模运算规律等关键点,并提供了C++代码实现。特别强调了模运算在加减乘除中的不同处理方式,为高效计算大数幂取模问题提供了解决方案。

2026-03-24 12:41:45 161

原创 简单贪心算法 cpp

本文介绍了贪心算法的基本原理和应用实例。贪心算法通过局部最优选择寻求全局最优解,但需要验证策略的正确性。文章以货仓选址和最大子段和两个经典问题为例: 货仓选址问题证明中位数位置能使距离和最小,通过绝对值不等式推导出最优解; 最大子段和问题采用动态累加策略,当和为负时重新开始累加,并通过反证法验证其正确性。 两个案例展示了贪心算法"大胆猜想、严谨验证"的特点,强调在掌握常见策略的同时,要注重数学证明能力的培养。

2026-03-22 21:55:47 747

原创 二分算法 cpp

二分算法的两种模板

2026-03-22 15:24:50 403

原创 双指针算法 cpp

本文介绍了双指针算法在解决"唯一的雪花"问题中的应用。该问题要求找出序列中最长连续无重复元素的子数组长度。文章首先分析了暴力枚举法的时间复杂度问题,进而提出使用同向双指针(滑动窗口)的优化方案。通过维护一个哈希表记录窗口内元素出现次数,实现O(n)时间复杂度的高效解法。文中给出了详细的算法步骤说明和两种代码实现(使用unordered_map和数组),并强调遇到新问题时应该先尝试暴力解法再优化的解题思路。这种算法避免了不必要的枚举过程,将时间复杂度从O(n²)优化到O(n)。

2026-03-19 12:34:10 389

原创 差分算法 cpp

差分算法通过预处理优化区间修改操作,将时间复杂度从O(n)降至O(1)。一维差分通过构造差值数组,利用f[L]+=k和f[R+1]-=k实现区间快速加减。海底高铁问题应用差分统计各路段乘车次数,再比较买票和购卡成本求得最小花费。典型空间换时间策略,需注意操作完成后才能还原数组。差分与前缀和互为逆运算,是优化暴力枚举的有效方法。

2026-03-18 21:27:04 367

原创 前缀和算法 cpp

本文介绍了前缀和算法及其应用。前缀和通过预处理数组,用空间换时间优化区间查询,将时间复杂度降至O(1)。文章首先展示了一维前缀和的模板实现,对比暴力解法和前缀和优化解法;然后以洛谷P1115最大子段和为例,详细说明如何利用前缀和求最大连续子序列和。关键思路是维护前缀和数组,并通过减去前缀最小值来获取局部最大值。代码实现中特别强调了数据范围的处理,使用long long类型防止溢出。前缀和是处理区间问题的有效方法,能显著提升算法效率。

2026-03-18 18:47:24 365

原创 二进制枚举算法 cpp

本文介绍了二进制枚举及其应用。二进制枚举利用数的二进制位0/1表示状态,通过位运算实现高效枚举。在子集问题中,通过遍历所有二进制状态(0~2^n-1),检查每一位是否为1来生成子集。文章还讲解了位运算中的左移(<<)和右移(>>)操作:左移相当于乘以2^n,右移相当于除以2^n。该方法也被应用于"费解的开关"问题,通过枚举第一行的操作状态,推导后续操作步骤,判断是否能在6步内点亮所有灯。二进制枚举结合位运算技巧,为状态空间搜索提供了高效解决方案。

2026-03-18 13:47:19 558

原创 普通枚举算法 cpp

本文介绍了枚举算法的基本概念和应用实例。枚举是一种暴力算法,通过列举所有可能情况来解决问题,需要考虑枚举对象、顺序和方式。文中以三个例题展示了枚举的实际应用:1) 铺地毯问题通过逆序枚举地毯判断覆盖情况;2) 回文日期问题通过枚举月日组合反推年份;3) 扫雷游戏利用枚举确定地雷位置。这些案例展示了枚举在不同场景下的优化思路,如逆序枚举、利用特性减少枚举范围等,为解决类似问题提供了参考方法。

2026-03-17 21:33:18 923

原创 关于高校C语言课程的学习方法

摘要:本文为C语言初学者提供实用学习建议。推荐浙江大学翁恺的C语言网课作为入门选择,建议听到指针部分即可。学习方法包括:1)听网课+敲例题;2)根据考试难度选择刷题策略;3)重视学校作业。可使用AI辅助但不要依赖,推荐使用Dev C++编译器。文末附基础程序框架,强调初学者应避免使用高端编译器,以免影响学习效果。

2026-03-16 20:14:21 408

原创 C++ 万能头

本文详细讲解了 cpp万能头 的内容 使用场景 与利弊

2026-03-16 19:42:47 979

原创 高精度算法 cpp

本文介绍了高精度算法的实现方法,主要解决超大整数运算问题。通过字符串读入数字并逆序存入数组,模拟小学竖式计算过程实现加减乘运算。高精度加法采用逐位相加并处理进位的方式;减法先比较大小,处理借位并消除前导零;乘法则先无进位相乘再统一处理进位。文章提供了洛谷相关题目和完整C++代码实现,包括字符串处理、数组操作和进位处理等关键步骤,适用于处理10^500量级的超大整数运算问题。

2026-03-15 21:27:18 516 1

空空如也

空空如也

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

TA关注的人

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