邻接表的定义及C/C++代码实现 邻接表的定义及C/C++代码实现1.邻接表概念邻接表(AdjacencyList)顾名思义,就是通过链表或者利用数组模拟链表的方式将图的相连接关系表示的一种方法,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储…… 图 2022年04月21日 133 点赞 0 评论 172416 浏览
图的存储:链式向前星 图的存储:链式向前星1.概念链式向前星代码是基于向前星代码的优化,这是极大多数算法竞赛以及高效率图论算法喜欢适用的创建方法,与邻接表和邻接矩阵比较容易的理解方式,向前星算法并不容易理解。在理解链式向前星之前我们需要了解什…… 图 2022年01月11日 55 点赞 0 评论 94619 浏览
图的遍历DFS深搜优先搜索及C语言代码实现 图的遍历DFS深搜优先搜索及C语言代码实现1.图的遍历在理解DFS算法之前,我们首先需要对什么是遍历进行了解,遍历的概念就是:从某一个点出发(一般是首或尾),依次将数据结构中的每一个数据访问且只访问一遍。2.DFS简介DFS(Depth-Fi…… 图 2022年01月25日 260 点赞 0 评论 182763 浏览
最小生成树,普利姆(Prim)算法及C/C++代码实现 最小生成树,普利姆(Prim)算法及C/C++代码实现1.最小生成树(又名:最小权重生成树)概念:将给出的所有点连接起来(即从一个点可到任意一个点),且连接路径之和最小的图叫最小生成树。最小生成树属于一种树形结构(树形结构是一种特殊的图),或者说是直链型…… 图 2022年03月24日 190 点赞 0 评论 193354 浏览
最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现 最小生成树,克鲁斯卡尔(Kruskal)算法及C/C++代码实现1.克鲁斯卡尔算法简介克鲁斯卡尔(Kruskal)算法是一种用来寻找最小生成树的算法(用来求加权连通图的最小生成树的算法)。在剩下的所有未选取的边中,找最小边,如果和已选取的边构成回路,则放弃,选取次…… 图 2022年05月19日 183 点赞 0 评论 135333 浏览
最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现 最短路径,迪杰斯特拉(Dijkstra)算法及C/C++代码实现1.何为最短路径最短路径问题是图论研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径,大致可以分为如下几种问题,可无论如何分类问题,其本质思想还是不变的,即,求两点间的最…… 图 2022年05月23日 114 点赞 0 评论 109434 浏览
最短路径,弗洛伊德(Floyd)算法及C/C++代码实现 最短路径,弗洛伊德(Floyd)算法及C/C++代码实现1.算法简介弗洛伊德算法与迪杰斯特拉算法是公认的最著名的两种最短路径求解算法,接下来介绍弗洛伊德算法,弗洛伊德算法的思路是:首先初始化距离矩阵,然后从第一个点开始逐渐更新矩阵点值。d[i][j]表示从…… 图 2022年05月27日 71 点赞 0 评论 98915 浏览
线性(顺序)查找介绍与实现 线性(顺序)查找介绍与实现1.查找算法查找算法是指:从一些数据之中,找到一个特殊的数据的实现方法。查找算法与遍历有极高的相似性,唯一的不同就是查找算法可能并不一定会将每一个数据都进行访问,有些查找算法如二分查找等,并不需要完全…… 查找算法 2022年01月04日 237 点赞 0 评论 108591 浏览
折半查找(二分查找)介绍与实现 折半查找(二分查找)介绍与实现1.算法简介二分查找也称折半查找(BinarySearch),多数的人喜欢叫他二分查找。它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列,注意必须…… 查找算法 2022年01月29日 82 点赞 0 评论 113260 浏览
分块查找算法介绍与实现 分块查找算法介绍与实现1.算法简介分块查找是折半查找和顺序查找的一种改进方法,分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况,其核心有二索引表,二是分块处理。分块查找要求把一个大…… 查找算法 2022年05月12日 205 点赞 0 评论 125768 浏览