首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
算法与数据结构
订阅
QuelZaram
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
肝了好多天-动态规划十连-超细腻解析|刷题打卡
动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技…
LeetCode日常之树:108 将有序数组转为二叉树
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 题目当前是要得高度平衡的一个解(因此上面一个解是不满足的平衡的),因此尽量取中间作为根,就是最平衡的。 如果是偶数,取中间…
高性能缓存 Caffeine 原理及实战
一、简介Caffeine是基于Java8开发的、提供了近乎最佳命中率的高性能本地缓存组件,Spring5开始不再支持GuavaCache,改为使用Caffeine。下面是Caffeine官方测试报告。
ACMer不得不会的线段树,究竟是种怎样的数据结构?
大家好,欢迎阅读周三算法数据结构专题,今天我们来聊聊一个新的数据结构,叫做线段树。 线段树这个数据结构很多人可能会有点蒙,觉得没有听说过,但是它非常非常有名,尤其是在竞赛圈,可以说是竞赛圈的必备技能。所以如果以后遇到有人看了一点算法导论就在你面前装逼,你就可以问他:请问线段树更…
Map集合、散列表、红黑树介绍
前面我们学习的Collection叫做集合,它可以快速查找现有的元素。 而Map在《Core Java》中称之为-->映射.. 作为学生来说,我们是根据学号来区分不同的学生。只要我们知道学号,就可以获取对应的学生信息。这就是Map映射的作用! 但同时,这会带来缺点:想要获取某个…
每天一道算法题:最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 长度最长为1000。 一开始是想用最笨的方法来解的,也就是找出所有的字串,然后再对所有的子串进行回文检测,并记录长度。这种方式时间复杂度可想而知,O(n)*O(n)*O(n)=O(n^3)。所以这种肯定是不能满足我…
敏感词过滤算法对比,顺便开源了个工具库
AC算法相对复杂,所以其实现方案也比较复杂,没有拿出纸和笔的话还真的挺难读懂的。但是DFA算法就比较简单易懂了,看着代码就能大概完成整个实现逻辑的构建。所以从代码的实现以及可读性,DFA算法算是比较深得我心吧 AC算法的作者提供了诸多功能,比如支持快查询,支持临时添加单词等等,…
排序算法总结
依次选择一个待排序的数据,插入到前边已排好序的序列中。 时间复杂度为$O(N^2)$,空间复杂度为$O(1)$。算法是稳定的,比较次数和交换次数都与初始序列有关。 直接插入排序每次往前插入时,是按顺序依次往前找,可在这里进行优化,往前找合适的插入位置时采用二分查找的方式,即折半…
数据结构与算法——常用高级数据结构及其Java实现
前文 数据结构与算法——常用数据结构及其Java实现 总结了基本的数据结构,类似的,本文准备总结一下一些常见的高级的数据结构及其常见算法和对应的Java实现以及应用场景,务求理论与实践一步到位。