2015年9月28日

图的广度优先搜索

摘要: 图的广度优先搜索基本思想和树的层次遍历差不错。与树的层次遍历不同的是,图中可能包含回路,我们遍历完一个节点,继续进行遍历,可能会回到已经遍历过的节点。为了避免遍历一个节点两次,需要开辟一个bool型的数组来标记该节点是否已经遍历过。 #include #include #include ... 阅读全文

posted @ 2015-09-28 10:56 joannae 阅读(453) 评论(0) 推荐(0) 编辑

图的三种数据结构

摘要: 对象箭头表示,邻接矩阵和邻接表稀疏图用邻接表,或对象箭头稠密图用邻接矩阵在无向图中求顶点的度,使用邻接矩阵及邻接表法都很容易做到在有向图中求顶点的度采用邻接矩阵比采用邻接表表示更方便。邻接表求出度容易,求入度较困难,需要遍历所有顶点的边表 阅读全文

posted @ 2015-09-28 10:53 joannae 阅读(472) 评论(0) 推荐(0) 编辑

贪心算法和动态规划算法

摘要: 动态规划和贪心算法都是一种递推算法 即均由局部最优解来推导全局最优解 (不从整体最优解出发来考虑,总是做出在当前看来最好的选择。) 不同点: 贪心算法与动态规划的区别:贪心算法中,作出的每步贪心决策都无法改变,由上一步的最优解推导下一步的最优解,所以上一部之前的最优解则不作保留。 能使用贪心法求解的... 阅读全文

posted @ 2015-09-28 10:37 joannae 阅读(8759) 评论(0) 推荐(0) 编辑

关于scanf的算法(位操作)

摘要: 题目要求:输入有12行数据,每一行分别是每个月的余额。计算他们的平均值后输出。在输出时要在前面加上“$”,并在四舍五入后保留小数点后两位。方法1:float a,b;main(){ for(;scanf("%f", &a)+1;) b+=a; printf("$%.2f", b/12);... 阅读全文

posted @ 2015-09-28 10:29 joannae 阅读(292) 评论(0) 推荐(0) 编辑

Search Quick Union Find(图的存储结构)

摘要: Quick Find:适用于search频繁的情况每个节点有一个id值,id相同表示两个节点相连通。在union时要将等于某一个id值都改成另一个id值Quick Union:适用于union频繁的情况每个节点有一个id值,id值表示该节点连接的那个节点的下标;每个节点有一个root值,root(i... 阅读全文

posted @ 2015-09-28 10:09 joannae 阅读(172) 评论(0) 推荐(0) 编辑

Inclusion–exclusion principle(动态规划)

摘要: QUESTION:把(2, 3, 5, 7)称为primes,能被primes整除的我们称之为Walprimes,比如-21, -30, 0, 5, 14 是, 而-121, 1, 143 etc不是Walprimes。现在给一个由数字组成的字符串,请在数字之间用+,或-,或什么符号都不用,来组成一... 阅读全文

posted @ 2015-09-28 09:57 joannae 阅读(1444) 评论(0) 推荐(0) 编辑

寻找中位数(分治法)

摘要: 对于非排序数列寻找中位数方法I:median of median algorithmfunction medianOfMedians(list, left, right) numMedians = ceil((right - left) / 5) //每个子数组有5个元素,numMedian... 阅读全文

posted @ 2015-09-28 09:31 joannae 阅读(2920) 评论(0) 推荐(0) 编辑

导航