文章 2024-08-09 来自:开发者社区

LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解

1 反转链表 1.1 题目 反转链表 反转一个单链表。 输入: 1->2->3->4->5 输出: 5->4->3->2->1 1.2 解题思路 解法1:迭代 迭代,重复某一过程,每一次处理结果作为下一次处理的初始值,这些初始值类似于状态、每次处理都会改变状态、直至到达最终状态 ...

LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
文章 2024-06-05 来自:开发者社区

【经典算法】 leetcode88.合并排序的数组(Java/C/Python3实现含注释说明,Easy)

题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而...

文章 2023-11-13 来自:开发者社区

数据结构与算法中的七大排序(Java实现)

一、直接插入排序思想:             定义i下标之前的元素全部已经有序,遍历一遍要排序的数组,把i下标前的元素全部进行排序,当遍历玩这个数组后,就已经排好序了。代码如下:public static void insertSort(int[] array) { for (int i = 1; i < arr...

数据结构与算法中的七大排序(Java实现)
文章 2023-07-05 来自:开发者社区

【算法】Shell排序的原理与Java实现

一.Shell排序原理Shell排序,也称为希尔排序(Shell Sort),是一种改进的插入排序算法。它通过将待排序的数组分割成多个较小的子数组,对这些子数组进行插入排序,最后再对整个数组进行一次插入排序。希尔排序的核心思想是通过较大的间隔比较和交换元素,使得数组中的元素能够快速地朝最终位置前进,从而提高插入排序的效率。希尔排序的具体步骤如下:1.选择一个增量序列:增量序列是一组递减的整数,称....

文章 2022-06-13 来自:开发者社区

数据结构 | 排序算法总结——(三)希尔排序排序(附Java实现代码)

1.2.3希尔排序希尔排序又叫缩小增量排序基本思想:先取一个小于n的整数作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。具体算法步骤:选择一个增量序....

数据结构 | 排序算法总结——(三)希尔排序排序(附Java实现代码)
文章 2022-06-13 来自:开发者社区

【数据结构与算法】十大经典排序(c语言&Java)(5)

基数排序(Radix Sort)简介:基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。设计思想:取得数组中的最大数,并取得位数;arr为原始数组,从最低位开始取每个位组成radix数组;对radix进行计数排序(利用计数排序适.....

【数据结构与算法】十大经典排序(c语言&Java)(5)
文章 2022-06-13 来自:开发者社区

【数据结构与算法】十大经典排序(c语言&Java)(4)

计数排序(Counting Sort)简介:计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。设计思想:找出待排序的数组中最大和最小的元素;统计数组中每个值为i的元素出现的次数,存入数组C的第i项;对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加);反向填充目标数.....

【数据结构与算法】十大经典排序(c语言&Java)(4)
文章 2022-06-13 来自:开发者社区

【数据结构与算法】十大经典排序(c语言&Java)(3)

快速排序(Quick Sort)简介:快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。设计思想:快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。 具体算法描述如下:从数列中挑出一个元素,称为 “基准”(pivot);重新排序数列,所有元素比基准值小的摆.....

【数据结构与算法】十大经典排序(c语言&Java)(3)
文章 2022-06-13 来自:开发者社区

【数据结构与算法】十大经典排序(c语言&Java)(2)

希尔排序(Shell Sort)简介:1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版。它与插入排序的不同之处在于,它会优先比较距离较远的元素。希尔排序又叫缩小增量排序。设计思想:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,具体算法描述:选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1;按增量序列个数k,对序列进行k 趟排.....

【数据结构与算法】十大经典排序(c语言&Java)(2)
文章 2022-06-13 来自:开发者社区

【数据结构与算法】十大经典排序(c语言&Java)(1)

冒泡排序(Bubble Sort)简介:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列).....

【数据结构与算法】十大经典排序(c语言&Java)(1)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问