algorithm
鹿克阿特米
这个作者很懒,什么都没留下…
展开
-
快速排序
是对冒泡排序的一种改进说明:通过一趟排序将要排序的数据分割成独立的两部分,从数组中取出一个数,比这个数小的是一部分,比这个数大的是一部分然后再按此方法对这两部分数据分别进行快速排序整个排序过程可以递归进行,以此达到整个数据都变成有序序列public class QuickSort { public static void main(String[] args) { ...原创 2019-10-12 18:12:05 · 210 阅读 · 0 评论 -
希尔排序
也是一种插入排序,是简单插入排序经过改进后的一个更高的版本,也称为缩小增量排序说明:把记录按下标的一定增量分组,对分组使用直接插入排序随着增量的减小,每组包含的元素越来越多当增量减至1时,整个数据分成一组,算法便终止public class ShellSort { public static void main(String[] args) { int...原创 2019-10-12 03:51:25 · 184 阅读 · 0 评论 -
插入排序
对欲排序的元素以插入的方式寻找该元素适当的位置,以达到排序的目的说明:开始有一个无序表和一个有序表n个元素,其中1个元素在有序表,n-1个元素在无序表每次从无序表取出第一个元素,依次与有序表进行比较,插入到合适位置,形成新的有序表public class InsertSort { public static void main(String[] args) { ...原创 2019-10-11 21:03:30 · 207 阅读 · 0 评论 -
选择排序
从欲排序的数据中,按指定的规则选出某一个元素,再比较交换位置后达到排序目的说明:选择排序一共有数组大小-1轮排序每轮排序,又是一个循环先假定当前这个数是最小数然后和后面的每个数进行比较,如果发现有比当前数更小的数,就重新确定最小数,并得到下标当遍历到数组的最后,就得到本轮最小的数和下标最后交换,public class SelectSort { public...原创 2019-10-11 20:32:41 · 115 阅读 · 0 评论 -
冒泡排序
public class Maopao { public static void main(String[] args) { int arr[] = {10, 50, 3, 7, 14}; int len = arr.length; for(int i = 0;i < len -1;i++) { for(in...原创 2019-10-11 19:57:50 · 116 阅读 · 0 评论 -
java模拟单向环形链表
约瑟夫环问题设编号为1-n的n个人围坐一圈,约定编号为k(1 <= k <= n)的人从1开始报数,数到m的那个人出列,他的下一位又从1开始报数,数到m的那个人出列,以此类推,产生一个出对编号的序列使用单向环形链表构建一个单向环形链表:先创建一个节点,让first指向该节点,并形成环形添加一个新节点,就把该节点加入到已有的环形链表中即可遍历环形链表:先让一个辅助指针变量c...原创 2019-10-10 17:38:44 · 167 阅读 · 0 评论 -
Java 双向链表模拟
单向链表查找只能是一个方向,而双向链表可以向前或向后查找单向链表不能自我删除,需要靠辅助结点,需要找到待删除节点的前一个节点,而双向链表可以自我删除class DTeam { int no; String leader; public DTeam(int no, String leader) { this.no = no; this.l...原创 2019-09-14 16:46:32 · 100 阅读 · 0 评论 -
Java 单向链表模拟
链表是有序的列表链表是以节点的方式来存储的,各个节点不一定是连续存储的分为带头节点的链表和没有头节点的链表头节点不存放具体数据单向链表:其中每一个节点包含一个存储数据的data,一个指向下一个节点的变量class Team { int no; String leader; public Team(int no, String leader) { ...原创 2019-09-13 18:25:59 · 127 阅读 · 0 评论 -
Java 队列模拟
队列介绍:队列是一个有序列表,可以用数组(顺序存储)或是链表(链式存储)来实现遵循先进先出原则加数据在队列尾部加,取数据在队列头部取模拟:队列有一个指向队首的变量,一个指向队尾的变量,一个存储数据的数组class Queue<T> { int head; int tail; int maxSize; T [] dataArr; //...原创 2019-09-13 14:49:29 · 553 阅读 · 1 评论 -
稀疏数组 sparsearray
什么是稀疏数组?编写一个五子棋程序,有存盘退出的功能。我们想到用二维数组来记录棋盘上各个点的棋子,但棋盘上不是每个点都有棋子,没有棋子的点在二维数组中会是默认值,如果棋盘上空子的地方很多,就会有很多无意义的数据这个时候我们可以使用稀疏数组来进行压缩基本介绍: 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组处理方法是:1) 记录数组一共有几行几列,有多少...原创 2019-09-12 22:11:17 · 154 阅读 · 0 评论