自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树与二叉树的奥秘全解析

本文系统介绍了树与二叉树的相关概念、性质与操作。主要内容包括:树的定义与基本术语(结点、度、层次等)及其性质;二叉树的定义、基本形态和性质(如结点与层数关系);二叉树的存储结构(顺序/链式)和遍历方法(前序/中序/后序);特殊二叉树(满二叉树、完全二叉树、线索二叉树)的特性;哈夫曼树的构造方法与编码应用;以及树、森林与二叉树之间的相互转换方法。文中通过性质定理、示例和真题解析,全面阐述了这些数据结构的核心知识点与应用场景。

2025-10-24 22:29:59 1214

原创 队列数据结构详解:从原理到实现

本文介绍了队列(FIFO线性表)的顺序和链式实现。顺序队列包括静态数组和动态内存分配两种方式,重点解决了假溢出问题,并提供了循环队列实现。链式队列则通过链表节点实现动态存储。每种实现都包含初始化、入队、出队、判空和获取队头等基本操作,并附有完整可运行代码示例。文章详细比较了不同实现方式的特点,为数据结构中队列的实现提供了完整参考方案。

2025-10-14 21:15:00 318

原创 深入浅出:栈的原理与实现

文章详细讲解了栈的两种实现方式:顺序存储结构(使用数组)和链式存储结构(使用链表)。对于每种实现方式,都给出了初始化、判空、入栈、出栈和获取栈顶元素等基本操作的代码实现,并提供了完整的可执行代码示例。

2025-10-14 20:30:00 701

原创 揭秘双向链表与循环链表:高效算法解析

本文讲述了单向循环链表中典型的是否有环及环的入口判断,双向链表的基本操作代码以及顺序表和链表的异同

2025-09-28 21:00:00 555

原创 链表算法实战:双指针技巧大全

本文带你玩转双指针(快慢指针),讲述了一些典型例题的基本思路并配有图表,简洁清晰~

2025-09-28 19:34:06 276

原创 数据结构入门:线性表基础全解析1

本文讲述了顺序表与链表的初始化、添加元素、遍历、插入元素、删除元素和查找等具体代码实现,内容详细讲解清晰

2025-09-23 20:30:00 1093

原创 算法时间复杂度解析与实战(c语言版)

本文详细描述了如何计算时间复杂度,以及时间复杂度的常量阶、线性阶、平方阶、立方阶和对数阶的示例,最后列举了近几年考到的相关题目

2025-09-22 08:30:00 363

原创 Java基础学习5(流程控制语句2)

超超超详细流程控制语法梳理(下),内含循环语句(for循环、while循环和do-while循环)的基本语法、应用举例和练习~以及三种循环结构的对比,关键字break和continue的使用,如何使用scanner实现键盘输入功能,如何获取一个随机数等知识点~

2025-08-18 21:06:43 1073

原创 Java基础学习4(流程控制语句1)

超超超详细流程控制语法梳理(上),内含分支语句(if-else条件判断结构和switch-case选择结构)的基本语法、应用举例和各自特点说明加练习~

2025-08-18 20:49:30 722

原创 Java基础学习3(变量与运算符2)

本篇文章讲述了进制与各种运算符的详细知识点、易错点与案例(之前在c语言模块涉及过,各位可以当巩固基础知识看看)

2025-08-15 20:16:33 833

原创 Java基础学习2(变量与运算符1)

讲述了关键字、标识符、变量以及基本数据类型和String的运算

2025-08-13 19:45:16 1007

原创 Java基础学习1(Java语言概述)

第一个Java程序:在记事本上打印HelloWorld的具体流程以及Java程序的结构

2025-08-07 21:09:23 963

原创 c语言强基练(指针专题)

【问题描述】拆分实数的整数和小数部分:要求自定义一个函数void splitfloat(float x,int *intpart,flaot *fracpart)。其中x是要被拆分的实数,intpart和fracpart分别是将实数拆分出来的整数和小数部分。通过定义的主函数,编写对应的splitflaot函数内容。【样例输入】```12.4567```【样例输出】``````

2025-06-03 20:57:09 350

原创 c语言强基练(函数专题)

【问题描述】输入2个正整数a和n,求a+aa+aaa+aa...a(n个a)之和。例如,输入2和3,输出246(2+22+222)。【输入形式】从键盘输入正整数a和正整数n。[输入输出样例1]】(下划线部分表示输入)> ```> 8 5> ```> ```> s=98760> ```【样例说明】输入提示符后要加一个空格。其中":"后要加一个且只能一个空格。输出语句的"="两边无空格。英文字母区分大小写。必须严格按样例输入输出。

2025-05-29 17:10:52 1060

原创 PTA刷题笔记(纠细节 有详解)

本文列举了PTA 7-19至7-21及7-24至7-26的代码

2025-05-25 20:30:23 299

原创 PTA刷题笔记(难度预警!!!有详解)

本文对PTA 7-18 7-22 7-23进行了详解

2025-05-25 19:19:12 487

原创 PTA刷题笔记3(微难,有详解)

详细说明PTA 7-15至7-17的代码原理~

2025-05-23 23:57:32 878

原创 PTA刷题笔记2

本文是PTA 7-7至7-14代码解析; 各位大佬若是有更优化的代码可以在评论区留言,博主会在相应题目下添加

2025-05-23 19:36:37 315

原创 PTA刷题笔记

PTA 7-1至7-6题目解析关注博主,持续更新~

2025-05-22 21:29:39 254

原创 揭秘时间计算中的模运算技巧

内含为什么可以使用 (total_mins % 1440 + 1440) % 1440来保证时间在同一天的合法范围内,并通过PTA 7-2 ”然后是几点“ 问题让读者理解得更透彻

2025-05-22 19:50:41 1517

原创 c语言刷题之实际问题

以上代码没有语法错误,但是运行会超时。

2025-05-20 19:51:59 261

原创 C语言代码实战(数组专题)

strcmp函数的比较规则是按照字典序进行比较,即逐个字符比较。使用该函数需要包含头文件 #include<string.h>比较函数,用于比较两个字符串的大小。strcmp函数是C语言中的。

2025-05-18 23:59:18 288

原创 浮点数截断法:四舍五入的精确模拟

假设,我们想四舍五入到(即3.14或3.15a * 100a+ 0.5(int)int/ 100.03.145%.2f。

2025-05-16 21:18:01 586

原创 C语言图案代码大全:从基础到高级

【代码】C语言图案代码大全:从基础到高级。

2025-05-16 19:39:56 640

原创 矩阵操作与优化:代码实战解析

【代码】矩阵操作与优化:代码实战解析。

2025-05-15 19:44:36 294

原创 C语言刷题2

代码如下:(使用冒泡排序)

2025-05-14 00:16:22 390

原创 C语言刷题1

解法思路:整数中,能被2整除的数是偶数,不能被2整除的数是奇数,奇数的个位为1,3,5,7,9。对于1~100之间的奇数,我们可以进行如下操作:1. 利用循环语句 for 从1开始迭代到100;2. 使用条件语句 if 来检查每个数字是否为奇数(即除以 2 余数不为 0 );3. 如果数字是奇数,则我们使⽤ printf 函数将其打印到控制台上,并在数字之间添加⼀个空格;4. 最后,我们在 main 函数中返回 0 ,表示程序已成功执行。

2025-04-23 20:13:29 105

原创 蓝桥杯备赛(搜索)

回溯法一般使用DFS(深度优先搜索)实现,DFS是一种遍历或搜索图、树或图像等数据结构的算法,当然这个图、树未必要存储下来(隐式处理就是回溯法),常见的是,搜索树一般是(总节点个数一般为n!级别)和(总节点个数一般为2^n级别)。排列型就是,子集型就是对于每一个元素(结果与顺序无关)。DFS从起始节点开始,沿着一条路径,直到无法继续为止,然后回溯到前一个节点,继续探索其他路径,直到遍历完整个图或树。DFS使用栈或递归来管理节点的遍历顺序,一般使用。很多时候DFS和回溯法。

2025-03-20 00:32:57 2076

原创 蓝桥杯备赛(基础语法4)

冒泡排序的思想是每次将最大的一下一下运到最右边,然后将最右边这个确定下来。再来确定第二大的,再确定第三大的...对于数组 a [ ] ,具体的来说,每次确定操作就是从左往右扫描,如果 a [ i ] > a [ i + 1] ,我们就执行swap ( a [ i ] , a [ i + 1 ] ) 将两项交换,然后再往右检查,这样可以找出最大的并将其丢到最右边。第一次确定操作是将a [ 1 ] ~ a [ n ] 中最大的放到 a [ n ];

2025-03-18 23:45:00 2334

原创 蓝桥杯备赛(基础语法3)

指的是两个指针leftright(简写为 l , r )分别指向序列第一个元素和最后一个元素。然后 l 指针不断递增,r不断递减,直到两个指针的值相撞或错开(即1>=r),或者满足其他要求的特殊条件为止。对撞指针一般用来解决有序数组或者字符串问题(常见于区间问题):查找有序数组中满足某些约束条件的一组元素问题:比如二分查找数字之和等问题。反转字符串回文数颠倒二进制等问题。快慢指针一般比对撞指针更难想,也更难写。指的是两个指针从同一侧开始遍历序列,且移动的步长一个快一个慢。

2025-03-16 23:52:16 908

原创 蓝桥杯备赛(基础语法2)

prefix表示前缀和,前缀和由一个用户输入的数组生成但是注意,prefix是一种预处理算法,只适用于a数组为静态数组的情况,即a数组中的元素在区间和查询过程中不会进行修改。如果需要实现“先区间修改,再区间查询” 可以使用差分数组,如果需要 “ 一边修改,一边查询 ” 需要使用树状数组或线段树等数据结构。

2025-03-15 00:08:13 591

原创 蓝桥杯备赛(基础语法1)

1)时间复杂度是衡量算法执行时间随输入规模增长的增长率。2)通过分析算法中基本操作的执行次数来确定时间复杂度。3)常见的时间复杂度包括 : 常数时间O(1)、线性时间O(n)、对数时间O(log n)、平方时间O(n^2)等。4)在计算的时候我们,并不要求严格的表达式。一般我们关注的是最坏时间复杂度,用O(f(n)表示,大多数时候我们仅需估算即可。一般来说,评测机1秒大约可以跑2e8次运算,我们要尽可能地让我们的程序运算规模数量级控制在1e8以内。

2025-03-12 23:31:27 986

原创 蓝桥杯备赛(语言基础3)

在C++中,vector是一个动态数组容器,可以存储一系列相同类型的元素。它是标准库<vector>中定义的模板类。模板类声明:vector是一个模板类,因此在使用之前需要包含头文件<vector>。这里的T是要存储在vector中的元素类型。容器大小:vector是一个动态数组,可以根据需要自动调整大小。它会根据元素的数量动态分配内存空间。元素访问:可以通过索引来访问vector中的元素。索引从0开始,最后一个元素的索引是size()-1。可以使用[ ]运算符或at()函数来访问元素。

2025-03-08 23:55:14 1046

原创 蓝桥杯备赛(语言基础2)

二分法是一种高效的查找方法,它通过将问题的搜(两边具有明显的区别),迭代地缩小搜索范围,直到找到目标或确定目标不存在。二分法适用于,并且每次迭代可以将搜索范围。二分法本质上也是,但和暴力枚举不同,二分法利用数据结构的减少了很多不必要的枚举,从而极大地提高了效率,一般可以将O(n)的枚举优化到O(logn)。常见的二分类型有:1)整数二分2)浮点二分3)二分答案(最常见)二分法简介-解题步骤1.研究并发现数据结构(或答案变量)的单调性。

2025-03-05 20:00:19 776

原创 蓝桥杯备赛(语言基础1)

string是C++标准库的重要组成部分,主要用于字符串处理。使用string库需要在头文件中包括该库#include<string>string与char[]不同,string实现了高度的封装,可以很方便地完成各种字符串的操作,比如拼接、截取、匹配等等。1)字符串管理:string封装了字符串的存储和管理。它自动处理字符串的内存分配和释放,避免了手动管理内存的麻烦。2)动态大小调整:string可以根据需要自动调整字符串的大小。

2025-02-28 23:15:57 811

原创 C语言学习笔记7

• 算术操作符: + 、- 、* 、/ 、%• 移位操作符: << >>• 位操作符: & | ^• 赋值操作符: = 、+= 、 -= 、 *= 、 /= 、%= 、<<= 、>>= 、&= 、|= 、^=• 单目操作符:!、++、--、&、*、+、-、~ 、sizeof、(类型)• 关系操作符: > 、>= 、< 、<= 、 == 、!• 逻辑操作符: && 、||• 条件操作符:?• 逗号表达式: ,• 下标引用: []• 函数调用: ()

2025-02-20 00:28:12 743

原创 C语言学习笔记6

ret_type fun_name(形式参数)•ret_type 是函数返回类型,有时候返回类型可以是 void ,表示什么都不返回•fun_name 是函数名•括号中放的是形式参数,函数的参数也可以是 void ,明确表示函数没有参数。如果有参数,要交代清楚参数的类型和名字,以及参数个数。•{}括起来的是函数体,函数体就是完成计算的过程。

2025-02-08 23:20:22 1113

原创 c语言学习笔记5

数组是⼀组相同类型元素的集合重点:• 数组中存放的是1个或者多个数据,但是数组元素个数不能为0。• 数组中存放的多个数据,类型是相同的。

2025-01-23 18:15:19 917

原创 猜数字游戏

游戏要求1. 电脑自动生成1~100的随机数2. 玩家猜数字,猜数字的过程中,根据猜测数据的大小给出了大了或小了了的反馈,直到猜对,游戏结束。

2025-01-21 20:07:23 472

原创 C语言学习笔记4

|就是或运算符,也就是或者的意思,||也是⼀个双⽬操作符,使⽤的⽅式是a||b,||两边的表达式只要有⼀个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。&&就是与运算符,也是并且的意思,&&是⼀个双⽬操作符,使⽤的⽅式是a&&b,&&两边的表达式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。例子:输⼊⼀个整数,如果是正数,再判断是奇数还是偶数,并输出;,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果不是0,则语句执行。

2025-01-17 23:36:14 2131

空空如也

空空如也

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

TA关注的人

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