![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 57
好嗨学JAVA
这个作者很懒,什么都没留下…
展开
-
Java集合框架
框架简介 **集合框架:**用于存储数据的容器。集合框架是为表示和操作而规定的一种统一的标准的体系结构,任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合的算法 **接口:**表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现。 **实现:**集合接口的具体实现,重用性很高的数据结构 **算法:**在一个实现了某个集合框架的接口的对象上完成的某一种有用的计算方法,例如查找、排序等。 框架特点 对象封装数据,集合用于存储对象 存储的对象个数确定了可以使用数组,对象个数不确定可以使用集合原创 2021-07-28 23:31:24 · 86 阅读 · 0 评论 -
实现链表的基础操作(2)
@TOC 插入操作 链表的尾插 public static Node insertTail(Node head, int val) { Node newNode = new Node(val); if (head == null) { return head; } Node prev = head; while (prev != null && prev.next != null) {原创 2021-04-13 15:14:45 · 55 阅读 · 0 评论 -
链表的基础操作(1)
链表的基础操作(1)通过遍历,打印链表的每个元素通过遍历,找到链表的最后一个结点通过遍历,找到链表的倒数第二个结点通过遍历,找到链表的第 n 个结点。(链表的长度 >= n)通过遍历,计算链表中元素的个数通过遍历,找到链表中是否包含某个元素 已知一条链表,不知道其长度的情况下,进行以下操作: 通过遍历,打印链表的每个元素 /遍历链表,打印链表的每个元素 public static void printLinkedList(Node a) { for (Node cur = a;原创 2021-04-11 10:38:13 · 70 阅读 · 0 评论 -
实现自己的顺序表
实现自己的顺序表二、创建一个MyArrayList类一、顺序表实现的功能(一)、顺序表的扩容(二)、顺序表的插入元素1、顺序表尾部插入2、顺序表中间位置插入(三)、顺序表的删除元素1、按照元素下标删除2、按照元素的值删除(四)、顺序表的获取元素(五)、顺序表根据下标修改元素(六)、顺序表判断元素书否存在(七)、 顺序表查找元素位置(八)、顺序表的打印 二、创建一个MyArrayList类 public class MyArrayList { private String[] array = nul原创 2021-04-10 15:38:15 · 68 阅读 · 0 评论 -
线性表、顺序表与链表
线性表、顺序表与链表1.认识 List 线性表1.1 概念1.2存储结构2.ArrayList:顺序表3.链表3.1概念分类4顺序表和链表的区别与联系 1.认识 List 线性表 1.1 概念 线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛应用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串等。 1.2存储结构 线性表在逻辑上是线性结构,也就是说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式原创 2021-04-08 11:15:42 · 245 阅读 · 0 评论 -
二叉树基本操作
二叉树基本操作二叉树的遍历前序遍历中序遍历后序遍历层序遍历获取二叉树元素个数获取二叉树叶子节点个数获取二叉树第K层元素个数获取二叉树高度/深度查找二叉树中指定的元素判断两颗二叉树是否相同 二叉树的遍历 前序遍历 前序遍历(Preorder Traversal 亦称先序遍历)——访问根结点--->根的左子树--->根的右子 树。 //这里的访问就是打印 public static void perOrder(Node root) { if (root == null) {原创 2021-04-06 09:52:05 · 115 阅读 · 0 评论 -
哈希表以及用哈希桶解决哈希冲突
哈希表以及哈希冲突的解决 1.哈希表 1.1概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应关系,因此在查找一个元素的时候,必须要经过关键码的多次比较,这样查找的效率就比较低下,搜索的效率取决于搜索过程中元素的比较次数。 理想的搜索方法:可以不经过任何比较,一次字节从表中得到要搜索的元素,如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数很快找到该元素,这种存储结构称为哈希表。 1.1.原创 2021-04-05 16:43:39 · 583 阅读 · 0 评论 -
排序
1.概念 1.1 排序 排序,就是让一串记录,按照其中某个或者某些关键字的大小,递增或递减的排列起来的操作。平时上下文中,如果提到排序,通常升序排列。 1.2 稳定性 两个相等的数据,如果排序后,排序算法能保证其相对位置不会发生变化,则我们就称该算法是稳定的排序算法。 2.基于比较的常用排序算法 常用排序算法:插入排序(直接插入排序、希尔排序),选择排序(选择排序、堆排序),交换排序(冒泡排序、快速排序),归并排序 3.插入排序 3.1直接插入排序 原理:将整个区间分为有序区间和无序区间,每次选择无序区间的原创 2021-04-02 12:39:02 · 85 阅读 · 0 评论 -
二叉树相关知识总结
1、树型结构 **1.1概念:**树是一种非线性的数据结构,它有n个(n>=0)有限节点组成一个具有层次关系的集合. 1.2特点: 1、有一个特殊的节点称为根节点,根节点没有前驱。 2、除根节点外,其他节点被分成M(m>0)个互不相交的集合,每个集合都是与树类似的子树。每个节点有且只有一个前驱,可以有0个或者多个后继。 3、树是递归定义的 1.3概念: 节点的度:一个节点含有子树的个数称为节点的度 树的度:一棵树中,最大的节点的度称为树的度 叶子节点或终端节点:度为0的节点称为叶子节点 双亲节点原创 2021-03-28 10:56:51 · 328 阅读 · 3 评论