数据结构
文章平均质量分 79
星光_依旧灿烂
努力不一定成功,但放弃一定失败
展开
-
深入浅出ArrayList
文章目录前言1.Collection2.List下的ArrayList2.1ArrayList底层2.2ArrayList的初始化2.3 ArrayList 扩容机制3.自我实现ArrayList4.ArrayList的优缺点4.1ArrayList的优点:4.2ArrayList的缺点:前言我们一般使用集合大多都是 ArrayList,因为它查询快,一般情况下,我们很少执行增加删除操作。如果涉及到频繁的增加删除,可以使用LinkedList,基于链表的集合,增删效率较高,当然如果涉及到线程的安全问题原创 2021-07-20 16:24:12 · 470 阅读 · 6 评论 -
Java实现二叉树
文章目录1.概念2.二叉树的基本形态3.两种特殊的二叉树4.二叉树的性质5. 二叉树的基本操作5.1前序遍历5.2中序遍历5.3后序遍历5.4按层次进行遍历5.5二叉树的高度1.概念一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵别称为左子树和右子树的二叉树组成。二叉树的特点:每个结点最多有两棵子树,即二叉树不存在度大于 2 的结点。二叉树的子树有左右之分,其子树的次序不能颠倒,因此二叉树是有序树。2.二叉树的基本形态3.两种特殊的二叉树满二叉树原创 2021-03-20 21:11:47 · 121 阅读 · 0 评论 -
Java实现八大排序算法
概述1.直接插入排序1.1基本思想将一个记录插入到已经排序好的有序表中,从而得到一个新的表,记录数增1的有序表1.2示例1.3代码实现 public static void insertSort(int [] nums){ for(int i = 1; i < nums.length; i++){ int temp = nums[i]; int j = i - 1; for(; j >= 0;原创 2021-03-11 17:38:21 · 7837 阅读 · 36 评论 -
二叉搜索树
文章目录1、定义2、基本性质3、二叉搜索树的基本操作3.1插入3.2查找3.3遍历3.4删除4、性能分析5、完整代码1、定义左子树节点的值小于根节点的值,右子树节点的值大于根节点的值2、基本性质设x是二叉搜索树中的一个结点。如果y是x左子树中的一个结点,那么y.key≤x.key。如果y是x右子树中的一个结点,那么y.key≥x.key。在二叉搜索树中:① 若任意结点的左子树不空,则左子树上所有结点的值均不大于它的根结点的值;② 若任意结点的右子树不空,则右子树上所有结点的值均不小于它的根结原创 2021-02-08 00:42:57 · 809 阅读 · 0 评论 -
Java实现单链表
一、什么是单链表单链表是链表的其中一种基本结构。在结点中数据域用来存储数据元素,指针域用于指向下一个具有相同结构的结点。因为只有一个指针结点,称为单链表。二、单链表的结构三、单链表的基本操作1.创建类和构造方法class Node{ public int val; public Node next; public Node(){ } public Node(int val){ this.val = val; }}2.建立单原创 2021-01-02 00:18:21 · 2558 阅读 · 2 评论 -
Java实现顺序表
一、什么是顺序表?顺序表就是用一组地址连续的存储单元存储各个元素,使得其在逻辑上相邻,物理上也相邻,以数组的形式保存数据。二、顺序表的常见操作:1.创建类和构造方法public class MyArrayList { private int [] elem; private int usedSize; public MyArrayList(){ this.elem = new int [10]; } public MyArrayList(i原创 2020-12-30 00:37:45 · 4117 阅读 · 8 评论