首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
数据结构与算法
某昆real
创建于2023-04-23
订阅专栏
数据结构与算法
等 1 人订阅
共21篇文章
创建于2023-04-23
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
贪心算法
1、前言 求解最优化问题的算法通常会经历一系列步骤,在每个步骤都会面临多种选择,而许多最优化问题并不需要计算每个选择,它的选择非常明确。 贪心算法就是这样的算法,它在每一步中都做出当时看起来最佳的选择
动态规划
1、前言 动态规划和分治算法非常类似,都是通过组合子问题的解来求解原问题。分治算法将问题划分为互不相交的子问题,而动态适应于子问题重叠的情况 动态规划常用于求解“最优化问题”,这类问题有很多个解,我们
最小生成树
前言 在电子电路设计中,我们常常需要将多个组件的针脚连接在一起,要连接n个针脚,我们可以使用n-1根连线。很显然,我们希望所使用的连线最短。 可以将上述布线问题用一个连通无向图 G = {V, E}
图基础知识
前言 图是非常重要的一种数据结构,它是一种多对多的关系,相比线性表、树等,它是最复杂的一种数据结构。 图由顶点和边组成,顶点之间由边连接,如果边有方向,则称为有向图,反之则为无向图。 图的作用非常大,
分治算法
分冶算法在每层递归时都有三个步骤: 分解,原问题分为若干子问题,这些子问题都是原问题的规模较小的实例 解决,递归解决这些子问题,如果子问题的规模足够小,则直接求解 合并, 合并子问题的解成原问题的解
散列表
目录: 1、前言 2、散列表性质 3、HashMap源码解析 前言 散列表,也称哈希表,是一种常见的数据结构。相信很多同学在面试的时候会遇到如下问题,本文介绍的散列表可以解决。 散列表从组织列式上看,
堆排序及优先队列
ps:这里提及的堆与常说的堆内存区域的堆不一样,此处提及的堆是一种简单的数据结构,而堆内存的实现较复杂。 本人之前的博文中有提到归并排序,与堆排序相比,二者效率相同,但堆排序还有个最大的好处就是,它比
B树
1、前言 B树是为磁盘或其它直接存取的辅助存储设备而设计的一种平衡搜索树,它类似于红黑树,但它在降低磁盘I/O操作上更好,B树也常被用于数据库中。 B树的最大不同之处在于B树的结点可以有很多孩子,数十
Floyd-Warshall-全源最短路径算法
前言 全源最短路径是相对单源最短路径而言的,用于查找图中所有点对其它点的最短路径。 Floyd-Warshall算法适用于存在负权重但不存在负回路的图,稠密图,它的运行时间为O(n3)。 它的实质是动
大整数相加
前言 Q:有两个大整数,大到 long 型都无法存放,如何实现它们相加? A:。。。 思路 要解决这个问题,有两个问题需要解决: 如何存储两个大整数 相加 如果 long都无法存储,那么,这个数肯定非
Johnson-全源最短路径算法
前言 上一篇文章已经阐述了Floyd-Warshall算法,适用于存在负权重路径的稠密图。本文讲述的算法适用于稀疏图。 全源最短路径求解其实是单源最短路径的推广,求解单源最短路径的两种算法时间复杂度分
计数排序、基数排序
目录 1、前言 2、计数排序 3、基数排序 4、使用场景 1、前言 常见的排序算法有很多,例如归并排序、堆排序、快速排序还有插入排序等等,以上排序有一个共同点,队列中的元素需要通过比较来计算元素的位置
寻找第k大的数
目录: 1、引子 2、排序解决法 3、类快排解法 4、最小堆解法 ####1、引子 日常编码中,常见遇到这样的问题,“寻找最大的数”,此问题非常容易,可暴力直接遍历找出,也可使用分冶策略找出最大值(详
红黑树
1.前言 一棵高度为h的二叉搜索树,基本操作时间复杂度为O(h),当二叉搜索树高度较低时,效率较高,如果二叉搜索树高度较高则效率较低了,极限情况下,向二叉搜索树顺序插入一个数组,那么二叉搜索树的效率为
背包问题
1、前言 背包问题是典型的动态规划问题,它有非常多的类型,本文讨论最常见的0-1背包问题 0-1背包问题描述: 有一个窃贼在偷窃一家商店时发现有n件物品,第i件物品价值为vi元,重量为wi,假设vi和
单源最短路径
前言 求取单源最短路径一般有两种算法,Bellman ford算法以及Dijkstra算法。Bellman ford算法可适应有负权重的图,而Dijkstra算法则只能用于正权重无环图。 环路 如上图
栈和队列
目录 1、引言 2、栈 3、队列 引言 栈和队列都是动态集合,可以理解为线性表或线性表实现的数据结构。它可以由数组实现,也可以由链表实现。 和数组链表等不一样的是,栈、队列添加、删除数据的位置都是预先
Geohash算法原理及实现
最近需要实现一个功能,查找车辆附近的加油站,如果车和加油站距离在200米以内,则查找成功。 加油站数量肯定不小,能否缩小查找范围,否则以遍历形式,效率肯定高不了。 Geohash算法就是将经纬度编码,
快速排序及主定理
在分治算法中,分解、解决、合并,使用递归解决一个个子问题再合并解决整体问题。对于此类算法的效率值,可使用主定理推导确定。 主定理较为复杂,本文中提供一种简化版本,以便理解: 关于主定理详细推导,可自己
图的搜索
前言 图的搜索指的是系统化地跟随图中的边来访问图中每一个结点,并不是随意地访问图中的结点。图的搜索算法可以用来发现图的结构,许多图的算法都要求先搜索全图,可以说,图的搜索是整个图算法的核心。 图的搜索
下一页