我是首先在[1] 注意到 Spigot-Algorithm的,网站【1】给出几个令人惊异的程序,只用很少的代码就可以计算e,pi,log(2)等常数。其中那个4行代码计算圆周率的程序被网友称作外星人写的程序,但一直没有勇气去分析和学习,最近终于决定学习这个 Spigot-Algorithm,先看了文献【3】,终于明白了其基本思想,从这篇开始,我将讲述如果使用这个算法计算各种常数或者级...
分类:
编程语言 时间:
2015-07-04 11:16:20
阅读次数:
177
问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利
输入:
4个1-10的数字。[数字允许重复,测试用例保证无异常数字]
输出:
True or False...
分类:
编程语言 时间:
2015-07-03 23:29:35
阅读次数:
194
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 =...
分类:
其他好文 时间:
2015-07-03 23:27:42
阅读次数:
128
TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑“1”,0V等价于逻辑“0”,这被称做TTL(晶体管-晶体管逻辑电平)信号系统“TTL电平”最常用于有关电专业,如:电路、数字电路、微机原理与接口技术、单片机等课程中都有所涉及。在数字电路中只有两种电平(高和低)高电平+5V...
分类:
其他好文 时间:
2015-07-03 18:47:57
阅读次数:
227
不同于采用线性表顺序存储结构的vector和deque容器,list双向链表中任一位置的元素差值、插入和删除,都具有高效的常数阶算法时间复杂度O(1)。
头文件
#include
创建list对象
1)list();//创建一个没有任何元素的list对象。
listl 2)list(size_type n);//创建一个具有n个元素的list对象,每个元素采用它的类型下的默认值。
li...
分类:
编程语言 时间:
2015-07-03 17:32:46
阅读次数:
172
问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利
输入:
4个1-10的数字。[数字允许重复,测试用例保证无异常数字]
输出:
True or False
例如输入:
7 2 1 10
输出:
True
/*********************************************************************...
分类:
其他好文 时间:
2015-07-02 22:35:49
阅读次数:
173
题目:Given an integer array of size n, find all elements that appear more than ? n/3 ? times. The algorithm should run in linear time and in O(1) space.
求出现次数大于三分之一数组的长度,所以最多就只有2个这样的元素,题目要求线性时间复杂度和常数的空...
分类:
编程语言 时间:
2015-07-01 23:47:42
阅读次数:
424
算法时间复杂度的计算 [整理]基本的计算步骤 时间复杂度的定义 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(....
分类:
其他好文 时间:
2015-07-01 22:01:45
阅读次数:
219
序快速排序(QuickSort)也是一种排序算法,对包含n个数组的输入数组,最坏情况运行时间为O(n^2)。虽然这个最坏情况运行时间比较差,但是快速排序通常是用于排序的最佳实用选择,这是因为其平均性能相当好,期望的运行时间为O(nlgn),且O(nlgn)中隐含的常数因子很小,另外它还能够进行就地排序在虚拟环境中也能很好的工作。原理快速排序也和合并排序一样,基于分治法,分为分解、解决、合并三个步骤;...
分类:
编程语言 时间:
2015-07-01 12:12:12
阅读次数:
126
序本文主要介绍堆排序算法(HeapSort),堆排序像合并排序而不像插入排序,堆排序的运行时间为O(nlgn);像插入排序而不像合并排序,它是一种原地(in place)排序算法。在任何时候,数组中只有常数个元素存储在输入数组以外,这样,堆排序就把插入排序和合并排序的优点结合起来。
堆排序还引入了另外一种算法设计技术,利用某种数据结构(在此算法中为“堆”)来管理算法执行中的信息。堆数据结构不只在堆...
分类:
编程语言 时间:
2015-06-30 21:59:09
阅读次数:
150