算法与数据结构
Victor Gong
学生,爱好广泛,大胆且怂
展开
-
左倾红黑树的原理及简单实现
红黑树的原理及简单实现红黑树的简介红黑树的一种定义红黑树与2-3树的对比红黑树的颜色表示红黑树的一些基本操作1、颜色判断2、旋转 红黑树的简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它是一种自平衡二叉查找树。 由于每一棵红黑树都是一颗二叉排序树,因此,在对红黑树进行查找时,可以采用运用于普通二叉排序树上的查找算法,在查找过程中不需要颜色信息。 红黑树的一种定义 红链接均为左连接 没有任何一个结点同时和两条红链接相连 该树的任意空链接到根结点的路径上的黑链接数量相同。 红原创 2020-12-25 14:37:32 · 769 阅读 · 3 评论 -
LinkedList的实现
LinkedList是Java集合中基本的数据结构,它实现了List接口,其底层是用一个双向链表实现的。 LinkedList的优点是删除和插入效率高。其缺点是get和set方法效率低。 package pers.victorgong.datastructure.collection.list; import java.util.Iterator; import java.util.NoSuchElementException; /** * @Author: Victor Gong * @Descr原创 2020-12-23 20:46:15 · 271 阅读 · 0 评论 -
ArrayList的实现
ArrayList是Java集合中基本的数据结构,其底层是用一个动态数组实现的。 ArrayList的优点是get和set的调用只需要常数时间。其缺点是新元素的插入和删除代价昂贵,除非变动是在ArrayList的末端进行。 package pers.victorgong.datastructure.collection.list; import java.util.Iterator; import java.util.NoSuchElementException; /** * @Author: Vic原创 2020-12-21 17:14:19 · 370 阅读 · 0 评论 -
几种常见的排序方式
1、冒泡排序 冒泡排序(Bubble Sort),它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。冒泡排序的时间复杂度平均情况下为O(n*2)。 /** * 冒泡排序 * @author Victor Gong * */ public class BubbleSort { public void sort(int[] a) { for (int i = 0; i < a.length; i++) { for (int j = 0; j <原创 2020-11-15 17:27:29 · 1055 阅读 · 0 评论