首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
JavaHall
创建于2022-12-26
订阅专栏
本专栏涵盖数据结构与算法基本教程以及有趣的题目解析,更包含一些用算法实现的骚操作。
等 5 人订阅
共50篇文章
创建于2022-12-26
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
贪心算法|黄金分割最小代价
前言 本文将介绍使用贪心算法计算一个黄金分割花费最小代价的算法题。 正文 题目描述 把一块金条切成两块,花费的代价是和金条长度一样的钱,比如,长度为20的金条,不管如何切都需要花费20块钱。
贪心算法|规划会议室的最大会议次数
前言 本文将介绍会议室最大安排会议次数的算法题,使用贪心算法和暴力两种方式进行介绍。 正文 题目描述 一些会议要占用一个会议室宣讲,会议室不能同时安排两个会议。给出每一个会议开始的时间和结束的时间。
求字符串中最长无重复字符子串长度
前言 本文介绍一道算法题,求字符串中最长无重复字符子串长度。 正文 题目描述: 给出一个字符串,求字符串中最长无重复字符子串长度。
贪心算法|获取字符串数组中所有可能的拼接结果中字典序最小的结果
前言 本文介绍将要介绍贪心算法以及使用贪心算法对一个字符串数组进行拼接后获得最小字典序字符串的题目的思路分析以及代码实现。 正文 给出一个由字符串组成的数组strs,然后把所有的字符串拼接起来,返回所
如何将一个二叉树的节点逐层循环右移指定位数?
前言 本文将介绍一道某大厂的算法面试题,题目含义大意是如何将一个二叉树的节点逐层循环右移指定位数。 正文 题目描述:给出一个二叉树的头结点和一个正整数k,将这个二叉树每层的节点都水平右移k位,超出边界
前缀树基本概念以及功能介绍
前言 本文介绍前缀树的基本概念以及代码实现前缀树的基本功能。 正文 前缀树又称PrefixTree、Trie Tree、字典树, 在单个字符串中,字符从前到后的加到一棵多叉树上 字符放在路上,节点上有
如何计算N个线段的最大重合数?
前言 本文介绍如何从给出的N个线段里找到重合最多的线段数量。 正文 题目描述: 给出很多线段,每个线段都有两个数[start,end]表示线段开始位置和结束位置,其中start、end表示的区间都为闭
如何判断两个可能有环的链表是否相交?
前言 本文介绍链表相关内容,判断两个可能存在环形结构的链表是否相交。 正文 给出两个可能有环也可能无环的单链表,头结点分别为head1和head2,写出一个函数,如果两个链表相交,请返回相交的第一个节
如何实现多叉树和二叉树之间的互转?
前言 本文主要介绍如何把一个多叉树转换成二叉树以及把二叉树还原成多叉树。 正文 给出一个多叉树,实现一个函数,这个函数可以把多叉树转成二叉树,再实现一个函数把二叉树还原成多叉树。
堆排序以及时间复杂度分析
前言 本文主要介绍一种常见的排序算法——堆排序,以及堆排序的时间复杂度分析。 正文 关于堆的基本概念以及常见操作在之前的文章里已经介绍过了,这里不再赘述,有兴趣可以参考数据结构——堆以及常见操作介绍。
数据结构堆以及常见的操作
前言 本文介绍一种常见的数据结构——堆,堆也是一种高效的优先队列,文中将介绍大根堆、小根堆以及常见的操作。 正文 什么是堆 堆通常是一个可以被看做一棵完全二叉树的数组对象,或者说是用数组实现的完全二叉
如何找出一个二叉树中任意两个节点的最低公共祖先?
前言 本文将介绍如何找出一个二叉树中任意两个节点的最低公共祖先。 正文 题目描述如下: 给出一棵二叉树的头结点head和另外两个节点a和节点b,返回节点a和节点b的最低公共祖先。 最低公共祖先是指最接
如何计算二叉树的最大宽度?
前言 本文将介绍如何计算二叉树的最大宽度,也就是一棵二叉树中最宽的那一层有多少个节点。 正文 给出一棵二叉树,计算这棵二叉树的最大宽度,最大宽度指的是二叉树中节点数最多的那一层。
如何复制一个含有随机指针的链表?
前言 一个正常的单向单链表我们都会复制,含有随机指向的链表呢?本文介绍如何复制一个含有随机指针的链表。 正文 现在有个一个特殊结构的单链表,他的节点类结构定义如下: 其中rand指针是单链表节点结构中
如何将一个链表按指定数字进行分区?
前言 本文介绍如何将一个链表按指定模式进行分区,例如分为小、中、大3部分,然后再把几个部分给串起来。
如何判断链表是否为回文结构?
前言 本文介绍单链表相关的一道算法题,判断一个单链表是否为回文结构。 正文 题目描述如下:给出一个单链表的头结点head, 请判断该链表是否为回文结构。
二叉树的序列化与反序列化
前言 本文主要介绍二叉树的序列化与反序列化。 先来看下什么是二叉树的序列化,一棵二叉树生成后在计算机的内存里不一定是在一块连续的内存空间中,各个节点是用指针指向的内存地址连起来的。
如何找到最大的子树是搜索二叉树
前言 本文主要介绍如何在一棵二叉树中找到子树是搜索二叉树,并且是最大的那棵子树。 先来回顾下什么是搜索二叉树,搜索二叉树具有以下特性: 若他的左子树不为空,则左子树上所有节点的值都小于根节点的值
判断是否是平衡二叉树
前言 本文介绍什么是平衡二叉树以及如何判断一个二叉树是否是平衡二叉树。 什么是平衡二叉树呢?在一棵二叉树里,他的任意一个节点的左树的最大高度和右树的最高高度相差的绝对值不超过1。
判断是否为完全二叉树、满二叉树
前言 本文将介绍什么是完全二叉树、满二叉树以及如何判断一棵二叉树是否为完全二叉树、满二叉树。 完全二叉树 先来看一下什么是完全二叉树。
下一页