- 博客(64)
- 收藏
- 关注
原创 JUC(java)
堆和方法区是所有线程共享的资源,其中堆是进程中最大的一块内存,主要用于存放新创建的对象 (几乎所有对象都在这里分配内存),方法区主要用于存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。并发编程的目的就是为了能提高程序的执行效率进而提高程序的运行速度,但是并发编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题,比如:内存泄漏、死锁、线程不安全等等。这其中前三种都会发生线程切换,线程切换意味着需要保存当前线程的上下文,留待线程下次占用 CPU 的时候恢复现场。
2025-04-08 23:15:04
708
原创 Springboot
1.注解用于将HTTP请求映射到控制器的处理方法上。其主要作用是将客户端发送的请求(如GET、POST、PUT、DELETE等)与服务器端的控制器方法进行对应,从而让服务器根据不同的请求执行相应的逻辑。
2024-07-10 23:41:44
402
1
原创 力扣哈哈哈哈
在这个比较器中,首先比较两个元素的第一个元素 pair1[0] 和 pair2[0],如果它们不相等,则按照元素的第一个值从大到小排序,即返回 pair2[0] - pair1[0]。在这行代码中,pq.offer(new int[]{nums[i], i}),我们创建了一个整数数组 new int[]{nums[i], i},其中 nums[i] 是当前元素的值,i 是当前元素的索引。这样,每个元素都以 [nums[i], i] 的形式存储在优先队列中,从而实现了按照元素值及其对应的索引进行排序。
2024-04-17 21:16:11
1038
原创 顺序栈和链栈(算法设计和实验)
将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号的栈顶指针top[0]等于-1时该栈为空;当第1号栈的栈顶指针top[1]等于m时,该栈为空。两个栈均从两端向中间增长(如下图所示)。回文是指正读和反读均相同的字符序列,如”abba”和”abdba”均是回文,但”good”不是回文,试写一算法利用栈判定给定的字符序列是否为回文。(提示:将一半字符入栈)//栈最大可容纳元素个数。
2024-04-07 22:19:18
759
原创 链表实验.
最后,将剩余未遍历完的链表直接接到结果链表的末尾。算法实现将两个递增的带头结点有序链表合并为一个递增的有序链表,结果链表仍然使用原来两个链表的存储空间,没有重复的数据。循环比较两个链表的节点值,将较小的节点接入结果链表,并更新对应链表的指针。初始化指针 prev 指向 head1,用于追踪结果链表的最后一个节点。有一个带头结点的单链表L,编写在值为x的结点之后插入m个结点的算法。如果找到了值为 x 的结点,则在其后插入 m 个新的结点。如果两个节点值相同,只保留一个节点。遍历链表,寻找值为 x 的结点。
2024-04-07 22:16:31
698
原创 LEETCODE3
尽管代码中没有明确地使用一个数组来存储状态,但是动态规划的核心思想仍然被运用了:将问题分解成子问题,利用已经求解过的子问题的解来求解当前问题。
2024-03-12 21:15:54
459
原创 leetcode
这段代码的逻辑是正确的,它通过将链表转换为环来简化操作,然后找到旋转后的新头部节点和尾部节点,并进行连接和断开操作,实现了单链表的向右旋转。//将链表的最后一个节点指向链表头部,形成一个环。首先,检查特殊情况:如果 k 为 0、链表为空或链表只有一个节点,则直接返回原链表头部。移动到新的尾部节点的前一个节点,即旋转后的链表的最后一个节点。将新的尾部节点的下一个节点作为新的头部节点,并将尾部节点的。将链表的最后一个节点指向链表头部,形成一个环。移动到链表的最后一个节点,并统计节点个数。
2024-02-29 21:45:49
781
原创 easyx
注意:easyx 包含源文件必须是.cpp,即使你用c语言写代码也要用c++的.cpp,不然会报错。flag 窗口样式,默认为NULL。width 窗口宽度。height 窗口高度。
2024-01-30 12:43:33
368
原创 第一周力KOU
函数的工作方式是从字符串的开头开始扫描,直到遇到非数字字符为止。一旦遇到非数字字符,它停止扫描,并返回之前解析的数字部分。的指向已经发生了变化,这可能导致在调用方获取到的链表头节点并不是正确的。你的代码基本上是正确的,实现了使用归并排序对链表进行排序。函数中使用一个额外的指针来保持新链表的头节点,并返回它。接着左边3 1和5右边4 2和6,变成3 1/5 4 2/6。简述一下归并排序链表的过程,假设有无序链表3 1 5 4 2 6。指针,并在循环中改变了它的指向。然后是1 3 5/2 4 6。
2024-01-23 23:15:37
847
原创 堆排序算法
大顶堆:所有节点左孩子与右孩子都小于父节点,则满足大顶堆规律。小顶堆:所有节点左孩子与右孩子都大于父节点,则满足小顶堆规律。注意:堆要按照完全二叉树的排法依次排列树。
2023-12-28 19:51:50
967
原创 结构体数组的应用
③要求输入一个职工号,用折半查找找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。②按职工号由小到大顺序排列,姓名顺序也随之调整;①输入10个职工的姓名和职工号;
2023-12-16 15:29:59
401
原创 广度(宽度)优先搜素——层层递进
BFS从起始节点开始,首先访问起始节点,然后逐层地访问其邻居节点,直到达到目标节点或者遍历完整个图或树。这是因为队列是先进先出(FIFO)的数据结构,确保先入队的节点先被访问。对于当前节点,将其所有未被访问过的邻居节点加入队列。这是BFS的关键之处,它确保在下一轮循环中,先处理当前节点的邻居节点,以保持按层级的遍历顺序。一旦从队列中取出一个节点,就进行相应的处理,可能是输出节点的值、进行某种操作,或者记录节点的信息。BFS的特点是按层级遍历,保证了在访问相邻节点时,首先访问的是与起始节点相距最近的节点。
2023-12-12 22:17:16
473
1
原创 深度优先搜素
是深度优先搜索的一个关键步骤,它意味着在搜索的过程中,当达到一个末端节点或者无法继续前进时,算法会回到先前的节点,尝试探索其他未访问的分支。具体来说,当DFS到达树或图的末端,或者在搜索过程中无法继续前进时,它会返回到上一层节点,继续搜索未被探索的分支。在DFS中,从起始点开始,尽可能深地访问每一个相邻节点,直到到达最深的节点,然后再回溯到上一层,继续探索其他分支。让我们通过一个简单的例子来说明回溯的概念。回溯是深度优先搜索算法的一个核心概念,它确保算法能够穷尽所有可能的路径,从而找到问题的解。
2023-12-12 20:20:29
454
原创 坑爹的奥数(枚举法)
是一种解决问题的基本方法,它通过列举问题的所有可能情况来找到问题的解。这种方法适用于问题的解空间相对较小,可以通过穷举所有可能的解来找到最优解或满足特定条件的解。对得到的解进行评估和分析,确定最终的解。找到问题的解空间,即所有可能的解集合。根据问题的特定条件筛选出符合要求的解。确定问题的具体描述和要求。列举解空间中的所有可能解。
2023-12-12 19:26:24
429
原创 静态链表(模拟链表)数据的插入
是一种基于数组的数据结构,用于模拟链表的行为。与动态链表(使用指针来动态分配内存)不同,静态链表使用数组来存储数据,并通过数组元素之间的关系来模拟链表节点之间的连接。来只需要将right[3]改为10,表示新序列中3号元素右边的元素存放在data[10]中。的值为 2,就表示当前序列中 1 号元素右边的元素存放在 data[2]中;数组 right 是用来存放当前序列中每一个元素右边的元素在数组 data 中位置的。从头到尾遍历整个序列了(序列的每个元素的值存放在对应的数组 data 中),如下。
2023-12-12 19:12:33
419
原创 优势怪代码
/ 输出换行,表示当前测试用例处理完毕。// 读取数组的大小。// 读取测试用例的数量。while (t--) { // 对每个测试用例进行处理。// 找到除了第一个最大值外的数组中的第二大值。// 读取数组元素,并找到最大值和对应的索引。// 输出每个元素减去相应最大值的结果。
2023-12-12 00:47:49
529
原创 循序字符中插入数据(链表)
有一串已经从小到大排好序的数 2 3 5 8 9 10 18 26 32。现需要往这串数中插入 6 使其得。到的新序列仍符合从小到大排列。
2023-12-11 21:43:58
355
原创 纸牌游戏(栈和队列)
在编程中,栈的概念通常与函数调用栈相关,其中每次函数调用都将当前状态(局部变量、返回地址等)压入栈中,而函数返回时将其弹出。的上面,就像这样两人交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,即可将两张相同的牌及其中间所夹的牌全部取走,并依次放到自己手中牌的末尾。这意味着最先进入队列的元素将是第一个被取出的,而最后进入队列的元素将是最后被取出的。这意味着最后进入栈的元素将是第一个被取出的,而最先进入栈的元素将是最后被取出的。在许多编程语言中,都有内建的栈数据结构或提供了相关的库函数来实现栈操作。
2023-12-11 20:33:23
604
原创 第三章线性表
3.10单链表结构与循序存储结构优缺点。3.4循序储存结构的插入与删除。3.2线性表的抽象数据类型。3.3线性表的循序储存结构。数组长度与线性表长度的区别。线性表循序储存结构的优缺点。3.5线性表的链性存储结构。3.7单链表的插入与删除。3.9单链表的整表删除。3.8链表的整表创建。
2023-12-11 18:17:06
1177
1
原创 第二章算法
注:判断一个算法的效率时,函数的常数和其他次要项常常可以忽略,而更应该关注主项(最高阶项)的阶数。2.4算法效率的度量方法。2.8最坏情况与平均情况。时间效率高和存储量低.2.7常见的时间复杂度。2.3算法设计的要求。2.5函数的渐近增长。2.6算法时间复杂度。算法时间复杂度的定义。2.9算法空间复杂度。
2023-12-10 20:53:49
422
原创 第一章数据结构绪论
按照观点不同,我们把数据结构分为逻辑结构图物理结构。注:给出描述数据类型的基本格式。1.3逻辑结构与物理结构。1.1数据结构的定义。1.2基本概念和术语。
2023-12-10 19:24:49
927
原创 学写字问题
可爱的Timur今天练习写字了,她第一个要学的子就是自己的名字,因为她是第一次写字,所以我们允许她写出自己名字的任何排列,如Timur, miurT, Trumi, mriTu我们都认为他是正确的,但是timur,Timurr我们都认为是错误的,timur的t应该是大写,Timurr多写了一个r.根据Timur写出的名字,我们要判断她写的是错误还是正确.对于每一组输入,我们给定一个字符串.(给定字符串的长度不超过100)如果Timur写对了就输出"YES",否则输出"NO"
2023-12-09 16:29:36
471
原创 删除数组重复元素
内层循环从当前元素的下一个元素开始,用于与当前元素比较,查找重复项。使用循环将重复元素之后的元素依次前移,覆盖重复的元素。递增删除元素的计数器,并将内层循环的控制变量。打印修改后的数组,只打印不包含重复元素的部分。减一,以确保下次循环检查相同的数组索引。外层循环用于遍历数组中的每个元素,其中。被初始化为包含 15 个整数的数组。如果发现重复元素,进入以下步骤。是删除的元素计数器。
2023-12-07 17:00:41
791
原创 提取奇数位
/ 将字符转换为数字。// 假设整数的位数不超过20位。printf("提取的奇数位数字:%s\n", t);// 如果是奇数,添加到新数字中。// 初始化一个字符数组用于存储奇数位上的数字。// 在新数字的末尾添加字符串结束符。// 逐位检查每个字符是否为奇数。// 调用函数提取奇数位数字。// 打印提取的奇数位数字。// 将整数转换为字符串。
2023-12-06 20:56:24
1014
原创 数树问题(桶排序)
第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点 和终止点的坐标。某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
2023-12-06 20:19:58
425
原创 找丢失号码(桶排序)
题目:小明拿着本院100名校运会选手的号码牌走向操场,号码是101到200.出于道路施工加上下雨,小明摔跤后将号码牌散落在地,小明捡起来发现只有99张号码牌,请你编程帮小明快速找到是什么号码丢失。// 桶的范围是1到100。// 遍历小明手上的号码牌,将对应的桶中的数字标记为已经存在。// 寻找未被标记的桶,即为小明丢失的号码。// 模拟小明手上的99张号码牌。// 将实际号码放入桶中。// 查找丢失的号码。注重掌握桶排序的思想。// 查找丢失的号码。
2023-12-06 20:13:12
432
原创 桶排序去重
for (i = 1;i <= 1000;i++)//依次判断1-1000这个1000个桶。for (i = 1;i++)//循环读入n个图书的ISBN号。//把每一个ISBN号读到变量t中。if (a[i] == 1)//如果这个ISBN出现过则打印出来。//标记出现过的ISBN号。}//这里达到了去重的目的。
2023-12-06 19:45:09
591
原创 快速排序算法
它的基本思想是选择一个元素作为基准(pivot),然后将数组中小于基准的元素放在基准的左边,大于基准的元素放在基准的右边。在实践中,快速排序经常被选择作为默认的排序算法,例如在许多编程语言中的排序库中。在平均情况下,快速排序的时间复杂度为 O(n log n),其中 n 是待排序数组的长度。在处理已经有序的数据时,快速排序的性能可能下降,因为它在每一轮都选择最后一个元素作为基准,这样可能导致子问题的不平衡。快速排序是一种不稳定的排序算法,即在排序过程中相同元素的相对顺序可能会改变。
2023-12-06 19:30:52
476
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人