随笔分类 - 算法
算法图解,思路
摘要:考查目标 1. 掌握数据结构的基本概念、基本原理和基本方法; 2. 掌握数据结构的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析; 3. 能应用数据结果基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。 一、栈、队列和数组 (一)栈
阅读全文
摘要:It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that c
阅读全文
摘要:二分查找:在一组数中找到指定的数 //1. 存储在数组中(如果是链表则无法使用二分查找) //2. 有序的排列 (递增或递减,或重复数都无影响) 递归法: //param:有序数组,检索开始为止,结束为止,要查找的数字 //return:返回目标数字所在为止,没有找到返回-1 int binSear
阅读全文
摘要:动态规划算法的核心 //动态规划算法的核心就是记住已经解决过的子问题的解 通过动态规划解决斐波那契数列 //斐波那契数列(Fibonacci) //递归法 int fib(int n) { if (n == 0) return 0; if (n == 1) return 1; return fib(
阅读全文
摘要:基本概念: 深度优先搜索算法:一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点V的所在边都已被搜寻过或者在搜寻时节点不满足,搜索将回溯到发现节点V的那条边的起始节点。整个过程反复进行直到所有节点都被访问为止。最糟糕时算法复杂度O(!n)。 输入样例: 6 a
阅读全文
摘要:基本思想: 通过Dijkstra计算图G中的最短路径时,需要指定一个起点D(即从顶点D开始计算)。 此外,引进两个数组S和U。S的作用是记录已求出最短路径的顶点(以及相应的最短路径长度),而U则是记录还未求出最短路径的顶点(以及该顶点到起点D的距离)。 初始时,数组S中只有起点D;数组U中是除起点D
阅读全文

浙公网安备 33010602011771号