- 博客(5)
- 资源 (4)
- 收藏
- 关注
原创 图与邻接矩阵、邻接表
本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 图的基本概念 先了解图的一些概念。 图在数学、代码中的实现方式, 一般来说使用邻接矩阵表示稠密图,使用邻接表表示稀疏图。下面会对邻接矩阵、邻接表加以说明。 实现代码: // 稠密图 -- 邻接矩阵 public class DenseGraph { private int node...
2019-10-29 22:12:33 324
原创 并查集
本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 并查集是一种树形的数据结构,可以用户判断数据是否相连接的问题。 例如在下图中任意取两个点,怎么判断这两个点是否连接在一起呢? 上图中的这个问题太复杂,举个简单的例子来练手。 使用quick find算法实现并查集 public class QuickFind { private int[] ...
2019-10-27 13:45:11 122
原创 快速排序
本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 代码如下: // 快速排序 public void quickSort(int[] arr){ quickSort(arr, 0, arr.length-1); } // 快速排序私有方法 private void quickSort(int[] ar...
2019-10-20 17:03:20 784
原创 归并排序
本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 选择排序、插入排序都是O(n^2)复杂度的排序算法(即这两种算法都使用了两重for循环) 归并排序是O(n log n)时间复杂度的排序算法 归并排序思路 上面归并思路中最理解、最难处理的点在于:相邻数组段合并时,怎样才能实现元素排序。 这就需要创建一个临时数组储存数组段中的元素(使用空间换时间的思想在算法中...
2019-10-16 22:21:32 201
原创 选择排序、插入排序
本文来源于liuyubobobo的“算法与数据结构--综合提升篇”视频教程 选择排序 // 选择排序 public static void selectionSort(int arr[]) { for (int i = 0; i < arr.length; i++) { int minIndex = i; //找出未排序元素最小值的下标 ...
2019-10-14 22:42:07 160
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人