算法
lusasky
这个作者很懒,什么都没留下…
展开
-
浅析数据结构-图的基本概念
线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的。一、图的定义与术语 定义:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为...转载 2019-01-26 23:13:15 · 178 阅读 · 0 评论 -
算法基础:BFS和DFS的直观解释
一、前言我们首次接触 BFS 和 DFS 时,应该是在数据结构课上讲的 “图的遍历”。还有就是刷题的时候,遍历二叉树我们会经常用到BFS和DFS。它们的实现都很简单,这里我就不哆嗦去贴代码了。BFS和DFS是图的两种遍历方式,是最简单的图搜索算法。BFS和DFS有几种实现方式,比如: 1、使用队列Queue实现图的BFS遍历 2、递归实现图的DFS遍历 3、使用栈Stack迭代实现图的...原创 2019-01-28 15:36:13 · 8327 阅读 · 0 评论 -
递归的本质原理
递归算法的概念递归(Recursion)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法,其核心思想是分治策略。 递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。绝大多数编程语言支持函数的自调用,在这些语言中函数可以通过调用自身来进行递归。关于递归算法在日常开发中,我们使用循环语句远远大于递归,但这不能说明递...原创 2019-02-14 13:40:38 · 11551 阅读 · 6 评论