
算法
文章平均质量分 90
码到π退休
CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。技术合作请加本人wx(注明来自csdn):foreast_sea
展开
-
归并排序:数据排序的高效之道
归并排序作为一种经典且高效的排序算法,在众多领域都有着广泛的应用。它基于“分治”这一强大的思想策略,通过将大规模的问题逐步分解为更小的子问题,然后分别解决这些子问题,最后将子问题的解合并起来得到原问题的解。这种思想不仅在排序算法中大放异彩,在许多其他复杂的算法设计场景中也被频繁借鉴。想象一下,在一个大型电商平台的订单处理系统中,每天都有海量的订单数据需要按照订单时间、金额或者客户优先级等进行排序。归并排序能够快速而稳定地对这些数据进行整理,使得商家可以清晰地了解订单的顺序,从而更好地安排发货、库存管理等原创 2025-04-18 11:28:15 · 1061 阅读 · 22 评论 -
选择排序 – 算法、源代码、时间复杂度
选择排序是一种简单排序算法,它的基本思想是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放到序列的起始位置,然后再从剩余未排序的元素中继续寻找最小(或最大)元素,放到已排序序列的末尾,以此类推,直到全部待排序的数据元素排完。描述选择排序的工作原理。包括选择排序的 Java 源代码。展示如何推导其时间复杂度(无需复杂的数学运算)。并检查 Java 实现的性能是否与预期的运行时行为相匹配。2. 示例:对扑克牌进行排序将扑克牌分拣到手中是插入排序的经典案例。选择排序。原创 2024-09-01 06:00:00 · 840 阅读 · 17 评论 -
插入排序 - 算法、源代码、时间复杂度
插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。描述插入排序的工作原理。展示了 Java 中的实现。解释如何导出时间复杂度。并检查 Java 实现的性能是否与预期的运行时行为相匹配。2. 示例:对扑克牌进行排序。原创 2024-08-31 06:30:00 · 2083 阅读 · 7 评论 -
Java 中的各种排序:详细教程
本文通过许多代码示例逐步解释如何对 Java 中原始数据类型(int,long,double等)和任何类的对象进行排序。如何对 Java 中原始数据类型的数组进行排序?如何对 Java 中的对象数组和列表进行排序?如何在 Java 中并行排序?JDK 内部使用哪些排序算法?2. Java 中可以对什么进行排序?原始数据类型的数组(int[]、long[]、double[]等)。实现Comparable接口的对象数组和列表。原创 2024-08-30 06:00:00 · 2474 阅读 · 7 评论 -
【科技前沿】ChatGPT-3 与 ChatGPT-4 对比
尽管 GPT-4 仍在开发中,但多份报告表明它将拥有超过 1750 亿个参数,与 GPT-3 的 135 亿个参数相比,这是一个显着的增长。ChatGPT-3 和 ChatGPT-4 之间的差异很大,后者具有更先进和改进的功能。GPT-4 的多模态输入功能、图像识别和更大的语言模型代表了 AI 语言建模的重大进步。最终,两者之间的选择将取决于预期的用例,GPT-4 是复杂任务的更合适选择。GPT-4 有可能拥有更高级的功能、更大的语言模型以及多模态输入技术,使其成为下一代人工智能语言模型。原创 2024-08-19 06:30:00 · 1230 阅读 · 0 评论 -
【科技前沿】协方差与相关性:有什么区别?
因此,我们可以说相关值具有标准化的概念,而协方差值则不是标准化的,不能用于比较关系的强弱,因为量级没有直接意义。相关性衡量两个变量之间关系的强度和方向,但并不意味着一个变量的变化会导致另一个变量的变化。是的,如果变量的方差很大,则协方差可能很大,但相关性可能很低。相关性之所以受到青睐,是因为它是标准化的且无单位的,这使得比较不同尺度变量之间的关系变得更容易。另外,需要指出的是,协方差仅衡量两个变量如何一起变化,而不是一个变量对另一个变量的依赖性。不是,虽然两者都衡量变量之间的关系,但它们的用途不同。原创 2024-08-17 00:17:38 · 1250 阅读 · 1 评论 -
【科技前沿】什么是 A* 搜索算法?
您可以将两者结合使用以获得更好的结果 - 寻路算法提供更大的画面和长路径,障碍物变化缓慢,而移动算法提供局部画面和短路径,障碍物变化更快。您可以将两者结合使用以获得更好的结果 - 寻路算法提供更大的画面和长路径,障碍物变化缓慢,而移动算法提供局部画面和短路径,障碍物变化更快。为了更容易,我们将把这个迷宫视为一个搜索问题,并尝试将其应用于我们可能在适当的时候遇到的其他可能的迷宫,只要它们遵循相同的结构和规则。这解释了 A* 的重要性。当 A* 进入问题时,它首先计算前往邻近节点的成本,并选择成本最低的节点。原创 2024-08-17 07:42:08 · 1377 阅读 · 0 评论 -
一分钟了解:Java插入排序算法
插入排序是一种简单的排序算法,其工作方式与我们对手中的扑克牌进行排序的方式相同。在本文中,我们将使用 Java 编写插入排序程序。2. 插入排序算法原理插入排序算法的原理是通过将待排序的元素逐个插入到已排序的序列中,从而得到一个完整的排序序列。插入排序的基本操作是将一个数据插入到已经排序好的有序数据中,从而得到一个新的、更长的排序数据。插入排序在实现上,通常采用in-place排序(即直接在原数组上修改,不需要额外的存储空间),通过逐步累积,将元素按照顺序依次插入已排序的部分中。原创 2024-08-15 06:00:00 · 1162 阅读 · 0 评论 -
一分钟了解:Java 冒泡排序算法
冒泡排序是最简单的排序算法,如果相邻元素的顺序错误,则通过反复交换相邻元素来工作。Java 中的冒泡排序不是对数组进行排序的最佳方法,但却是最基本的实现之一。在本文中,我们将学习如何用 Java 编写冒泡排序程序。综上,冒泡排序是一种简单的排序算法,工作原理是通过重复遍历待排序的数列比较每对相邻元素的值,若发现顺序错误则交换它们的位置。这个过程会重复进行,直到没有需要交换的元素为止,此时数列就已经排序完成。原创 2024-08-15 06:00:00 · 3091 阅读 · 0 评论 -
Java踩坑日记之long值计算:获取60天的毫秒数
在计算long类型的时候,千万不要以为变量类型定义为long,最终就一定返回为long,要知道java数字默认是int类型参与计算,因此如果若干个数字相加或者相乘,即便变量定义为long,最终也只会输出int类型值!原创 2024-07-29 09:54:34 · 334 阅读 · 0 评论 -
java生成随机字符串,林海,Java随机字符串生成器,长度可以指定,字符约束范围可选,可用于生成随机密码,密约等场景,支持字符范围配置
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持在可选字符范围(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置)内生成随机字符串,即在选择的字符范围内去实现随机字符串生成,支持特殊字符生成,特殊到可以支持回车符,换行符,制表符,转义符,空格等。 具备洗牌算法功能,即在生成随机字符串之前,可...原创 2019-03-10 14:09:49 · 878 阅读 · 0 评论 -
java生成随机字符串,林海的CSDN博文,RandomStringGenerator,长度可以指定,字符约束范围可选,可用于生成随机密码,密约等场景,支持字符范围配置
Java随机字符串生成器,可用于生成随机密码,加密算法密约(AES,RSA等)等场景,支持在可选字符范围(如只允许数字,只允许字母,只允许数字字母,特殊字符等混合配置)内生成随机字符串,即在选择的字符范围内去实现随机字符串生成,支持特殊字符生成,特殊到可以支持回车符,换行符,制表符,转义符,空格等。 具备洗牌算法功能,即在生成随机字符串之前,可...原创 2019-03-10 15:27:13 · 864 阅读 · 0 评论