![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 62
java数据结构与算法
Echo画java
这个作者很懒,什么都没留下…
展开
-
并查集(以美团笔试为例)
什么是并查集并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合。百度百科:并查集是一种树型的数据结构,用于处理一些不相交集合(disjoint sets)的合并及查询问题。并查集常见的操作1.初始化把每个点所在集合初始化为其自身。通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种实现方式,时间复杂度均为O(N)。2.查找---->路径压缩查找元素所在的集合,即根节点。3.合并将两个元素所在的集合合并为一个集合原创 2021-08-15 08:07:25 · 185 阅读 · 0 评论 -
链表(一锅端了数据结构与算法系列之链表)
本文结构1.链表的概念特点2.链表算法解题思路3.代码实战,从链表的定义,到基本的增删改查,到简单问题的解决,到一些思想,如快慢指针,头插法解决问题1.链表的概念特点1.链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。2.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。3.每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表的效率:由于不必须按顺序存储,链表在插入的时候可以原创 2021-07-08 11:05:34 · 70 阅读 · 0 评论 -
八大排序(重点快排和堆排序)
前言面试常问:你知道那些排序算法吗?你对那些排序算法比较熟悉?你能讲讲那些排序是稳定的,那些是不稳定的吗?我推荐和面试官聊快排和堆排序,文章的重点也是快排和堆排序的实现本文结构:1.排序的分类2.排序的性能3.各大排序的实现(重点为快排和堆排序)1.排序的分类2.排序的性能3.各大排序的实现(重点为快排和堆排序)说明:排序默认实现从小到大,swap()方法表示交换public static void swap(int[] arr,int i,int j){ int tem原创 2021-06-20 22:09:00 · 210 阅读 · 0 评论 -
栈(面试一锅端了系列之数据结构栈)
前言:本文结构1.什么是栈2.如何实现栈—>jdk如何实现栈3.栈的应用4.栈常见的算法题------>单调栈5.未完待续一切解决问题思路:栈先入后出的数据结构1.什么是栈?1)栈(Stack)是一种先入后出的线性表2)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top)(我们在栈顶进行的插入和删除称为入栈和出栈)另一端为固定的一端,称为栈底(Bottom)。3)根据栈的定义可知,最先放原创 2021-06-19 23:18:54 · 137 阅读 · 5 评论