数据结构
月、勾勒了谁的美?
这个作者很懒,什么都没留下…
展开
-
八大排序之希尔排序
介绍: 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止。 实现步骤: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组原创 2022-01-12 17:05:00 · 94 阅读 · 0 评论 -
八大排序之归并排序
介绍:归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 实现步骤: 第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置 第三步:比较两个指针所指向的元素,选择相对小的元素放入原创 2022-01-12 17:00:17 · 105 阅读 · 0 评论 -
八大排序之基数排序
介绍:基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。 实现步骤以最高位是百位为例: 第一步:首先根据个位数的数值,在走访数值时将它们分配至编号0到9的桶子中原创 2022-01-12 16:54:27 · 218 阅读 · 0 评论 -
逆波兰式的转换与计算
第一步:中缀表达式转后缀表达式 转换规则: 第二步:后缀表达式计算得值 计算规则: 代码实现: package calculator; import java.util.ArrayList; import java.util.List; import java.util.Stack; public class CalculatoDemo { public static void main(String[] args) { String origin = "2+原创 2022-01-12 16:44:38 · 333 阅读 · 0 评论