【数据结构】链表(linkedlist)详解-爱代码爱编程
文章目录 前言1. 链表的介绍1.1 链表的定义1.2 链表的结构种类 2. 单向链表的模拟实现2.1 创建链表2.2 打印链表2.3 求链表长度 3. 单向链表常见方法的模拟实现3.1 头插法
代码编织梦想
文章目录 前言1. 链表的介绍1.1 链表的定义1.2 链表的结构种类 2. 单向链表的模拟实现2.1 创建链表2.2 打印链表2.3 求链表长度 3. 单向链表常见方法的模拟实现3.1 头插法
玖雨y的算法刷题记录day08——图论 题目链接:冗余连接题目思路:这道题也是考查并查集的题目,关键在于能不能反应过来,由于题目中明确指出 n 个节点 n 条边,要保留 n-1 条边,也就是说一定存在可以删除的边,并且题目
玖雨y的算法刷题记录day09——图论 题目链接:冗余连接II题目思路:在day08冗余连接一题的基础上,这题将无向图改为有向图,整体还是通过并查集来实现的,但相对要复杂一些,因为在处理无向图时我们仅需要考虑删除使树构成环
玖雨y的算法刷题记录day06——图论 题目链接:有向图的完全可达性题目思路:本题可以采用深度优先搜索算法,我们需要一个visited数组用于记录每个节点是否可以到达,在搜索逻辑中,我们第一次到达某一个节点,递归搜索该节点
玖雨y的算法刷题记录day04——图论 题目链接:建造最大岛屿题目思路:本题的思路就比较复杂了,不过首先要明确,既然要计算岛屿面积,那搜索算法肯定是少不了。之后考虑,我们要选择将某一格水变为一块陆地(即将某个0变为1),并
玖雨y的算法刷题记录day02——图论 题目链接:岛屿的最大面积题目思路:本题可以采用深度优先搜索和广度优先搜索,以下代码采用广度优先搜索,和day01岛屿数量一题同样定义visited数组用于记录是否被访问过,与之不同的
玖雨y的算法刷题记录day10——图论 题目链接:寻宝题目思路:本题考查的是最小生成树算法,我将会给出Prim最小生成树和Kruskal最小生成树两个版本的代码,其中Prim算法的核心思想是每次都将距离生成树最近的节点入树
玖雨y的算法刷题记录day05——图论 题目链接:字符串接龙题目思路:请注意,本题要求的是最短路径,那么深度优先搜索就更加方便了。这道题目的描述有些含糊,我费了些功夫才搞懂题意,题目的例子中beginStr为abc,从ab
玖雨y的算法刷题记录day03——图论 题目链接:沉没孤岛题目思路:与day02的孤岛总面积一题思路类似,只不过不能将非孤岛的1直接置为0,这样后续我们也不知道非孤岛都在哪了,要实现其实也很简单,只需要采用一个特殊标记(以
玖雨y的算法刷题记录day11——图论 题目链接:软件构建题目思路:本题是拓扑排序的经典题目,什么是拓扑排序呢?给出一个有向图,将这个有向图转为线性排序就叫拓扑排序。大学排课就是拓扑排序的经典应用场景,例如A课是基础课,必
玖雨y的算法刷题记录day12——图论 题目链接:参加科学大会题目思路:本题求最短路径,这是图论的一个经典问题,我们采用dijkstra算法(在有权图(权值非负数)中求从起点到其他节点的最短路径算法)来求解本题,dijks
玖雨y的算法刷题记录day01——图论 题目链接: 所有可达的路径题目思路:可以用邻接矩阵或邻接表来表示图(以下代码为邻接矩阵),采用深度优先搜索算法来解决本题 import java.util.ArrayList; i
文章目录 前言问题引入暴力枚举自下而上状态设计状态转移方程 区间DP的分析状态设计状态转移时间复杂度翻译成递推 OJ详解P1880 [NOI1995] 石子合并记忆化搜索版本递推版本
目录 案例:通过策略模式实现对象创建工厂 场景描述: 设计步骤: 注: 案例:通过策略模式实现对象创建工厂 场景描述: 假设要设计一个系统,用来创建不同类型的 Shape 对象(如 Circle、Square、Rectangle)。通常会使用工厂模式来封装对象创建的过程。但是,我们尝试用策略模式来实现这个功能,使得对象的创建方式在运行
部门准备举办一场王者荣耀表演赛,有10名游戏爱好者参与,分为两队,每队5人。每位参与者都有一个评分,代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把10名参赛者分为实力尽量相近的两队。一队的实力可以表示为这一队5名队员的
什么是快速排序 快速排序(Quick Sort)是一种广泛使用的高效排序算法,由计算机科学家托尼·霍尔在1960年提出。它采用分治法(Divide and Conquer)策略,将一个大数组分为两个小数组,然后递归地对这两个小数组进行排序。快速排序在平均情况下具有良好的性能,时间复为 O(nlogn)O(nlogn),并且在实际应用中通
目录 Prim算法和Kruskal算法Prim算法的原理数据结构算法步骤解释算法实现代码示例 Kruskal 算法Kruskal算法的原理和步骤Kruskal算法的实现数据结构并查集操作Kruskal算
👇二叉树的完整代码在👇 syseptember的gitee仓库:二叉树https://gitee.com/syseptember/data-structure/tree/1513789167062c75dc172366199ce7a6b0577cc7/BinaryTree2/BinaryTree2 目录 树的
Every day a Leetcode 题目来源:2707. 字符串中的额外字符 解法1:动态规划 题目要求将字符串 s 分割成若干个互不重叠的子字符串(以下简称为子串),同时要求每个子串都必须在 dictiona