- 博客(54)
- 收藏
- 关注
原创 汇编快速入门
DB(Define Byte,字节类型 占位8位bit == 1字节)范围:DB可以用来定义(无符号、有符号)整数(包含二、十、十六进制)和字符语法:a DB 数据个数 数据值用法:a DB-111000H'A'"ABC"?是不知道的数值,一般机器自动使用0填充)DW(Define Word,字类型 占位16位bit == 2字节)范围: 较小整数、指针语法、用法:与DB相似DD(Define Doubleword,双字类型 占32位bit == 4字节)
2024-06-23 20:09:52
766
原创 【C++算法】重新排序
给定一个数组 A 和一些查询 Li, Ri,求数组中第 Li 至第 Ri 个元素之和。小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查询结果的和尽可能地大。小蓝想知道相比原数组,所有查询结果的总和最多可以增加多少?
2024-05-22 11:40:59
304
原创 租用游艇问题(C++动态规划)
游艇出租站i到游艇出租站j之间的租金为r(i,j),12,2->3)更短。由题可知:1->3 == 15 ,1->2 + 2->3 == 12,所以我们输出12。假设此时n为3,则我们有三条路线,1->2,2->3,1->3。一开始,我们会将1->各个点值先存起来,比如1->2和1->3。输出从游艇出租站1 到游艇出租站n所需的最少租金。
2024-04-18 16:26:54
734
原创 【C语言算法】求逆序对数目(C语言+归并排序)
他想在类似的任务中打败他的兄弟。对给定序列进行排序时,相邻数字的最小交换次数是多少?他让你为他写一个计算机程序,回答O(nlogn)中的问题。第一行包含序列的长度N(1
2024-03-18 22:35:02
668
1
原创 【C语言算法】归并排序(视频+注释+例题=秒懂)
学习高级排序之前,我们学过几个简单排序:冒泡排序,(直接)插入排序,选择排序,他们对于数据量不是特别大的还是能够胜任,时间复杂度为O(n²),空间复杂度为O(1),这也使得他们在处理大量数据时浪费较多时间,因此我们可以使用时间复杂度更低的高级排序。高级排序有以下几种常用的:归并排序,快速排序,堆排序,计数排序,桶排序。归并排序属于高级排序中的一种,其特点明显,使用的是分治思想"分"指的是将数组分割为两个子数组,并使用递归进行对半分,直到子数组的长度变为1,无法再分割为止。接着通过。
2024-03-17 21:07:19
351
原创 【C语言数据结构】堆排序讲解
在堆排序过程中,并不直接在内存的堆(heap)上进行排序操作,而是通过对抽象数据结构"堆"的操作来实现排序。堆可以使用数组来表示,通过数组的下标关系来表示节点之间的关系,这样,在堆排序算法中,实际上是对数组元素的位置进行交换和调整,以实现排序的目的。堆排序算法的实质是通过将待排序的元素构建成一个大根堆(或小根堆),然后反复地将堆顶元素与堆中最后一个元素交换,并调整堆,使得剩余元素仍然满足堆的性质。稳定性:相同值的可能不稳定(对于相同的值而言,可能比较后位置不确定),总体是稳定的(不相等的值时间没有影响)
2024-01-03 00:33:03
646
原创 【C语言数据结构】堆排序(题目,有注释)
其中L是待排序表,使排序后的数据从小到大排列。/*elem[0]一般作哨兵或缓冲区*/int Length;}SqList;
2024-01-03 00:26:02
478
原创 【C语言数据结构】折半查找排序(有注释)
int key;}ElemType;int length;}SqList;//实现细节隐藏int i;for(i=1;L.length=0;show(L);return 0;int i,n;for(i=1;i++)
2024-01-01 21:38:06
692
原创 【C语言数据结构】直接插入排序(代码+画图=最详细!)
其中L是待排序表,使排序后的数据从小到大排列。/*elem[0]一般作哨兵或缓冲区*/int Length;}SqList;
2023-12-30 23:11:10
1305
原创 【C语言数据结构】集合相似度
3.以上代码还用到了比较少用到的结构体数组,主要是觉得方便处理一组一组的数据,方便给数组编号。2.在问题描述时使用的是NC和NT,以上代码用了替换,NC-->RC,NT-->RT。对每一对需要计算的集合,在一行中输出它们的相似度,为保留小数点后2位的百分比数字。t是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。行,每行对应一对需要计算相似度的集合的编号(集合从1到。行,每行对应一个集合。c是两个集合都有的不相等整数的个数,4),是集合中元素的个数;50),是集合的个数。
2023-12-29 16:37:35
1014
1
原创 P8722 [蓝桥杯 2020 省 AB3] 日期识别(C语言)
英文形式采用每个月的英文的前三个字母作为月份标识,后面跟两位数字表示日期,月份标识第一个字母大写,后两个字母小写, 日期小于 10时要补前导 0。1 月到 12 月英文的前三个字母分别是。数字形式直接用两个整数表达,中间用一个空格分隔,两个整数都不写前 导。其中月份用 1 至 12 分别表示 1 月到 12 月。在小蓝处理的日期中有两种常用的形式:英文形式和数字形式。输入一个日期的英文形式, 请输出它的数字形式。输出一行包含两个整数,分别表示日期的月和日。输入一个日期的英文形式。
2023-12-27 23:16:28
1643
原创 P8780 [蓝桥杯 2022 省 B] 刷题统计
小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?输入一行包含三个整数 a,b 和 n.输出一个整数代表天数。
2023-12-27 21:02:54
971
2
原创 P8598 [蓝桥杯 2013 省 AB] 错误票据
每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造成了某个 ID 断号,另外一个 ID 重号。一个整数 N(N
2023-12-26 23:25:29
529
1
原创 【C语言数据结构】拓扑排序(代码演示)
拓扑排序是对有向图进行排序的一种算法,它可以得到一个顶点的线性序列,使得对于图中的任意一条有向边 (u, v),顶点 u 在序列中都出现在顶点 v 的前面。换句话说,如果存在一条有向边 (u, v),那么在排序后的序列中,顶点 u 出现在顶点 v 的前面。主要用于解决有向无环图(DAG)相关的问题(但不限于有向无环图),比如任务调度、依赖关系分析等。通过拓扑排序,我们可以确定一组任务的执行顺序,或者确定一组任务之间的执行依赖关系。特别注意的是,拓扑排序并不适用于无向图。
2023-12-14 22:02:15
2142
原创 【C语言数据结构】图的创建和遍历(数形结合,简单详细!)
学习这一节之前,我们需要弄懂一些基础的概念,不然会在学后面的时候有点迷糊。线性表中我们把数据元素叫元素,在树中叫结点,在图中叫顶点(Vertex)。2.邻接矩阵:(无向图)一种用于表示图的数据结构。它是一个二维数组,其中的元素表示图中顶点之间的连接关系。对于一个有n个顶点的图,邻接矩阵是一个大小为n×n的二维数组。要是图中有两个顶点(假设是第1个和第2个顶点)相连(存在一条边),那么他们对应在邻接矩阵中的第1行第2列和第2行第1列位置为1,其他没有相连的用0表示。
2023-12-10 22:00:40
5684
2
原创 【C语言数据结构】huffman树创建(代码示例,详细注释!)
学过离散数学的同学应该略有耳闻huffman树,比较经典,那为啥huffman树会用的比较多嘞?huffman树的优点:huffman树在存储数据中的优点主要体现在压缩率高、编码效率高、自适应性、广泛应用和易于实现等方面。这些优点使得Huffman编码成为了一种重要的数据压缩技术,为各种应用提供了有效的数据存储和传输解决方案。高压缩率:频率越高的字符分配越短的编码,频率越低的字符分配越长的编码。编码效率高编码后的数据平均长度变短。»»huffman树原理可以看这位大佬的,讲得非常详细!
2023-12-02 22:55:12
642
原创 【C语言数据结构】加强密码(字符串)
很多网站初始密码都是“123456”,为保障账号安全,第一次登录会强制修改密码为加强密码,已知某网站加强密码需要同时满足以下规定:长度为6-16;首位必须为大写字母。输入第一行为一个整数T(1
2023-11-21 20:34:05
584
原创 【C语言数据结构】检查密码(字符串)
本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点。100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。这一部分还是比较简单易懂的,各位自己敲一敲就完事了,这对于未来的程序员来说根本不算事,要有自信!题目保证不存在只有小数点的输入。输入第一行给出一个正整数 N(,还必须既有字母也有数字。
2023-11-20 22:56:07
684
原创 【C语言数据结构】删除子串(有注释,可看懂!)
说明str为指示字符串起始地址的指针,idx为子串的起始位置(下标),len为子串的长度。函数删除字符串str中从下标idx处开始、长度为len的子串,函数值为str。若len值不正确,则自动修正。若idx值不正确,则不删除子串。要求:直接在原数组上完成操作,不要借助其它数组。
2023-11-11 19:35:07
1904
原创 IDEA里的速写操作(java)
平时在idea中写java代码时会因为需要重复写一些代码而反复敲打,例如循环,输出等等,比较繁琐,为此idea提供了速写,或许对家人们有帮助,一起来看看吧!
2023-07-11 18:00:25
145
原创 Java编写猜数游戏
使用static的变量或方法在内存中只有一份副本,无论创建了多少个类的实例,所有该类的实例都共享同一个静态变量的值。所以可以通过类名直接访问静态变量或方法,无需先创建类的实例,这是static的一大优点。但是频繁地使用static也会造成弊端,如线程的安全性问题、可维护性较差等等都是它的潜在风险。模拟要求:用户输入一个数,程序也将在一定范围里随机产生一个随机数,两数做比较。两数相同时输出“猜对了”,并输出猜的次数和猜对的概率;是Java的一个数学函数,用于将浮点数或双精度数四舍五入为最接近的整数。
2023-07-10 17:22:30
461
原创 【idea实用小技巧】书签
对于刚刚使用Idea编写程序的小白来说,当我们写代码篇幅过长时,常常因为寻找前面需要的代码而浪费很多时间,容易使我们变得emo......,就会出现书签界面,点击或回车书签可以快速跳转至选定位置,是不是肥肠好用呢!,可以看见在行数旁边出现了一个书签符号,说明这一行已经计入书签辣,其实我们可能不了解了Idea的一个强大功能,就是大名鼎鼎的书签!使用书签可以快速寻找我们之前标记的某行代码,只需要。同时按住SHIFT和F11键。选定某行,按F11键。
2023-07-09 17:52:35
1266
原创 【java编程基础】线程介绍
线程是一种轻量级的执行单元,可以并发地执行代码,它可以同时运行多个任务。每个线程都有自己的堆栈和程序计数器,并且可以访问共享内存区域。在Java中,线程是由Thread类表示的。一个进程可以包含一个或多个线程。线程不能单独存在,必须是进程的一部分。进程是操作系统分配资源的基本单位,而线程是操作系统调度执行的基本单位。每个进程都拥有独立的地址空间、文件描述符、打开的文件等资源,不同进程之间的资源相互隔离,所以进程创建的开销较大。而线程共享所属进程的资源。
2023-06-29 21:04:54
82
原创 Java序列化的基本认识
Java中的序列化是指将对象转换为字节流的过程,以便在网络上传输或者在磁盘上做持久化存储。序列化可以将一个 Java 对象保存到文件中或在网络上传输。将存储在文件中或通过网络传输的字节流读取出来,并将其转换回 Java 对象。
2023-06-11 19:54:05
187
1
原创 java的数据流
数据流是一种用于输入输出基本数据类型的工具,它提供了将这些数据类型转换成字节流或字符流的方法,以方便进行输入输出操作。在Java中的数据流指的是在处理输入、输出数据时通过内存缓冲区实现的读取和写入操作。Java中常用的数据流有字节流和字符流,可以根据具体需求选择使用。字节流是 Java 中用于读写二进制数据的一种流,它按照 8 位字节的方式传输数据。字节流主要用于处理二进制数据,例如图像、音频、视频等文件。
2023-06-04 21:51:26
2224
原创 java中的异常处理机制
1.两种异常分别代表需要在代码中显式处理和不需要显式处理的异常。2.所有异常都是在运行阶段发生的,因为只有程序运行阶段才会出现异常对象。
2023-05-21 22:53:08
224
原创 java中的字体颜色
Java语言本身并没有提供直接改变控制台输出字体颜色的API,但是可以通过 ANSI Escape Code 的方式实现在控制台中改变字体颜色。ANSI Escape Code 是一种用于控制字符终端文本显示格式的标准,常用于Unix、Linux和其他一些类Unix操作系统等。
2023-05-14 22:14:40
2408
原创 Java函数库之java.time包
java8之前使用joda-time的很多,java8开始就有了joda改进的java.time包。java.time是 Java8引入的日期和时间 API,提供了一套全新的日期和时间类,以替代旧版的java.util.Date和java.util.Calendar类。该包优点:使用java.time包可以更方便地进行日期和时间计算、格式化、解析等操作。
2023-05-07 22:32:46
1185
原创 Java中的静态和非静态(有代码实例,超详细!)
静态变量和方法是属于类的,而不属于类的实例或对象。它们可以通过类名直接访问,不需要创建对象。因此,静态成员常常用于描述与类本身有关的信息,比如常量、工具方法等。例如,Math类中的PI常量和abs()方法都是静态的。非静态变量和方法则是属于类的实例或对象的。它们必须依赖于对象的状态,才能进行相应的操作。因此,非静态成员常常用于描述类的实例状态,比如具有不同属性的学生或员工对象。例如,一个Person类中的name和age变量就是非静态的。
2023-04-28 16:10:04
3196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人