
数据结构与算法
文章平均质量分 96
分享数据结构和经典算法
小马 同学
Java | Web前端 | 数据结构与算法 | 记录学习
展开
-
数据结构之二叉树
二叉树基本介绍文章目录原创 2022-03-05 11:54:07 · 4107 阅读 · 1 评论 -
数据结构之队列的基本实现
队列的基本功能实现原创 2022-02-26 21:27:13 · 1608 阅读 · 0 评论 -
LinkedList源码解析
LinkedList集合源码解析原创 2022-02-23 09:12:54 · 1191 阅读 · 0 评论 -
深入探索ArrayList源码解析
ArrayList集合是平时开发最常用的集合之一,它是一种线性结构,其底层是用数组实现的,相当于一个动态数组。下面来一起看看ArrayList的一些常用方法是如何实现的。文章目录ArrayList继承关系继承实现的接口和类继承关系图源码解析ArrayList属性构造方法trimToSize()方法size()方法isEmpty()方法indexOf(Object o)方法ArrayList继承关系继承实现的接口和类ArrayList继承于AbstractList,实现了List、Random.原创 2021-07-03 12:04:30 · 652 阅读 · 1 评论 -
深入学习链表实现原理
文章目录链表链表实现节点类属性及构造方法getSize()方法isEmpty()方法traverse()方法add(Object data)方法addLast(Object data)方法insertNode(int index, Object data)方法deleteNode(Integer index)方法findNode(Integer index)方法updateNode(Integer index, Object data)完整代码链表链表是一种线性结构,结构如下下图所示链表的每个节点分原创 2021-06-17 20:45:27 · 865 阅读 · 2 评论 -
数据结构之栈基本实现
文章目录栈栈的实现定义节点类属性及构造方法getSize()方法isEmpty()方法traverse()方法push(Object data)方法pop()方法peek()方法clear()方法全部代码Java中的栈栈栈是一种特殊的线性表,栈中的数据元素以及数据元素间的逻辑关系和线性表相同,两者之间的差别在于:线性表的插入和删除操作可以在表的任意位置进行,而栈的插入和删除操作只允许在表的尾部进行,因此效率都是很高的,插入和删除都是在栈顶进行的,最后插入的最先被删除,所以栈的工作模式是先进后出(LIF原创 2021-06-10 21:32:55 · 685 阅读 · 0 评论 -
时间复杂度(图文并茂)
图文并茂,通俗易懂,时间复杂度的意义究竟什么是时间复杂度呢?让我们来想象一个场景:某一天,小灰和大黄同时加入了一个公司......一天过后,小灰和大黄各自交付了代码,两端代码实现的功能都差不多。大黄的代码运行一次要花100毫秒,内存占用5MB。小灰的代码运行一次要花100秒,内存占用500MB。于是......由此可见,衡量代码的好坏包括两个非常重...转载 2021-06-02 21:43:33 · 765 阅读 · 0 评论