算法和数据结构
文章平均质量分 97
程风破~
CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。技术合作请加本人wx(注明来自csdn):foreast_sea
展开
-
【最短路径算法】之 Dijkstra 算法:附Java示例代码
卫星导航系统如何在最短的时间内找到从起点到终点的最短路线?这个(和类似的)问题将在本系列关于“最短路径”算法的文章中得到解决。本部分介绍Dijkstra 算法- 以其发明者艾兹格·W·迪科斯彻(Edsger W. Dijkstra)的名字命名。Dijkstra 算法针对图中给定的起始节点,找到到所有其他节点(或到给定的目标节点)的最短距离。2. Dijkstra 算法 – 示例用一个例子来解释Dijkstra 算法是最好的。下图显示了一张虚构的道路地图。带有字母的圆圈代表地点;原创 2024-08-27 00:15:00 · 2208 阅读 · 31 评论 -
【最短路径算法】之优化的Lee算法:附Java示例代码
卫星导航系统如何找到从起点到目的地的最短路径?机器人对手在第一人称射击游戏中如何确定自己的方位?本系列关于最短路径算法(更广泛地说:寻路算法)的文章将解答这些问题。2. 最短路径还是寻路?最短路径算法解决的是寻找图形(例如,在道路地图上)中两点之间的最短路径的问题。术语“短”并不一定意味着物理距离。它也可以是时间(首选高速公路)或成本(避免收费公路),或多种因素的组合。图可能非常复杂,包含数百万个节点和边(例如,在视频游戏世界中,数百或数千个角色可以自由移动),因此找到最佳路径将非常耗时。原创 2024-08-26 00:15:00 · 1029 阅读 · 19 评论 -
树形数据结构-红黑树:原理诠释,附Java实现示例
红黑树是一种广泛使用的自平衡二叉搜索树的具体实现。在 JDK 中,它用于TreeMap中,从 Java 8 开始,它也用于HashMap中的bucket碰撞。它到底是如何工作的呢?什么是红黑树?如何将元素插入红黑树?如何移除它们?平衡红黑树的规则是什么?如何在Java中实现红黑树?它的时间复杂度如何确定?红黑树与其他数据结构有何区别?2. 什么是红黑树?红黑树是一种自平衡二叉搜索树,即能自动保持某种平衡的二叉搜索树。每个节点都分配有一种颜色(红色或黑色)。原创 2024-08-29 03:34:17 · 1341 阅读 · 21 评论