数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
对于数组nums1 和 nums2 求交集,题目要求每个元素唯一,因此考虑使用set。题目也给出了不考虑输出结果的顺序。
想象你是一位扑克牌魔术师(没错,就是那种能把一副乱序的牌瞬间理整齐的酷炫角色)。今天,我要揭秘的正是计算机世界中最神奇的"整理魔法"——排序算法!准备好你的魔杖...
在Java集合框架中,LinkedList和ArrayList是最常用的两种列表结构。它们各有优劣,适用于不同的场景。本文将带你深入探索LinkedList的底...
在日常开发中,我们经常需要处理一组数据。想象一下,如果你要管理一个班级的学生名单,或者处理电商网站的商品列表,你会怎么做?Java集合框架中的List和Arra...
Java作为一门"面向对象"的语言,却保留了8个"非对象"的基本数据类型(有传言说,是因为Java开创者在初期想吸引更多的人,因而保留了这几种基本数据类型),这...
问题:这个算法像“树懒”一样慢!为什么? 答案:因为它重复计算了大量子问题,时间复杂度高达O(2^N)!
想象一下,你有一桶薯片(栈),每次只能从顶部拿一片,最后放进去的薯片总是最先被吃掉(LIFO)。又或者你在奶茶店排队(队列),先来的人先点单,后来的人只能乖乖排...
大家好!我是你们的老朋友——想不明白的过度思考者!今天我们要一起探索Java中两个神奇的数据结构:Map和Set!准备好了吗?让我们开始这场魔法之旅吧!?
二叉树是数据结构中的核心内容,掌握好二叉树对于理解更复杂的数据结构和算法至关重要。建议读者在学习理论的同时,多动手实现代码,解决实际问题,才能真正掌握二叉树的精...
前言: 在之前的博客中我们实现了递归版本和非递归版本的快速排序,其中递归版本中的找基准的方法我们学习了三种。但是有些特殊的情况,比如重复元素过多或者已经有序的时...
前言:今天这篇文章主要是想给大家分享一下计数排序,并且对前面实现过的排序算法的时间复杂度,空间复杂度,稳定性进行一个归纳总结。话不多说,我们直接进入正文内容。-...
前言:在前面的学习中,我们实现了直接插入排序,希尔排序,直接选择排序,堆排序,冒泡排序,快速排序。我们常见的几种排序算法也差不过都学完了。那么我们这篇博客就继续...
--我们非递归实现快速排序需要借助数据结构栈,直接使用我们之前自己实现过的就行了,然后在.c文件里面引入一下栈的.h文件。具体操作和之前我们借助队列实现二叉树的...
堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的⼀种排序算法,它是选择排序的一 种,它通过堆来进行选择数据,需要注意的是排升序要建大堆,排降序...
前言:在前面的学习中,我们实现了顺序表和链表,栈和队列以及二叉树。通过这些知识的学习和实现我们的代码能力也有了一定的提升。那么我们从这篇博客开始就进入到了初阶数...
前言: 这一篇博客是二叉树的选择题专辑,会给大家分享一下选择题中的知识点和做题思路,大家可以自己去做一下,顺便巩固一下知识点。
前言: 这篇博客将会和大家一起实现一下二叉树中的层序遍历以及判断一个二叉树是否为完全二叉树的代码实现,其中会引入队列这个数据结构的使用,中间有些需要修改的地方会...
前言: 通过前面几篇博客我们已经完成了前中后序的接口实现,我们现在开始需要进行其它二叉树常用方法的实现,比如二叉树节点个数,叶子节点个数等。还是和之前一样分部分...
前言:在前面我们结束了实现顺序结构的二叉树以及Top-K问题的解决。那么接下来就是实现链式结构二叉树,链接结构的二叉树,没有完全二叉树和堆那样的性质,所以我们后...