- 博客(11)
- 收藏
- 关注
原创 (进阶数据结构)并查集
假设有一群人,给出所有的交友关系(即哪两个人要交朋友),且朋友的朋友可以作为盟友,据此将这群人划分为不同的团体。核心思想是用数字给这些人编号,然后将一个团体中的任意一人看作老大,其他人看作他的下属,检查两个人是否属于一个团体就看最上面的老大是不是相同的人。如果出现两个团体要合并时,就把其中一个团体的老大改成另一个老大的下属,如下图,2和4要交朋友,就让3变成0的下属,或者让0变成3的下属。下图是让0变成3的下属。
2025-07-28 19:08:41
233
原创 计算机运行大致原理
在当下,我们几乎无时不刻地在和计算机打交道。我们使用计算机打开各种软件来发送消息、打游戏、写文章。但是这些软件或者程序是如何在计算机上运行起来的?操作系统是什么?它在这里面发挥着什么作用?为了回答这些问题,我们先从计算机硬件的大致结构讲起。冯诺依曼结构
2025-07-20 21:09:41
451
原创 (算法题)N个数求和
这题的最坏情况数据量非常大,开始时总是考虑最坏情况如何处理,但实际上并没有最坏情况。有时候并不是题目很难,而是我们自己为难自己。今后如果碰到最坏情况几乎无法处理,不妨试试只考虑大多数情况。
2025-07-04 13:49:40
513
原创 (Linux)gcc编译器的使用
如果我们在代码中使用了自己定义的函数,并且函数的定义在其它文件,那么代码就不能直接生成可执行文件了。例如我们现在有四个文件code.h、 code1.c、 code2.c、 code3.c,在文件code1.c中有下面这段代码其包含的头文件code.h中只有函数func1()和func2()的声明,具体的定义分别在另外两个文件code2.c和code3.c中,具体内容如下code3.c。
2025-07-02 14:09:34
724
原创 (Linux)make的使用与Makefile文件的编写
名字叫Makefile的文件就是Makefile文件,M也可以是小写。make是一个命令,用于生成文件。二者用于大型项目中快速处理文件。我们从基础部分开始,make的使用格式是make [目标文件]要生成文件,肯定要给出生成该文件的方法,生成方法要写在Makefile文件中。使用make命令就要在当前的路径下创建并编写Makefile文件,make命令会根据Makefile文件中的内容生成目标文件。
2025-07-01 20:49:06
838
原创 (算法题)连续因子
题目要求找出正整数N的最长连续因子序列及其最小因子。主要思路是暴力解法:从2到√N范围内遍历每个数作为连续因子起点,计算其连续因子个数,记录最长序列。若N为质数,则直接输出N本身。时间复杂度分析表明该方法可行(最多2×10^6次运算)。代码实现时需注意处理大整数溢出问题(使用long long类型)。关键点在于连续因子的乘积能被N整除,且最长序列长度不超过13(因13! > 2^31)。最终输出最长连续因子个数及最小连续因子序列。
2025-06-30 15:36:47
693
原创 (Linux)库的基本理解
【摘要】库是包含常用功能或数据的文件集合,分为动态库和静态库。动态库通过动态链接在程序运行时调用,需要将库加载到内存;静态库通过静态链接将代码直接嵌入程序,无需保留原库但占用空间更大。库命名以lib开头,如动态库libc.so.2.77,静态库libc.a。使用gcc编译时可选择动态链接(默认)或静态链接(加-static选项)。通过ldd命令可查看程序依赖的动态库。静态链接生成的文件更大,但运行时不再依赖原库。
2025-06-29 17:14:58
341
原创 (Linux)权限的基础理解
摘要:Linux系统通过权限机制保护文件安全,分为超级用户(root)和普通用户。文件权限包括读(r)、写(w)、执行(x)三种,分别针对文件拥有者(u)、所属组(g)和其他用户(o)。使用chmod命令可修改权限,支持增加(+)、减少(-)和赋予(=)操作。chown和chgrp命令分别用于更改文件拥有者和所属组。合理设置权限可以防止机密文件被非法访问或篡改。
2025-06-25 17:52:39
868
原创 (C语言)指针的初步了解与深入解析
我们首先需要了解地址的概念。计算机的内存就像一个大酒店,里面的每一个房间都有特定的编号,相应的,内存由一个个存储单元组成,其中的每一个存储单元都有自己的地址,存储单元的大小一般是一个字节。计算机会为我们创建的每一个变量分配一块内存的空间用于存放变量的值,这些空间都由相邻的存储单元组成。变量的地址就是这块空间的第一个存储单元的地址。有了地址,计算机就能快速地找到对应的存储单元,以便于进行后续的操作。而指针变量就是用于存储这些地址的变量。
2024-03-30 21:38:14
1048
原创 (C语言)扫雷游戏简单化实现的思路讲解与演示
确定扫雷游戏的实现方式后,我们就可以着手完成各种需要用到的函数了,之后再在main函数中进行组装。先从最简单的输出开始。由于每次输入坐标后,输出的部分(玩家看到的扫雷图,即数组display的内容)都会发生变化,为了不重复地写用于输出数组display内容的代码,我们定义一个新函数show,使得将数组传入后即可完成数组内容的输出。
2024-01-17 17:35:26
1032
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人