文章 2024-10-19 来自:开发者社区

数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。

前言 最短路径的算法有两个,Dijkstra算法 和 Floyd算法。 Dijkstra算法 解决的是 单源 最短路径问题。 Floyd算法解决的是 多源 最短路径问题,并且可以处理负权图。 今天要讲的就是Dijkstra算法。 加:feng--Insist(大写的i),进java交流群讨论互联网+技术。可索要PPT等资料。 其他资料,建议先看本篇博客。:Dijkstra算法和Fl...

数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
文章 2024-05-17 来自:开发者社区

数据结构~缓存淘汰算法--LRU算法(Java的俩种实现方式,万字解析

LinkedHashMap内部维护一个一个双向链表和一个hash表,所以在O(1)的时间复杂度下实现LRU。 /** • 使用jdk库类实现LRU */ class LRUCacheByLinkedHashMap { private LinkedHashMap nodes; priva...

文章 2024-03-26 来自:开发者社区

【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)

数据结构的分类 线性结构:动态数组;普通队列;栈;链表;哈希表; 树形结构:二分搜索树;AVL树;红黑树;堆;线段树;Trie ;并查集; 图结构:邻接表;邻接矩阵; 抽象数据结构:线性表:动态数组、链表; 栈;队列;集合;映射(有序、无序); 冒泡排序 ...

【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)
文章 2023-12-22 来自:开发者社区

【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)

数据结构的分类线性结构:动态数组;普通队列;栈;链表;哈希表;树形结构:二分搜索树;AVL树;红黑树;堆;线段树;Trie ;并查集;图结构:邻接表;邻接矩阵;抽象数据结构:线性表:动态数组、链表; 栈;队列;集合;映射(有序、无序);冒泡排序int temp = 0; boolean flag = false; for (int i = 0; i < ar...

【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)
文章 2023-06-19 来自:开发者社区

数据结构(12)Dijkstra算法JAVA版:图的最短路径问题

12.1.概述12.1.1.无权图的最短路径无权图的最短路径,即最少步数,使用BFS+贪心算法来求解最短路径,比较好实现,此处不做展开讨论。 12.1.2.带权图的最短路径有权图的最短路径,不考虑权重为负数的情况,因为权重为负数的情况极有可能出现负值圈,在这个圈子上形成环路,最短路径是无限兜圈,趋于负无穷。所以此处我们只考虑权重不为负数的带权图的最短路径求解问题。带权图的最短路径求解问题主要求两....

数据结构(12)Dijkstra算法JAVA版:图的最短路径问题
文章 2023-06-19 来自:开发者社区

数据结构(3)基础查找算法——顺序查找、二分查找(JAVA版)

3.1.顺序查找顺序查找,时间复杂度是O(n),逻辑很简单,就是依次遍历一个线性的数据结构判断所要查找的目标数据是否在这个数据结构里。以下是代码实现:public boolean sequentialSearch(int target){ int[] array={1,3,5,7,9,11,13,15}; for(int i=0;i<array.length...

数据结构(3)基础查找算法——顺序查找、二分查找(JAVA版)
文章 2023-06-16 来自:开发者社区

数据结构算法学习打卡week2 (Java)

/** * 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 * <p> * 请你将两个数相加,并以相同形式返回一个表示和的链表。 * <p> * 你可以假设除了数字 0 之外,这两个数都不会以 0 开头 * <p> * 来源:力扣(LeetCode) * 链接:https://leetc....

文章 2023-06-15 来自:开发者社区

数据结构和算法之链表(Java语言实现)

数据结构和算法之链表(Java语言实现)一、什么是链表链表是一种用于存储数据集合的数据结构。链表具有以下属性相邻元素之间通过指针连接最后一个元素的后继指针为NULL在程序执行过程中,链表的长度可以增加或者减小链表的空间能够按需分配(直到系统内存耗尽)没有内存空间的浪费(但是链表中的指针需要一些额外的内存开销)二、链表抽象数据类型2.1、链表的主要操作插入:插入一个元素到链表中删除:移出并返回链表....

数据结构和算法之链表(Java语言实现)
文章 2022-11-26 来自:开发者社区

【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)

【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)文章目录数据结构的分类冒泡排序选择排序删除链表中的节点反转链表移除链表元素递归实现两两交换链表中的节点杨辉三角移除元素移动零判断子序列二叉树的最大深度平衡二叉树两个数组的交集重建二叉树样例有关(大小)堆的一些随笔魔术索引二叉树的镜像对称的二叉树二叉树的层序遍历二叉树的中序遍历二叉树的后序遍历二叉树的前序遍历二叉树的最近公共祖先二叉树....

【数据结构-算法】:数据结构和算法的一些个人总结(Java实现)
文章 2022-05-29 来自:开发者社区

数据结构 | 排序算法总结——(三)希尔排序排序(附Java实现代码)

1.2.3希尔排序希尔排序又叫缩小增量排序基本思想:先取一个小于n的整数作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有记录放在同一组中进行直接插入排序为止。具体算法步骤:选择一个增量序....

数据结构 | 排序算法总结——(三)希尔排序排序(附Java实现代码)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注