首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
已注销
创建于2022-01-21
订阅专栏
用Java实现各种数据结构和算法
等 1 人订阅
共10篇文章
创建于2022-01-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
动态规划之完全背包和多重背包
「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战」 完全背包 描述: 有 N 种物品和一个容量为 V 的背包,每种物品都有无限件可用。第 i 种物 品的费用是 c[i],价
动态规划之用Java实现01背包
背包问题有很多种,是最简单的动态规划类型。 01背包 描述: 有 N 件物品和一个容量为 V 的背包。(每种物品均只有一件)第 i 件物品 的费用是 c[i],价值是 w[i]。求解将哪些物品装入背包
用Java实现线段树
线段树是为区间更新和区间查询而生的数据结构,旨在快速解决区间问题。 一般来说,线段树是不会加节点的,也不支持动态添加节点。线段树也是二叉树的一种,不过它的节点是以一个区间来定义节点的。具有一个单一区
细说并实现广度优先算法
什么是广度优先 广度就是扩展开,广度优先的意思就是尽量扩展开。所以在算法实现的时候,就是一个循环遍历枚举每一个邻接点。其基本思路就是按层扩展,扩得越广越好。 伪代码如下: 一个简单的例子 我们以一个
TreeMap - 红黑树源码分析
结构 简单介绍 TreeMap本质上是一个红黑树,只不过节点存储的是一个key-value的键值对。TreeMap继承自AbstractMap,同时实现了NavigableMap、Cloneable和
用Java实现二叉堆(大顶堆、小顶堆)
先了解了解 什么是二叉堆 二叉堆就是完全二叉树,或者是靠近完全二叉树结构的二叉树。在二叉树建树时采取前序建树就是建立的完全二叉树。也就是二叉堆。所以二叉堆的建堆过程理论上讲和前序建树一样。 什么是大顶
用Java实现并查集
并查集就是将原本不在一个集合里面的内容合并到一个集合中。在实际的场景中用处不多。 除了出现在你需要同时去几个集合里面查询,避免出现查询很多次,从而放在一起查询的情况。 下面简单实现一个例子,我们来
二叉树的前序中序后序建树和遍历
什么是二叉树 简单理解为对于一个节点来说,最多拥有一个上级节点,同时最多具备左右两个下级节点的数据结构。 由于很多排序算法都是基于二叉树实现的,多叉树也是二叉树延伸过去的,所以二叉树的建树和遍历就显
用Java实现平衡二叉树
什么是二叉搜索树 简单来说,就是方便搜索的二叉树,是一种具备特定结构的二叉树,即,对于节点n,其左子树的所有节点的值都小于等于其值,其右子树的所有节点的值都大于等于其值。 以序列2,4,1,3,5,
用Java实现深度优先遍历
什么是深度优先 什么是深度,即向下,深度优先,即向下优先,一口气走到底,走到底发现没路再往回走。在算法实现上来讲,深度优先可以考虑是递归的代名词,深度优先搜索必然需要使用到递归的思路。有的人可能会说了