数据结构
唯有智者千虑
学无止境
展开
-
基础数据结构总结
数据结构复习 前言 数据结构(hashmap基本原理,currenthashmap基本原理,二叉树,平衡二叉树,红黑树,单例模式手写, 工厂模式手写,快速排序手写,堆排序概念,jvm堆列栈概念,JVM垃圾回收概念(算法看自己想不先做,说出来加分) ,java集合全部概念,什么是链表,java实现链表相关,java多线程,线程锁概念,线程池概念, 所有排序算法时间复杂度(要先懂什么是时间复杂度)) ...原创 2019-05-28 21:08:18 · 329 阅读 · 0 评论 -
快速排序
快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。 这种思路就叫做分治法。 元素的移动 选定了基准元素以后,我们要做的就是把其他元素当中小于基准元素的都移动到基准元素一边,大于基准元素的都移动到基准元素另一边。 挖坑法: import java.util.Arrays; public class QuickSort ...原创 2019-06-01 09:47:28 · 94 阅读 · 0 评论 -
冒泡排序
冒泡排序 冒泡排序又叫做交换排序,两两比较,根据自身的大小一点一点往一侧移动 思想: 相邻的元素两两比较,根据大小来交换元素的位置,每冒泡一遍,有序数列+1 原始的冒泡排序是稳定排序。由于该排序算法的每一轮要遍历所有元素,轮转的次数和元素数量相当,所以时间复杂度是O(N^2) 。 冒泡排序第一版: public class BubbleSort{ private sta...原创 2019-05-29 20:02:06 · 247 阅读 · 0 评论