关闭

C++ 算法库(5) 二分法查找操作

二分法查找操作: binary_search 判断范围中是否存在值等价于给定值的元素 equal_range 返回范围中值等于给定值的元素组成的子范围 lower_bound 返回指向范围中第一个值大于或等于给定值的元素的迭代器 upper_bound 返回指向范围中第一个值大于给定值的元素的迭代器...
阅读(4279) 评论(0)

C++ 算法库(4) 排序操作

排序操作: is_sorted C++11 检测指定范围是否已排序 is_sorted_until C++11 返回最大已排序子范围 nth_element 部份排序指定范围中的元素,使得范围按给定位置处的元素划分 partial_sort 部份排序 partial_sort_copy 拷贝部分...
阅读(1878) 评论(0)

C++ 算法库(3) 划分操作

划分操作: is_partitioned C++11 检测某个范围是否按指定谓词划分过 partition 将某个范围划分为两组 partition_copy C++11 拷贝指定范围的划分结果 partition_point C++11 返回被划分范围的划分点 stable_partition ...
阅读(2175) 评论(0)

C++ 算法库(2) 修改内容的序列操作

修改内容的序列操作: copy 将一个范围中的元素拷贝到新的位置处 copy_backward 将一个范围中的元素按逆序拷贝到新的位置处 copy_if C++11 将一个范围中满足给定条件的元素拷贝到新的位置处 copy_n C++11 拷贝 n 个元素到新的位置处 fill 将一个范围的元素...
阅读(1738) 评论(0)

C++ 算法库(1) 不修改内容的序列操作

不修改内容的序列操作: adjacent_find 查找两个相邻的等价元素 all_of C++11 检测在给定范围中是否所有元素都满足给定的条件 any_of C++11 检测在给定范围中是否存在元素满足给定条件 count 返回值等价于给定值的元素的个数 count_if 返回值满足给定条件...
阅读(1702) 评论(0)

C语言算法速查手册

  第1章 绪论 11.1 程序设计语言概述 11.1.1 机器语言 11.1.2 汇编语言 21.1.3 高级语言 21.1.4 C语言 31.2 C语言的优点和缺点 41.2.1 C语言的优点 41.2.2 C语言的缺点 61.3 算法概述 71.3.1 算法的基本特征 71.3.2 算法的复杂度 81.3.3 算法的准确性 ...
阅读(5118) 评论(4)

棋盘覆盖问题

在一个 2^k * 2^k 个方格组成的棋盘中,若恰有一个方格与其它方格不同,则称该方格为一特殊方格,称该棋盘为一特殊棋盘。显然特殊方格在棋盘上出现的位置有 4^k 种情形。因而对任何 k>=0 ,有 4^k 种不同的特殊棋盘。下图所示的特殊棋盘为 k=2 时 16 个特殊棋盘中的一个。在棋盘覆盖问题中,要用下图中 4 中不同形态的 L 型骨牌覆盖一个给定的特殊棋牌上除特殊方格以外的所...
阅读(15322) 评论(4)

最大网络流

1 基本概念和术语(1)网络 G是一个简单有向图,G=(V,E),V={1,2,…,n}。在V中指定一个顶点s,称为源和另一个顶点t,称为汇。有向图G的每一条边(v,w)∈E,对应有一个值cap(v,w)≥0,称为边的容...
阅读(2751) 评论(0)

[扩展欧几里德]的理解

欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。扩展欧几里德算法是求a*x+b*y=gcd(a,b)的线性方程。查找了相关资料,下面是理解内容:我们令a>b①当b=0,显然gcd(a,b)=a,此时x=1,y任意;②当b!=0   假设a*x1+b*y1=gcd(a,b);         b*x2+(a%b)*y2=gcd(b,a%b)=gcd(a,b)   则a*x1+...
阅读(906) 评论(0)

三种博弈问题

         有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。    ...
阅读(1395) 评论(0)

任意进制间的转换

任意进制间的转换(2~36进制)上次写的2~9进制转换到10进制,因为都是整型的,处理输出输入都比较方便,这次来个比较普遍的。要用数组存储要转换的数字,结果返回整型的十进制数。函数如下:/************************************************************************//* a是要转换的数,bit是原本的进制(2~36) ...
阅读(4651) 评论(0)

判断互质数的简易方法

一、概念判断法   公约数只有1的两个数叫做互质的数。根据互质数的概念。可以对一组数进行判断。如,4和9的公约数只有1,所以它们是互质数。   二、规律判断法         根据互质数的定义,可总结出一些规律,利用这些规律可迅速判断一组数是否互质。        (1)两个不相同的质数一定是互质数。例如,19和13是互质数。        (2)两个连续的自然数一定是互质数。例如...
阅读(6431) 评论(1)

itoa()函数,10进制转换到(2~36)进制

先看下itoa()的函数说明吧: 功 能:把一整数转换为字符串   用 法:char *itoa(int value, char *string, int radix);    详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.    参数:  value: 待转化的整数。            radix:...
阅读(4598) 评论(5)

2~10进制内转换到10进制

 2~10进制内转换到10进制转换是可以从最后一位开始的,每次我的第一直觉都是按公式从前面开始,发现很经常错。从后面开始比较简洁而且不易错误。/************************************************************************//* a是要转换的数,bit是原本的进制(2~10) ...
阅读(1105) 评论(0)

每对顶点间最短路径----Floyd算法

 对于一个各边权值均大于零的有向图,对每一对顶点,求出vi与vj之间的最短路径和最短路径长度。以下代码包含有向图的建立,Floyd算法的实现以及输出最短路径和最短路径长度,具体过程请看【动画演示Floyd算法】。代码说明几点:1、A[][]数组初始化为各顶点间的原本距离,最后存储各顶点间的最短距离。2、path[][]数组保存最短路径,与当前迭代的次数有关。初始化都为-1,表示没有...
阅读(3901) 评论(1)

大数运算模板

 此模板只能处理正数的大数,包含四则运算、平方根、求末尾0个数、求长度等以及int型的组合排列。下面会有介绍模板的一些使用,就我目前所知道的使用方法。首先看下排列和组合的含义:排列:     组合:  模板如下:#include #include using namespace std;#define DIGIT 4 //四位隔开,即万进制#def...
阅读(1928) 评论(0)

匈牙利算法

 本文转自大牛博客:http://www.byvoid.com/blog/hungary/ 这是一种用增广路求二分图最大匹配的算法。它由匈牙利数学家Edmonds于1965年提出,因而得名。 定义 未盖点:设Vi是图G的一个顶点,如果Vi 不与任意一条属于匹配M的边相关联,就称Vi 是一个未盖点。 交错路:设P是图G的一条路,如果P的任意两条相邻的边一定是一条属于M而另一条不属...
阅读(15721) 评论(5)

STL函数模板(即算法)一览

查找算法adjacent_find:找出一个串中第一个不符合次序的地方find,find_if:找出第一个符合条件的元素find_first_of:在一个串中寻找第一个与另一个串中任意一个元素相等的元素search_n:在一个串中寻找一个元素第n次出现的地方count,count_if:一个串中符合条件的元素个数mismatch:找出两个串第一个不相等的地方equal:判断两个串的指定...
阅读(2824) 评论(0)

查找方法----二分查找

 二分查找又称折半查找,它是一种效率较高的查找方法。  【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。  【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。  【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;...
阅读(3100) 评论(0)

高精度计算----减法运算(续)

 基于上一贴,修改减法运算适合于高精度浮点型计算。因为减法比加法难度大一点,考虑的地方也要多一些,可能代码有欠缺,欢迎指出。运算说明:1、相减函数依旧没改变,包括上一贴的判断被减数与减数的大小函数也没变。2、增加两个函数,取小数位数函数和结果处理(回归小数点)函数3、与加法浮点高精度运算相比,这里改变较多的是结果处理函数,加法加完后,位数不减反增,而且最多增一位。减法会消失掉好...
阅读(1181) 评论(0)
31条 共2页1 2 下一页 尾页
    个人资料
    • 访问:3275866次
    • 积分:33783
    • 等级:
    • 排名:第135名
    • 原创:394篇
    • 转载:88篇
    • 译文:5篇
    • 评论:3370条
    个人说明
    联系方式:
    最新评论