数据结构与算法
我愛大泡泡
机器学习
情绪识别
展开
-
图的几种表示方法
(i)邻接矩阵表示法,如图: 也就是说,如果两节点之间有一条弧,则邻接矩阵中对应的元素为1;否则为0。可以看出,这种表示法非常简单、直接。但是,在邻接矩阵的所有 个元素中,只有 个为非零元。如果网络比较稀疏,这种表示法浪费大量的存储空间,从而增加了在网络中查找弧的时间。 同样,对于网络中的权,也可以用类似邻接矩阵的 矩阵表示。只是此时一条弧所对应的元素不再是1,而是相应的权而已。如转载 2016-06-22 11:20:13 · 70245 阅读 · 28 评论 -
搜索图:即深度优先搜索和广度优先搜索
有两种常用的方法可用来搜索图:即深度优先搜索和广度优先搜索。它们最终都会到达所有连通的顶点。深度优先搜索通过栈来实现,而广度优先搜索通过队列来实现。(一)广度优先搜索(BFS)广度优先搜索是最简单的图搜索算法之一,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。首先先了解一下什么是队列。队列是原创 2016-06-22 11:25:24 · 647 阅读 · 0 评论 -
动态规划Dynamic Programming的总结
最近找工作需要些计算机算法,所以把最常见的动态规划方法整理一下,从浅到深的进行一下分析。一、动态规划的原理1、动态规划的基本思路许多问题在实现的过程中都是把原问题分解为子问题进行处理,再把子问题相互结合形成原问题的解,首先最常用的分治算法就是把原问题分解为不相交的子问题,与之相反动态规划是用于把原问题分解为具有重叠子问题的一种方法。所谓的重叠子问题是指如果原问题的子问题分别为s11和s原创 2017-02-26 23:37:39 · 491 阅读 · 0 评论 -
计算机算法学习大纲
作者:牛妹链接:https://www.nowcoder.com/discuss/67500?type=0&order=0&pos=2&page=1来源:牛客网 复杂度估算和排序算法(上)1)认识时间复杂度和空间复杂度2)认识对数器3)冒泡排序4)选择排序5)插入排序6)如何分析递归过程的时间复杂度7)归并排序8)小和问题 第二章 复杂度估算和排序算法(下...转载 2018-04-01 22:44:12 · 2905 阅读 · 0 评论