
算法
scnulpc
这个作者很懒,什么都没留下…
展开
-
关于希尔排序的java模板
/* * 设待排序的元素有n个,首先取一个整数gap<n作为间隔,将全部元素 * 分为gap个子序列,所有间隔为gap的元素放在同一个子序列中,在每 * 一个子序列中分别实施直接插入排序。然后缩小间隔gap,例如取 * gap==(gap/2),重复上述子序列划分和排序工作。直到最后去gap==1, * 将所有元素放在同一个序列中排序为止。 * 由于开始时gap的取值较大,每个子...原创 2018-06-16 17:02:11 · 153 阅读 · 0 评论 -
关于选择排序的Java模板
/* * 选择排序的基本思想是:每一躺(例如第i躺,i=0,1,...,n-2)在后面n-i个待排序的元素中 * 选出排序码最小的元素,作为有序元素序列的第i个元素。待到第n-2躺做完,待排序元素只剩下一个 * ,就不用排序了 * * */ public class SelectSort <E extends Comparable<E>> { privat...原创 2018-06-16 17:08:39 · 198 阅读 · 0 评论 -
关于插入排序的Java模板
/* * 插入排序的基本方法是:每步将一个待排序的元素,按其排序码的大小,插入到 * 前面已经排好序的一组元素的恰当位置,直到元素全部插入为止。 */ public class InputSort<E extends Comparable<E>> { private E[] elemnetArray; private int length; public Inp...原创 2018-06-16 17:39:28 · 168 阅读 · 0 评论 -
关于快速排序的Java模板
/* * 快速排序算法是C.A.R.Hoare于1962年提出的一种划分交换的算法,它采用分治法进行排序。 * 其基本思想是任取待排序远元素序列中的某个元素(例如取第一个元素)作为基准,按照该元素的排 * 序码的大小,将整个元素序列划分为左右两个字序列,左侧子序列中所有元素都小于基准元素的排序 * 码,右侧子序列中所有元素的排序码都大于或等于基准元素的排序码,基准元素则排在这两个子序列 ...原创 2018-06-16 20:07:44 · 623 阅读 · 0 评论 -
Stack复习-迷宫输出一条路径,用栈实现
迷宫的试探与回溯,对应于压栈与出栈过程。 试探与回溯,深度遍历的过程,不保证输出的一条路径就是最短路径,广度遍历可以。 // // main.cpp // stack // // Created by scnulpc on 2018/10/11. // Copyright © 2018年 scnulpc. All rights reserved. // #include <i...原创 2018-10-11 19:11:52 · 701 阅读 · 0 评论