首页
学习
活动
专区
圈层
工具
发布
首页标签数据结构与算法

#数据结构与算法

【数据结构与算法】之 双栈实现队列 和 单队列实现栈

艾伦耶格尔

本文主要内容有两个,是如何用双栈实现队列和如何用单队列实现栈。(采用Java实现)

7210

【数据结构与算法】之栈 vs 队列

艾伦耶格尔

栈和队列是计算机科学中最基础也是最常用的两种线性数据结构,它们提供了一种组织和管理数据的方式。它们的主要区别在于元素的添加和删除顺序。理解它们的特点、差异以及底...

10210

【数据结构与算法】之队列详解

艾伦耶格尔

队列(Queue)是一种重要的线性数据结构,遵循先进先出、后进后出的原则。本文将更详细地介绍队列的概念、特点、Java 实现以及应用场景。

6710

【数据结构与算法】之栈详解

艾伦耶格尔

栈(Stack)是一种基本的线性数据结构,遵循后进先出、先进后出的原则。本文将更详细地介绍栈的概念、特点、Java 实现以及应用场景。

6710

【数据结构与算法】之龟兔赛跑算法

艾伦耶格尔

本文主要介绍以环形链表相关的算法,主要采用Java语言实现,这类算法又称Floyd's Tortoise and Hare Algorithm (Floyd 龟...

6610

【数据结构与算法】之有序链表去重(不保留重复元素)

艾伦耶格尔

给定一个已排序的单链表的头节点 head,要求去除链表中所有重复的元素,重复元素一个不留,并返回新的头节点。

9310

【数据结构与算法】之有序链表去重(保留重复元素)

艾伦耶格尔

给定一个已排序的单链表的头节点 head,要求去除链表中重复的元素,并返回新的头节点。每个重复元素只保留一个。

5710

【数据结构与算法】之单链表根据值删除元素

艾伦耶格尔

本文将详细讲解如何在单链表中删除所有值为指定值的节点。将使用 Java 语言实现,并提供详细的代码注释和解释。

7810

【数据结构与算法】之单链表反转

艾伦耶格尔

单链表反转是一个经典的算法问题,考察对指针操作的理解。本文将详细解释单链表反转的原理。注意:均为Java语言实现

8810

【数据结构与算法】之二分查找

艾伦耶格尔

二分查找(Binary Search)是一种在有序数组中查找特定元素的搜索算法。它通过比较数组中间元素与目标值来工作,从而将搜索范围缩小到一半,也称折半查找,是...

7710

【数据结构与算法】之递归详解

艾伦耶格尔

递归,这个看似神秘的编程技巧,就像一面面巧妙放置的镜子,能够以一种优雅而高效的方式解决许多复杂问题。理解递归就像打开了一扇通往全新编程世界的大门,让你能够写出更...

8510

【数据结构与算法】之链表详解

艾伦耶格尔

链表是一种常用的数据结构,它是一种线性数据结构,但与数组不同,它并非连续存储数据,而是通过指针将数据节点连接起来。每个节点都包含数据域和指向下一个节点的指针域。...

8610

【数据结构与算法】之数组详解

艾伦耶格尔

数组是数据结构中最基础的概念之一,它在编程中被广泛应用。理解数组的工作原理、操作方式以及底层实现,对于我们构建更复杂的数据结构和算法至关重要。本文将从多个角度深...

8010

【数据结构与算法】时间、空间复杂度详解

艾伦耶格尔

大家有没有遇到过,为什么有些程序跑得飞快,而有些程序却慢得让人抓狂?我们可能都是这样认为的:他写的程序效率高等等,确实如此。但这背后隐藏着两个重要的概念:时间复...

9210

【数据结构与算法】之学习路线

艾伦耶格尔

想要成为一名出色的程序员数据结构是必须要掌握的,掌握了数据结构才能写出实用的算法。总之,学习是循序渐进的,那句话怎么说来着,学无止境。以下学习路线仅供参考哦!

7810

【数据结构与算法】刷题篇——环形链表的约瑟夫问题

凤年徐

约瑟夫问题(Josephus problem)是一个著名的理论问题,源于公元1世纪犹太历史学家弗拉维奥·约瑟夫斯的记载。故事描述如下:

7010

【数据结构与算法】21.合并两个有序链表(LeetCode)

凤年徐

给定两个升序排列的链表list1和list2,要求将它们合并为一个新的升序链表并返回。新链表应该通过拼接给定链表的节点来完成。

7010

【数据结构与算法】刷题篇——876.链表的中间节点(LeetCode)

凤年徐

给定一个非空的单链表,返回链表的中间节点。如果有两个中间节点(链表长度为偶数时),则返回第二个中间节点。

4610

【数据结构与算法】206.反转链表(LeetCode)

凤年徐

8410

【数据结构与算法】203.移除链表元素(LeetCode)图文详解

凤年徐

定义一个指针prev遍历整个数组 如果他下一个节点的val值为val,就移除这个节点,让prev的next指针指向被删除的下一个节点,然后prev后移,直到pr...

7010
领券