
算法
DDUp_
积的取余等于取余的积的取余
展开
-
每日一练
SeedCoder2014热身题目2:校园网络描述: 校园里有N(1≤N≤500)台计算机,现在我们测得这些计算机两两之间的Ping时间,得到对称矩阵Pij(1≤i,j≤N)。现在,我们需要用若干直连线将这N台计算机连接起来,使得任意两台计算机之间可直接或间接地通信。我们认为,计算机A可以和自身通信,Ping时间规定为0;若A和B之间有直连线且Ping时间为p,则原创 2014-04-03 20:30:58 · 454 阅读 · 0 评论 -
判断单链表是否有环
要判断单链表是否有环,可以设两个指针p和q,p每次移动一个节点,q每次移动两个节点,如果有环,则在p移动n个节点后与q相遇(想象两个人在同一环形跑道的起点跑步,A速度是B的两倍,则在A跑完一圈时B跑完两圈,他们在起点第一次相遇),如果无环,则q会先遇到NULL.原创 2015-01-13 17:32:53 · 493 阅读 · 0 评论 -
二叉树的非递归遍历
http://blog.youkuaiyun.com/cxllyg/article/details/7520037http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html转载 2015-01-26 17:24:20 · 475 阅读 · 0 评论 -
数据结构之哈希表
总结以下哈希表的相关知识:(1)定义原创 2014-11-24 11:53:14 · 610 阅读 · 0 评论 -
AVL树的平衡过程
平衡二叉树(balanced binary tree)又称为AVL树。它原创 2014-11-24 10:10:59 · 2119 阅读 · 1 评论 -
大数取余,模拟除法
//大数取余 模拟除法int bigNumMod(string bigN,int k){// while(1)// { size_t len=bigN.size(); int num=0; int i=0; for(;i<len;++i) { num=num*10+(bigN[i]-'0'); if(num>=k) break; } n原创 2014-11-03 15:34:17 · 497 阅读 · 0 评论 -
内部排序算法总结(use python)
都在代码和注释里原创 2014-11-25 14:38:39 · 506 阅读 · 0 评论 -
Dijkstra 求单源最短路径
#include "stdafx.h"#include using namespace std ;#include #include static int maxInt=numeric_limits::max();//Dijkstra 单源最短路径struct Graph_9{ int vexnum,arcnum; vector > arcs; //邻接矩阵 Gra原创 2014-10-10 10:28:50 · 440 阅读 · 0 评论 -
并查集
并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等。使用并查集时,首先会存在一组不相交的动态集合 S={S1,S2,⋯,Sk},一般都会使用一个整数表示集合中的一个元素。每个集合可能转载 2014-09-03 15:24:28 · 324 阅读 · 0 评论 -
遗传算法实例
遗传算法的手工模拟计算示例为更好地理解遗传算法的运算过程,下面用手工计算来简单地模拟遗传算法的各 个主要执行步骤。 例:求下述二元函数的最大值: (1) 个体编码 遗传算法的运算对象是表示个体的符号串,所以必须把变量 x1, x2 编码为一种 符号串。本题中,用无符号二进制整数来表示。转载 2014-08-13 16:37:05 · 591 阅读 · 0 评论 -
连通图存在欧拉回路,等价于每个节点的度为偶数
//连通图存在欧拉回路,等价于每个节点的度为偶数#include "stdafx.h"#include using namespace std;#include #include #include int main(){ ifstream infile; string filename = "case.txt"; infile.open(filename.c_str());原创 2014-09-19 17:16:16 · 806 阅读 · 0 评论 -
判断图的连通性
判断图的连通性可以任选一个节点,从该节点出发进行原创 2014-09-19 17:20:17 · 749 阅读 · 0 评论 -
最小生成树的prim算法和kruskal算法
11原创 2014-09-19 16:27:33 · 422 阅读 · 0 评论 -
子数组最大和
设sum[i]为以第i个元素结尾且和最大的连续子数组。假设对于元素i,所有以它前面的元素结尾的子数组的长度都已经求得,那么以第i个元素结尾且和最大的连续子数组实际上,要么是以第i-1个元素结尾且和最大的连续子数组加上这个元素,要么是只包含第i个元素,即sum[i] = max(sum[i-1] + a[i], a[i])。可以通过判断sum[i-1] + a[i]是否大于a[i]来做选择,而这原创 2014-08-08 14:04:44 · 381 阅读 · 0 评论 -
背包问题初步
1.问题描述在M件物品中取出若干件放在空间为W的原创 2014-09-18 13:51:10 · 373 阅读 · 0 评论 -
用栈实现十进制到任意进制的转换
//栈的应用//进制转换//算法依赖于原理: N=(N div d)*d +N mod d;#include using namespace std;#include "sq_stack.h"int transfor(SqStack s,int orig,int dimens,int& reslut){ do { int mod=orig%dimens; P原创 2014-04-07 15:48:41 · 2826 阅读 · 0 评论 -
最大熵理论及其应用
一、熵物理学概念宏观上:热力学定律——体系的熵变等于可逆过程吸收或耗散的热量除以它的绝对温度(克劳修斯,1865)微观上:熵是大量微观粒子的位置和速度的分布概率的函数,是描述系统中大量微观粒子的无序性的宏观参数(波尔兹曼,1872)结论:熵是描述事物无序性的参数,熵越大则无序。二、熵在自然界的变化规律——熵增原理一个孤立系统的熵,自发性地趋于极大,随着熵的增转载 2014-05-06 17:00:24 · 1607 阅读 · 0 评论 -
每日一练2
SeedCoder2014热身题目4:IVXLCDM描述:罗马数字是欧洲在阿拉伯数字(实际上是印度数字)传入之前使用的一种数码,现在应用较少.它的产生晚于中国甲骨文中的数码,更晚于埃及人的十进位数字.但是,它的产生标志着一种古代文明的进步. 罗马数字用7个拉丁字母IVXLCDM和读数规则来表示数. I = 1V = 5X = 10L = 50C原创 2014-04-03 21:22:58 · 429 阅读 · 0 评论 -
N的阶乘(N!)中的末尾有多少个0
问题:N的阶乘(N!)中的末尾有多少个0? 例如:N = 5,N! = 120.末尾有1个0. 分析:想到这个问题,有人可能第一反应就是现求出N!,然后再根据求出的结果,最后得出N!的末尾有多少个0。但是转念一想,会不会溢出,等等。 其实,从"那些数相乘可以得到10"这个角度,问题就变得比较的简单了。 首先考虑,如果N的阶乘为K和10的M次方的乘转载 2014-12-31 13:42:58 · 563 阅读 · 0 评论