- 博客(30)
- 收藏
- 关注
原创 并查集(Union-Find Set)介绍
并查集是一种数据结构,用于处理一些不相交集合的合并及查询问题。初始化并查集,使每个元素自成一个集合。查找某个元素所属的集合。将两个集合合并成一个集合。并查集常用于解决图论中的连通性问题,例如判断图中两个节点是否在同一个连通分量内。
2024-08-05 11:45:26 362
原创 树的存储结构
用数组顺序存储各个结点,每个结点中保存数据元素、孩子链表头指针。每个结点的孩子以单链表作为存储结构,n个头指针又采用顺序存储结构。每个结点内保存数据元素和两个指针,但是两个指针的含义与二叉树结点不同。双亲表示法采用一段连续空间来储存结点,并且在每个结点中创建一个伪指针,来储存双亲的位置。③最后是申明一个数组,存储各个结点的信息,并且记录结点数和根的位置。①先是创建链表结点,存储当前孩子编号,和下一个孩子指针。可以方便地实现数转换为二叉树的操作,易于查找结点的孩子。找双亲不方便,只能遍历每个链表。
2024-07-30 18:44:48 288
原创 二叉树链式存储
二叉树是一种树形结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树广泛应用于各种算法和数据结构中,如二叉搜索树、堆和哈夫曼编码等。int data;// 数据域// 左子节点指针// 右子节点指针} TreeNode;二叉树的链式存储是一种灵活且高效的实现方式,适用于各种需要动态插入和删除节点的场景。通过本文的介绍,相信大家对二叉树的链式存储有了更深入的了解。在实际应用中,可以根据具体需求选择合适的存储方式。希望这篇博客对你有所帮助,欢迎在评论区留下你的问题和见解!
2024-07-15 19:28:41 253 1
原创 基于hive数据库的泰坦尼克号幸存者数据分析
泰坦尼克号是当时世界上体积最庞大、内部设施最豪华的客运轮船,有“永不沉没”的美誉。然而不幸的是,在它的处女航中,泰坦尼克号便遭厄运——它从英国南安普敦出发驶向美国纽约。(1)列名介绍PassengerID->乘客IDSurvived->是否生还Pclass->船舱级别Name->姓名Sex->性别Age->年龄SibSp->兄弟姐妹与配偶的总数Parch->父母和孩子的总数Ticket->船票IDFare->票价Cabin->舱室Embarked->出发港口。
2024-07-15 10:35:05 1057
原创 朴素模式匹配算法
朴素模式匹配算法是一种简单的字符串匹配算法,用于查找一个字符串(模式串)在另一个字符串(文本串)中的位置。该算法的时间复杂度为O(nm),其中n是文本串的长度,m是模式串的长度。朴素模式匹配算法虽然简单易懂,但在处理长字符串时效率较低。在实际应用中,通常会选择更高效的算法来进行字符串匹配。
2024-07-10 14:35:15 173
原创 字符串函数简单使用
字符串是编程中常见的数据结构。本文将介绍如何在C++中实现字符串的基本操作,包括初始化、长度获取、子串提取、字符串比较和字符串匹配,并通过代码示例展示这些操作。主函数展示了如何初始化字符串、插入元素、获取字符串长度和使用字符串匹配函数。来表示字符串,该结构体包含一个字符数组和一个整数表示长度。初始化字符串将字符数组清零并将长度设为0。在主串中查找子串的位置。我们定义了一个结构体。比较两个字符串的大小。从字符串中提取子串。
2024-07-07 20:46:42 110
原创 链式队列的基本操作
通过以上代码示例,我们介绍了两种实现链式队列的方式。带头节点的链式队列实现起来更加简洁,而不带头节点的实现则更节省内存。具体选择哪种实现方式,可以根据实际需求和场景进行权衡。
2024-06-24 16:36:14 123
原创 循环队列的基本操作
通过以上代码示例,我们介绍了循环队列的实现方式。循环队列的优点是可以高效地利用数组空间,避免了因数组末尾空间不足而浪费的情况。
2024-06-24 14:17:36 613
原创 链式栈的基本操作
通过以上代码示例,我们介绍了链式栈的实现方式。链式栈的优点是动态内存分配,可以根据需要灵活地增加和减少栈的大小,避免了固定大小栈可能存在的内存浪费问题。
2024-06-19 15:37:10 238
原创 双向链表的基本操作
通过这些操作,可以看到双向链表的基本功能:初始化、插入和删除。实际应用中,双向链表还可以用于实现更复杂的数据结构和算法。函数中,我们演示了初始化链表、插入节点、删除节点和遍历链表的操作。下面是双向链表的实现代码及其解释。该函数分配一个新的头节点,并将其。
2024-06-18 16:29:26 445
原创 L1-023 输出GPLT(分数 20)
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT…这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。在一行中按题目要求输出排序后的字符串。遇到非0的就输出并且 - -找到每个字符使每个变量++
2024-04-18 19:27:18 212
原创 L1-017 到底有多二(分数 15)
一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。在一行中输出N犯二的程度,保留小数点后两位。输入第一行给出一个不超过50位的整数N。读入为字符串找到有2的++操作。
2024-04-17 21:21:51 264
原创 L1-020 帅到没朋友(分数 20)
随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。虽然有个别自恋狂会自己把自己反复加进朋友圈,但题目保证所有K超过1的朋友圈里都至少有2个不同的人。按输入的顺序输出那些帅到没朋友的人。在输入被检查的 id 时,查看对应下标的元素是否为 0,若为 0,说明此人帅到没朋友。
2024-04-17 21:15:12 223
原创 L1-019 谁先倒 (分数 15)
酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。在第一行中输出先倒下的那个人:A代表甲,B代表乙。输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以空格分隔。下一行给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。其中喊是喊出的数字,划是划出的数字,均为不超过100的正整数(两只手一起划)。
2024-04-17 18:22:34 226
原创 L1-005 考试座位号(15分)
正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到 N 编号。对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用 1 个空格分隔。考生信息之后,给出一个正整数 M(≤N),随后一行中给出 M 个待查询的试机座位号码,以空格分隔。
2024-04-15 14:13:50 187 1
原创 L1-003 个位数统计(15分)
给定一个整数n,统计每种不同的个位数字出现的次数。例如,给定n=100811,则有2个0,3个1,1个8。输入在一行中给出一个正整数 N(1
2024-04-15 14:08:15 355 1
原创 L1-002 打印沙漏 (20 分)
所谓“沙漏形状”,是指每行输出奇数个符号;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。
2024-04-15 14:01:49 459 1
原创 C++实现二分查找
二分查找(Binary Search)是一种在有序数组中查找特定元素的算法。它的基本思想是将待查找区间的中间元素与目标值进行比较,根据比较结果缩小查找范围,直到找到目标值或者确定目标值不存在为止。
2024-03-14 22:51:05 485 1
原创 Hadoop-3.3.0-Centos7安装详解
这里是将JDK添加到user_hbase用户的环境变量中,执行“vi ~/.bash_profile”命令,打开.bash_profile文件,在文件底部添加如下内容即可。配置IP映射,将三台虚拟机的IP地址与对应的主机名进行映射,便于后续可以直接通过主机名访问对应的主机,这里以虚拟机node1为例,具体操作步骤如下。将公钥拷贝到需要关联的虚拟机上(即node1、node2、node3),根据提示输入“yes”和node2主机的密码123456。执行“ssh node2”命令,验证免密登录是否成功。
2024-03-14 21:04:52 1403 1
原创 在Liunx操作系统(Centos和Ubuntu)下配置静态IP
1、进入root管理员模式下su root2、进入network-scripts目录下3、修改ifcfg-ens33文件4、重启网卡测试5、检查是否联网。
2024-03-13 17:59:26 501 1
原创 理解前缀和与差分:高效计算数组前缀和与差分技巧
前缀和是指数组或序列中每个位置之前的元素总和。给定一个长度为n的数组A,前缀和P的第i个元素表示A中前i个元素的总和。通常,P[0]设置为0,表示前0个元素的总和为0。通过计算前缀和,我们可以快速获得任意位置之前的元素总和。
2023-05-28 19:58:08 1309 2
原创 vscode里面配置Python环境(小白保姆教程)
6、新建Path 把Python路径+“Scripts\”放到里面,新建Path 把Python路径放到里面,退出点击三次确定。2、我的电脑右键 点击属性(Win + i唤起系统设置 + 高级设置)1、打开VScode分别安装两个插件 ①Chinese ②python。理论上你可以在任何地方解压,但注意路径不能包含中文。1、找到 Python 的安装路径。4、点击高级–再点击环境变量。2、全部勾选(建议)配置Python环境。
2023-05-17 19:55:53 10525 1
原创 vscode里面配置C/C++环境(小白保姆教程)
2、我的电脑右键 点击属性(Win + i唤起系统设置 + 高级设置)6、新建Path 把jdk路径+“\bin”放到里面,退出点击三次确定。1、打开VScode分别安装两个插件 ①Chinese ②C/C++理论上你可以在任何地方解压,但注意路径不能包含中文。1、找到 MinGW 的安装路径。4、点击高级–再点击环境变量。往采纳,记得一键三连哟。2、全部勾选(建议)
2023-05-17 12:17:28 346
原创 vscode里面配置Java环境(小白保姆教程)
1、打开VScode分别安装两个插件 ①Chinese ②Extension Pack for Java。6、新建Path 把jdk路径+“\bin”放到里面,退出点击三次确定。1、找到 jdk 的安装路径。4、点击高级–再点击环境变量。2、我的电脑右键 点击属性。往采纳,记得一键三连哟。2、全部勾选(建议)
2023-05-16 22:53:23 16626 3
原创 进制转换----辗转相除法(c++实现)
辗转相除法,也称欧几里得算法,是求两个正整数最大公约数的常用方法。该算法基于以下原理:对于两个正整数a和b,其最大公约数等于b和a mod b的最大公约数。换句话说,我们不断将较大数除以较小数所得余数,直到余数为零为止,此时较小数即为原始两数的最大公约数。
2023-05-08 22:31:10 3074 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人