![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
We.Spring
生活很美好却也很无奈!
展开
-
java实现的单链表增删操作
链表不按照线性的顺序存储数据,而是由若干同一个结构类型的“结点”依次串接而成的,结点由数据部分和下一个结点的地址部分组成。当结点只包含其后继结点的信息的链表称做单链表,如下图所示,head存放链表首结点的地址,rear指向链表表尾。class Node<T> { public Node<T> next = null; public T data; ...原创 2019-08-13 22:21:08 · 625 阅读 · 0 评论 -
归并排序
import java.util.Arrays;/** * * 归并排序的思想是将数组分成两部分,分别进行排序,然后归并起来。 * * 最好时间O(nlogn);平均时间O(nlogn); 最坏时间O(nlogn); 辅助存储O(n) 稳定; n大时较好 * */public class MergeSort { public static void main(S...原创 2019-09-22 21:54:04 · 95 阅读 · 0 评论 -
冒泡排序
/* *冒泡排序(优化版) 从左到右不断交换相邻逆序的元素,在一轮的循环之后,可以让未排序的最大元素上浮到右侧。 在一轮循环中,如果没有发生交换,那么说明数组已经是有序的,此时可以直接退出。 * * 最好时间 O(n), 平均时间O(n^2), 最坏时间O(n^2), 空间O(1) 稳定 n 小时较小 * */import java.util.Arr...原创 2019-09-22 22:16:55 · 159 阅读 · 0 评论 -
堆排序
import java.util.Arrays;/* * 大顶堆(小顶堆)中某个节点的值总是大于(小于)等于其子节点的值,并且堆是一颗完全二叉树。 * 大顶堆用于升序排列 * * 最好时间O(nlogn);平均时间O(nlogn); 最坏时间O(nlogn); 辅助存储O(1) 不稳定; n大时较好 * */public class MaxHeapSort { pu...原创 2019-09-22 23:36:25 · 177 阅读 · 0 评论 -
快速排序
import java.util.Arrays;/** * * 快速排序通过一个切分元素将数组分为两个子数组,左子数组小于等于切分元素,右子数组大于等于切分元素. * 将这两个子数组排序也就将整个数组排序了。 * * 最好时间O(nlogn);平均时间O(nlogn); 最坏时间O(n^2); 辅助存储O(logn) 不稳定; * */public class Qui...原创 2019-09-24 22:21:18 · 167 阅读 · 0 评论