自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(158)
  • 资源 (2)
  • 收藏
  • 关注

原创 华为云服务器上部署war包(虚拟机也同样适用)

Linux上部署war项目全过程填坑教学

2022-12-27 18:10:28 827 2

原创 软件测试复习

采用手工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

2022-10-23 19:44:58 574

原创 符号优先级误区一:移位运算符优先级比加减运算符低

符号优先级误区

2022-08-17 22:54:26 540

原创 两周带你学会计算机操作系统——第一天:操作系统的前世今生

操作系统的前世今生为什么要有操作系统大家不妨思考下,如果说,你的电脑没有了操作系统了,你怎么用电脑?显而易见,99%的人都对其毫无办法,哪谁有办法?熟悉机器指令,汇编指令的那一批人,但是显然他们同样也需要对应的工具才能让电脑按照它们的想法去执行。但是这样子的话,显然,对于那99%的人来说,计算机就失去了它应有的作用。那怎么办呢?怎么才能让那99%的人也能使用计算机呢?操作系统的出现解决这个问题。由熟悉机器指令,汇编指令的那一批人设计出的最接近硬件的软件——操作系统,让那99%的用户能够使用计算机进行工

2022-04-11 12:42:05 1331

原创 leetcode刷题题解——面试题 02.01. 移除重复节点

面试题 02.01. 移除重复节点题目编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]示例2:输入:[1, 1, 1, 1, 2]输出:[1, 2]提示:链表长度在[0, 20000]范围内。链表元素在[0, 20000]范围内。思路暴力解法从前面每个节点开始,与后面的每个节点进行比较,从而进行重复元素的移除,如下:但是显然时间复杂度为O(n2n^2n2)利用数组存储已访问节点,

2022-04-09 22:51:03 993

原创 leetcode刷题题解——面试题 01.02. 判定是否互为字符重排

文章目录面试题 01.02. 判定是否互为字符重排题目思路代码实现面试题 01.02. 判定是否互为字符重排题目给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例 1:输入: s1 = “abc”, s2 = “bca”输出: true示例 2:输入: s1 = “abc”, s2 = “bad”输出: false说明:0 <= len(s1) <= 1000 <= len(s2) <= 100

2022-04-08 20:03:33 286

原创 leetcode刷题题解——135. 分发糖果

分发糖果题目n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。动态规划我采用的是动态规划的方法,设dp[i]表示前i+1个分数时的最优策略有如下三种情况:如果第i个分数大于第i-1个分数,自然:dp[i] = dp[i-1] + 1如果第i个分数小于第i-1个分数,并且dp[i-1

2022-04-06 22:32:13 904

原创 leetcode刷题题解——371. 两整数之和

两整数之和思路知识储备a&b产生进位、a^b产生当前位结果进位仍然需要与当前位结果求和才能得到最终结果进位为0时,最终结果才会产生过程在上面的介绍中,不难发现其实就是一个迭代的过程初始时,进位设为a,结果设为b循环判断进位是否为0,不为0,则计算进位和当前位为0,结束循环,此时res中存储了最终结果Java代码实现public class 两整数之和 { public int getSum(int a, int b) { int carry

2022-04-05 21:56:55 343

原创 生成素数——埃氏筛、线性筛、奇数筛从理论到实践

目录生成素数的三大法宝埃氏筛理论Java实现线性筛理论Java实现奇数筛理论Java实现生成素数的三大法宝埃氏筛理论埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。过程:要得到自然数n以内的全部素数,必须把不大于 的所有素数的倍数剔除,剩下的就是素数。给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,

2022-04-04 17:22:36 725 4

原创 超越算法能力的极限——回溯法

回溯法回溯法的前世今生我们可以把回溯法看作穷举查找的一个改进。但和穷举查找不同的是,它每次只构造候选解的一个分量,然后评估这个部分构造解:如果加上剩下的分量也不可能求得一个解,就绝对不会生成剩下的分量。虽然在最坏的情况下,我们还是需要面对穷举查找中遇到的指数级爆炸问题,但这种方法使我们至少可以对某些组合难题的较大实例求解。回溯法是以构造一棵状态空间树为基础的,树的节点反映了对一个部分解所做的特定选择。如果可以保证,节点子孙所对应的选择不可能得出问题的一个解,该技术就会立即停止处理这个节点。对于回溯法来

2022-04-04 00:46:52 1260

原创 第二讲——计算机网络是如何构建的?

计算机网络体系结构与参考模型计算机网络分层结构两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构以分层的方式进行建模。我们把计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的层次、各层的协议及层间接口的集合。需要强调的是,这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种

2022-03-25 20:08:08 744

原创 leetcode刷题题解——912. 排序数组

排序数组自己实现思路手写快排Javaclass Solution { int[] array; public int[] sortArray(int[] nums) { this.array = nums; quickSort(0,nums.length-1); return nums; } void quickSort(int l,int r){ if (l<r){ i

2022-03-25 12:21:57 892

原创 第一讲——什么是计算机网络?

计算机网络概述计算机网络的概念一般认为,计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简而言之,计算机网络就是一些互联的、自治的计算机系统的集合,在计算机网络发展的不同阶段,人们对计算机网络给出了不同的定义,这些定义反映了当时网络技术发展的水平。这些定义可分为以下三类。广义观点这种观点认为,只要是能实现远程信息处理的系统或能进一步达到资源共享的系统,都是计算机网络。广义的观点定义了一个计算机通信网络,它在物理结构上具

2022-03-25 01:11:09 3827

原创 分治法——凸包问题

凸包问题相关解读Java代码package com.算法.分治法;import java.util.*;/** * @Author Lanh **/public class 凸包问题 { public static void main(String[] args) { int[][] matrix = {{12,5},{23,1},{3,27},{65,4},{2,5},{5,3},{3,7},{5,7}}; List<Node>

2022-03-24 20:13:41 1110

原创 分治法——最近对问题

最近对问题令P为笛卡儿平面上n>1个点构成的集合。简单起见,假设集合中的每个点都不一样。我们还假设这些点是按照其x轴坐标升序排列的。(如果不是这样,可以事先用类似合并排序这样的高效算法对其排序。)为了更加方便,我们还可以按照点的y轴坐标在另一个列表中进行升序排列,并将这个列表示为Q。当2≤n≤3时,问题就可以通过蛮力算法求解。当n>3时,可以利用点集在x轴方向上的中位数m,在该处作一条垂线,将点集分成大小分别为⌈n/2⌉和⌊n/2⌋\lceil n/2 \rceil 和\lfloor n/2

2022-03-24 13:48:40 3678

原创 leetcode刷题题解——26. 删除有序数组中的重复项

删除有序数组中的重复项方法一:自己写的答案思路:把数组的长度赋值给len进入循环,不是最后一个值则判断是否重复,重复则将后续的值依次往前挪,将重复值覆盖,len–nums[j]–的原因时,j-1当前已经时最后一个值的索引了,但是后续数值并没有删除,当nums[j-1]==nums[j]的时候将会陷入死循环,所以需要修改后续的值,至于为什么是自减1,是因为给数组是递增的,自减1才不会与前面的值重复同时考虑可能有多个重复值,使用while循环返回lenclass Solution {

2022-03-21 20:44:00 1123

原创 leetcode刷题题解——162. 寻找峰值

寻找峰值要求:思路:由于时间负责度需要是O(log⁡n\log_nlogn​),所以选择了分治法进行查找由于给出的函数形式不满足递归的需求,创建新函数递归函数,判断递归截止条件:l>r对中间索引的值进行条件判断,符合峰值条件,返回索引否则,递归调用左边区间,并将返回值存储在target中,使用三目运算符决定返回值,如果左边区间返回值为-1,那么右边返回值决定了是否有峰值:为-1,则左右均为-1,无峰值;否则,峰值出现在右边区间,返回即可。如果左边区间不为-1,那么直接返回该峰值对

2022-03-21 19:49:08 214

原创 leetcode刷题题解——704. 二分查找

二分查找>注意:nums数组需要是递增数组思路:设置上下界:l、r计算中间索引mid,并将对应索引的数据与查找目标target对比相等:返回mid索引target大:需要查找的数据应该在区间[mid+1,r]target小:需要查找的数据应该在区间[l,mid-1]当l>r时,依旧没有找到,说明该数值并不在该数组中class Solution { public int search(int[] nums, int target) { int

2022-03-21 19:13:22 279

原创 一文带你读懂git

目录GitGit的作用Git 的优势Git 和代码托管中心Git基本使用第一步:环境配置第二步:浅析Git 存储流程第三步:Git 常用命令远程仓库操作第一步:配置环境第二步:创建并连接远程仓库第三步:建立与远程仓库的连接在IDEA中使用git第一步:配置环境第二步:进行项目管理第三步:在 idea 中用 git 获取新项目代码Git首先Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目..

2022-03-20 18:35:26 985 1

原创 分治法——大整数乘法

大整数乘法某些应用,尤其是当代的密码技术,需要对超过100位的十进制整数进行乘法运算。显然,因为这样的整数过于长,现代计算机的一个“字”是装不下的,所以我们需要对它们做特别的处理。这就是研究高效的大整数乘法算法的现实需求。在本节中,我们会介绍一个对这种数做乘法的有趣算法。显然,如果我们使用经典的笔算算法来对两个位整数相乘,第一个数中的n个数字都分别要被第二个数中的n个数字相乘,这样就一共要做n次位乘(如果一个数的位数比另一个数少,我们可以在较短的数前补零,使得两个数的位数相等)。虽然看上去,设计一个乘法次

2022-03-18 15:48:08 684

原创 分治法——合并排序(归并排序)

合并排序(归并排序)合并排序是成功应用分治技术的一个完美例子。对于一个需要排序的数组A[0…n-1],合并排序把它一分为二:A[0..⌊n/2⌋−1]和A[⌊n/2⌋..n−1]A[0..\lfloor n/2 \rfloor -1]和A[\lfloor n/2 \rfloor ..n-1]A[0..⌊n/2⌋−1]和A[⌊n/2⌋..n−1],并对每个子数组递归排序,然后把这两个排好序的子数组合并为一个有序数组。对两个有序数组的合并(merging)可以通过merge的算法完成。初始状态下,两个指针(数

2022-03-18 00:22:23 1811

原创 减治法——减可变规模算法

减可变规模算法计算中值和选择问题选择问题(selection problem)是求一个n个数列表的第k个最小元素的问题。这个数字被称为第k个顺序统计量(order statistic)。当然,对于k=l或者k=n的情况,我们可以只扫描所讨论的列表,然后分别找出最小或者最大的元素。该问题的一个更有意思的情况是在k=「n/2]时,它要求找出这样一个元素,该元素比列表中的一半元素大,又比另一半元素小。这个中间的值被称为中值(median),它在数理统计中是一个非常重要的量。显然,为了找出第k个最小的元素,我们

2022-03-17 23:02:03 906

原创 临阵磨枪简单篇——第一天

临阵磨枪简单篇——第一天单词分析题目描述小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。输入描述输入一行包含一个单词,单词只由小写英文字母组成。对于所有的评测用例,输入的单词长度不超过 1000。输出描述输出两行,第一行包含一个英文字母,表

2022-03-17 20:24:54 88

原创 减治法——减常因子算法

减常因子算法折半查找对于有序数组的查找来说,折半查找是一种性能卓越的算法。它通过比较查找键K和数组中间元素A[m来完成查找工作。如果它们相等,算法结束。否则,如果K<A[m],就对数组的前半分执行该操作,如果K>A[m],则对数组的后半部分执行该操作。虽然折半查找很明显是基于递归的思想,它也可以很容易地以非递归算法的形式实现。伪代码BinarySearch(A[0..n-1],K) //实现非递归的折半查找 //输入:一个升序数组A[0..n-1]和一个查找键K //输出:一个数组

2022-03-17 13:17:31 658

原创 减治法——生成组合对象

生成组合对象组合对象中最重要的类型就是排列、组合和给定集合的子集。一般来说,这种情况出现在要对不同的选择进行考虑的问题中生成排列为了简单起见,假设需要对元素进行排列的集合是从1到n的简单整数集合。为了使它更具有一般性,可以把它们解释为n个元素集合{a1...an}\{a_1...a_n\}{a1​...an​}中元素的下标。对于生成{1...n}\{1...n\}{1...n}的所有n!个排列的问题,减一技术有什么好建议呢?该问题的规模减一就是要生成所有(n一1)!个排列。假设这个较小的问题已经解决了

2022-03-17 02:25:26 811

原创 减治法——拓扑排序

拓扑排序一个常见的例子,我们考虑五门必修课的一个集合{C1.C2.C3,C4,C5},一个在校的学生必须在某个阶段修完这几门课程。可以按照任何次序学习这些课程,只要满足下面这些先决条件:C1和C2没有任何先决条件,修完C1和C2才能修C3,修完C3才能修C4,而修完C3和C4才能修C5。这个学生每个学期只能修一门课程。这个学生应该按照什么顺序来学习这些课程?这种状况可以用一个图来建模,它的节点代表课程,有向边表示先决条件。就这个图来说,上面这个问题其实就是:我们是否可以按照这种次序列出它的顶点,使得

2022-03-16 20:52:59 883

原创 减治法——插入排序和希尔排序

插入排序在本节中,我们考虑如何用减一技术对一个数组A[0…n-1]排序。遵循该方法的思路,我们假设对较小数组A[0.n-2]排序的问题已经解决了,得到了一个大小为n-1的有序数组:A[0]≤…≤A[n-2]。我们如何利用这个较小规模的解,并将元素A[n-1]考虑进来,来得到原问题的解呢?显然,我们需要做的就是在这些有序的元素中为A[-1]找到一个合适的位置,然后把它插入到那里。一般来说,我们可以从右到左扫描这个有序的子数组,直到遇到第一个小于等于A[n-1]的元素,然后把A[n-1]插在该元素的

2022-03-16 13:20:00 646 2

原创 SpringCloud——Zuul从0到1实战,构建微服务网关

Zuul为什么要使用微服务网关经过前文的讲解,微服务架构已经初具雏形,但还有一些问题——不同的微服务一般会有不同的网络地址,而外部客户端(例如手机APP)可能需要调用多个服务的接口才能完成一个业务需求。例如一个电影购票的手机APP,可能调用多个微服务的接口才能完成一次购票的业务流程,如图8-1所示如果让客户端直接与各个微服务通信,会有以下的问题:客户端会多次请求不同的微服务,增加了客户端的复杂性。存在跨域请求,在一定场景下处理相对复杂。认证复杂,每个服务都需要独立认证。难以重构,随着项目的

2022-03-15 22:10:31 295

原创 SpringCloud——Hystrix从0到1实战

HystrixEureka实现了微服务的注册与发现,Ribbon实现了客户端侧的负载均衡,Feign实现了声明式的API调用。现在让我们探讨如何使用Hystrix实现微服务的容错实现容错的手段如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到提供者响应或超时。在高负载场景下,如果不做任何处理,此类问题可能会导致服务消费者的资源耗竭甚至整个系统的崩溃。例如,曾经发生过一个案例——某电子商务网站在一个黑色星期五发生过载。过多的并发请求,导致用户支付的请求延迟很久都没有响应,在等待很

2022-03-15 21:13:45 603

原创 深度优先查找和广度优先查找

深度优先查找和广度优先查找在人工智能和运筹学的领域中求解与图有关的许多应用中,这两个算法被证明是非常有用的。并且,如需高效地研究图的基本性质,例如图的连通性以及图是否存在环,这些算法也是必不可少的。深度优先查找深度优先查找可以从任意顶点开始访问图的项点,然后把该顶点标记为已访问。在每次迭代的时候,该算法紧接着处理与当前顶点邻接的未访问顶点。(如果有若干个这样的顶点,可以任意选择一个顶点。但在实际应用中,选择哪一个邻接的未访问候选顶点主要是由表示图的数据结构决定的。在我们的例子中,我们总是根据顶点的

2022-03-15 01:52:51 739

原创 穷举查找之旅行商问题、背包问题、分配问题

穷举查找对于组合问题来说,穷举查找是一种简单的蛮力算法。它要求生成问题域中的每一个元素,选出其中满足问题约束的元素,然后再找出一个期望元素。旅行商问题简单来说,这个问题要求找出一条n个给定的城市间的最短路径,使我们在回到出发的城市之前,对每个城市都只访问一遍。这个问题可以很方便地用加权图来建模,也就是说,用图的顶点代表城市,用边的权重表示城市间的距离。这样该问题就可以表述为求一个图的最短哈密顿回路问题。哈密顿回路:一个对图的每个顶点都只穿越一次的回路对于四个点都连通的图,我们假定从a点出发,可

2022-03-14 21:52:54 1468

原创 SpringCloud——Feign从0到1入门实战

Feign引言初学时,我们是使用拼接字符串的方式构造URL的,该URL只有一个参数。然而在现实中,URL中往往有多个参数。如果这时还使用这种方式构造URL,那么就会变得很低效,并且难以维护,如下:http://localhost:8080/search?name=zhangsan&address=beijing&age=20在这里,URL仅包含3个参数。如果URL更加复杂,例如有10个以上的参数,那么代码会变得难以维护。如何解决这种问题呢?下面将会给你答案Feign简介Feig

2022-03-14 20:35:19 892

原创 SpringCloud——Ribbon从0到1入门实战

RibbonRibbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务提供者地址列表后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法,例如轮询、随机等。当然,我们也可为Ribbon实现自定义的负载均衡算法。在Spring Cloud中,当Ribbon与Eureka配合使用时,Ribbon可自动从Eureka Server获取服务提供者地址列表,并基于负载均衡算法,请求其中一个服务提供者

2022-03-14 13:15:51 529

原创 SpringCloud——高可用EurekaServer应该这样编写

高可用Eureka Server构建一个双节点Eureka Server集群Eureka Serverpom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m

2022-03-13 23:55:15 650

原创 SpringCloud——Eureka从0到1入门实战

EurekaEureka 简介Eureka 是 Netflix 开发的服务发现框架,本身是一个基于 REST 的服务,主要用于定 位运行在 AWS 域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。 SpringCloud 将它集成在其子项目 spring-cloud-netflix 中,以实现 SpringCloud 的服务发现 功能。Eureka 包含两个组件:Eureka Server 和 Eureka Client。Eureka ServerEureka Server 提供服务注

2022-03-13 22:19:01 684

原创 SpringCloud——什么是微服务?

微服务“微服务”一词源于Martin Fowler的名为Microservices的博文,可以在他的官方博客上找到:http://martinfowler.com/articles/microservices.html简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建,并且每个服务都

2022-03-13 14:27:01 1154

原创 数据结构系列笔记——图

图一些概念如果在一个无向图中,从每一个顶点到每一个其他顶点都存在一条路径,则称该无向图是连通的。具有这样性质的有向图称为是强连通的。如果一个有向图不是强连通的,但是它的基础图,即其弧上去掉方向所形成的图是连通的,那么该有向图称为是弱连通的完全图是其每一对顶点间都存在一条边的图。即,对有向图来说:完全图=强连通图+弱连通图表示图的一种简单的方法是使用一个二维数组,称为邻接矩阵表示法。对于每条边(u,v),置A[u][v]等于true;否则,数组的元素就是false。如果为边

2022-03-13 13:54:46 1034

原创 最近对和凸包问题的蛮力算法

最近对思路最近点对问题要求在一个包含n个点的集合里,找出距离最近的两个点。最近点对问题的一个最重要的应用的统计学中的聚类分析。对于n个数据点的集合,层次聚类分析希望基于某种相似度度量标准将数据点构成的簇按照层次关系组织起来。对于数值型数据,相似度度量标准通常采用欧几里得距离;对于文本和其他非数值型数据,通常采用诸如汉明距离这样的相似度度量标准。自上而下的算法初始时一般把每个元素作为一个分离的簇,然后合并最临近的簇,使其成为更大的后继簇。目前演示的话,将使用欧几里得距离进行判断标准d(pi.pj)=

2022-03-13 02:06:54 1163

原创 顺序查找和蛮力字符串匹配

顺序查找该算法只是简单地将给定数组中的连续元素和给定的查找键进行比较,直到遇到一个匹配的元素(成功查找),或者在遇到匹配元素前就遍历了整个列表(失败查找)。但是怎么才知道自己查找完整个列表了呢?在算法的每次循环时都检查是否到达表的末尾吗?如果我们把需要查找的K,放在A[n]的位置会怎么样?这样子的话,我们必然能够找到K,那就自然不用考虑是否到达列表末尾的问题了。但是我们怎么知道查找到的K是列表中原有的元素还是我们添加了列表末尾的?那自然是,查找结束之后,判断i的值,如果i的值等于n,则表示没找到,小于n则

2022-03-12 21:46:55 541

原创 选择排序、冒泡排序

选择排序思路选择排序开始的时候,我们扫描整个列表,找到它的最小元素,然后和第一个元素交换,将最小元素放在它在有序表中的最终位置。然后我们从第二个元素开始扫描列表,找到最后n-1个元素中的最小元素,再和第二个元素交换位置,把第二小的元素放在它的最终位置伪代码:SelectionSort(A[0...n-1]) //该算法用选择排序对给定的数组排序 //输入:一个可排序的数据A[0...n-1] //输出:升序排序的数组A[0...n-1] for i <- 0 to n-2 do m

2022-03-12 20:16:07 623

数据结构C-C++代码实现.rar

最近几天在CSDN问答板块冒泡,很多同学都烦恼于数据结构实现的问题,所以我就把我实现过的结构代码发一下,希望能帮助到有需要的同学。创作不易,我象征收点费。 实现有:(有极少数是当初没有实现的) BFS.cpp DFS.cpp Dijkstra.cpp Floyd.cpp Kruskal.cpp Prim.cpp 串.cpp 单链表.cpp 队列.cpp 二叉树.cpp 关键路径.cpPp 广义表cpp 哈夫曼树.cpp 矩阵.cpp 链队.cpp 链栈.cpp 邻接表创建图.cpp 邻接多重表.cpp 邻接矩阵创建图.cpp 十字链表.cpp 数据结构.md 双向链表.cpp 顺序表cpp 拓扑排序.cpp 线索二叉树.cpp 栈.cpp

2022-04-12

蓝桥杯2022JavaB组真题

蓝桥杯2022JavaB组真题

2022-04-09

空空如也

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

TA关注的人

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