自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (6)
  • 论坛 (40)

原创 关于c语言realloc函数分配的内存上限测试

关于c语言realloc函数分配的内存上限测试1.测试环境2.测试方法之一,使用realloc函数不断分配更多的内存2.1测试方法2.1.1 首先使用malloc分配51.2MB内存2.1.2. 然后反复调用执行下面的步骤,看看可分配的内存上限是多少.2.2.测试结果2.2.1.开始,可用内存13GB左右,swap分区使用率为0%2.2.2.调用realloc,多数情况下,只需10-30微秒,少数...

2020-04-03 18:49:30 130

原创 排序算法从入门到精通之九--性能测试

该文对几种较快的排序算法做了性能测试。测试的算法包括希尔排序,归并排序和快速排序。由于冒泡排序,插入排序,选择排序速度较慢,我们这里没有给出数据。所有几种算法在同一个程序中运行,使用同样的数据。通过修改宏MAX_LEN的值,我们对数据规模为1百万,2百万和4百万分别做的测试。 我们做了2轮测试,第一轮测试中,归并排序中调用merge_v1, 第二轮测试中归并排序调用merge_v2_asm. 下面...

2018-04-14 23:28:39 176

原创 排序算法从入门到精通之八--堆排序

该文容后补叙。

2018-04-14 22:54:02 138

原创 排序算法从入门到精通之七--归并排序

这篇文章讲述了归并排序的算法并给出一个优化的实现。通常,快速排序被认为是最快的算法,但是从算法性能这个方面讲,归并排序是快速排序的有力竞争者,他甚至比快速排序更快。快速排序的缺点是性能不稳定,特定的数据分布会导致排序性能变差。而归并排序是稳定的排序,其性能和数据的分布无关。归并排序的缺点是需要的内存空间比较大。

2018-04-14 22:27:55 184

原创 排序算法从入门到精通之六--快速排序

快速排序的算法是一种分而治之的算法,是一个递归算法。在通常情况下,快速排序算法是已知的最快的算法,故称这个算法为快速排序。其方法是:1.首先找出一个枢轴元素base。2.扫描待排序的数组,将这个数组划分为2部分,使左部分的所有元素小于等于base,右部分的所有元素大于base。3.对左部分的子数组继续做这个操作。4.对右部分的子数组做同样的操作。5.继续递归下去,直到数组的长度小于为1。

2018-04-14 10:42:07 190

原创 排序算法从入门到精通之五--希尔排序

希尔排序(Shell's Sort)是插入排序的一种,又称“缩小增量排序”。

2018-04-13 18:32:49 118

原创 排序算法从入门到精通之四--插入排序

插入排序和选择排序的复杂度相同,当数据基本有序或者数组的规模比较小时,这个排序算法的效果最好,故可用作其他排序的子过程,如快速排序,归并排序。

2018-04-13 17:52:01 157

原创 排序算法从入门到精通之三--选择排序

这个算法的复杂度和冒泡排序相同,相对于冒泡排序,这个算法减少了交换次数。算法描述:1.这个算法将待排序的数组分成左右2部分,左部分已经排好的,右部分是尚未排好的。左部分中,其最大的元素(最末的元素)总是小于等于右部分的任意一个元素。一开始,左部分为空,右部分是整个数组,随着排序的继续进行,左部分增加扩大,右部分逐渐减小,直到右部分为空为止。2. 每趟扫描过程中,检查右部分的所有元素,并找出最小的那...

2018-04-13 17:32:37 99

原创 排序算法从入门到精通之二---冒泡排序

冒泡排序是最朴素的排序算法。其过程就像烧水过程一样,大的水泡从壶底一步一步冒出来,直到水面以上。其基本思想是 1. 扫描整个数组,若数组长度为n,第一趟扫描过程中,下标j从0到n-2, 依次比较arr[j] 与 arr[j+1] ,若前者大于后者交换这两个元素。2. 第一趟扫描完成后,最大的那个元素已经放到数组末尾,所有最后的那个元素已经就位。所以第2次扫描时,只需考虑前n-1个元素,故下标j 从...

2018-04-13 17:11:11 97

原创 排序算法从入门到精通之一公用文件

从这篇文章开始,我将陆续介绍几种排序算法,内容包括算法描述,源代码,性能测试报告等。要介绍的排序算法有冒泡排序,选择排序,插入排序,希尔排序,快速排序,归并排序,堆排序。所有的代码可包括在一个VC工程文件之中。这里写给出这些排序子程序使用的公共头文件和时间测试函数。所有代码为标准的C语言代码。我这里没有使用C++的特性。

2018-04-13 16:48:53 104

原创 Visual studio 与字符编码浅析

摘要:本文试图简单的说明Visual studio 2013 对于字符串编码的处理,和一些乱码问题的处理方法。关于字符编码1. 西方文字的编码。1.1 ASCII 码,ASCII是通用的英文字符的编码,对于英文字符,他采用7位2进制数来表示一个英文字符,我们知道1个byte包含8个bit,对于ASCII码来说,最高bit为0.1.2 ISO 8859,西方广泛使用的编码标准。用于西方文字,有256...

2018-03-19 15:08:57 3258

原创 VS2013 启动缓慢的原因分析和解决方法

摘要:Visual studio 2013相对于VS2010做了很多改进,支持C++11. 但也有一些副作用,给我们带来不便。作者发现一个VS2013的一个严重问题,在一定的情况下,VS2013的启动非常缓慢,并拖慢了整个系统。本文梳理和分析了这个问题,并给出应对方案。近来,我将VS2010换到2013,以支持Qt的32位和64位编译。但是在换到VS2013后,发现几个问题。1.之前可被VS201...

2018-03-18 12:04:23 6996

原创 Qt 编译Oracle驱动

1. 确保你的电脑安装了Oracle,请首先确认其ABI是64位的或者32位的。 2. 请找出你的Oracle SDK的目录。我的电脑安装的是64位的Oracle 11g,安装在D:\app\lbc\product\11.2.0\dbhome_1 目录下,SDK 的inlcude目录是 D:\app\lbc\product\11.2.0\dbhome_1\OCI\include,lib文件所在的目...

2018-03-16 23:00:10 1530

原创 Visual Studio 2013 的兼容性问题

1. Visual Studio 2013 不能编译旧的工程文件的问题。将开发工具升级到Microsoft Visual Studio 2013后,你会发现,之前在VS2010可正确编译的文件在VS2013下不能工作了。比如你可能遇到不能找到windows.h之类的问题。这是因为,VS2013默认的头文件目录不再包含windows.h.    Visual studio 2013 有一个《平台工具...

2018-03-16 12:22:22 1769

原创 Oracle 和 Mysql 的整数类型

1. MySQL整数数据类型   MySQL有丰富的数据类型,就整数而言,MySQL提供了多达5种整数类型,见下表类型字节最小值最大值  (带符号的/无符号的)(带符号的/无符号的)TINYINT1-128127  0255SMALLINT2-3276832767  065535MEDIUMINT3-83886088388607  016777215INT4-2147483648214748364...

2018-03-02 12:39:47 1386

原创 二叉树的某些函数的实现

本文给出二叉树操作中某些功能的一个实现,个别函数用到STL的stack。本文包含的功能有   1. 二叉树的前序遍历,递归形式。BinaryTree_preorderTraversal   2. 二叉树的前序遍历,非递归形式,要用到stack。函数名BinaryTree_preorderTraversalUseStack   3. 求二叉树的高度。函数名BinaryTree_height   4....

2018-02-13 23:03:12 181

原创 STL应用-使用后缀表达式求表达式的值

1.关于中缀表达式和后缀表达式  我们常见的表达式是中缀表达式形式,即二元运算符在两个操作数的中间,如“3+4*5”  而后缀表达式则是运算符位于两个操作数之后。 如“3+4*5”转化为后缀表达式为“3 4 5 * +”2.基本思路 1.我们首先将中缀表达式转化为后缀表达式 2.对后缀表达式求值3.具体实现   3.1  将中缀表达式转化为后缀表达式      3.1.1 数据结构:       ...

2018-02-13 16:06:30 235

原创 重大消息-一种新的任意精度对数算法研制成功

   重大消息,近日,由我自己独创的对数log(x)算法终于定型。其复杂度与当前公开发表的最好的算法AGM同,都是O(log(P)M(P)),p为精度,其中M(P)代表两个P位整数相乘所需要的基本运算的次数。但是我的算法有很小的常数因子,故速度更快。测试报告显示,这个算法的性能是非常令人振奋的,在100-10000位精度下,可比现在最快软件Mathematica快2.8到8倍。计算一个正数的对数精...

2018-01-04 11:31:01 219

原创 我开通个人网站了

我开通个人网站了。

2017-12-25 18:53:02 743

原创 也谈圆周率计算

关于圆周率的计算历史和算法

2017-12-05 20:49:36 5921

原创 AGM函数近似值的估计

AGM函数近似值的估计 AGM是 Arithmetic-Geometric Mean的缩写,意为算术几何平均数。其定义为,给定两个正实数a0和b0,我们定义一个迭代过程 ai+1=ai+bi2,   bi+1=aibi−−−√ai+1=ai+bi2,   bi+1=aibi a_{i+1}= \frac {a_i+b_i} {2}, ...

2017-08-12 02:08:10 991

原创 汇编语言编程中遇到的一个跨文件函数调用问题

VS工程中C和汇编语言混合编程遇到的一个跨文件函数调用问题。

2016-10-14 09:20:16 1833

原创 批量分解素因数(二)

本文中的程序使用压缩的格式存储M以内(包含M)的所有奇数的分解式,本程序侧重于使用尽可能少的内存空间来保存M以内的所有奇数的分解式。

2016-07-26 10:06:45 617

原创 批量分解素因数(一)

这个程序采用高效的算法,将n以内的所有自然数分解质因数,并存储起来,最后输出其分解式。

2016-07-24 22:58:53 1406

原创 一个卓有成效的汇编优化范例--使用SSE2指令优化进制转化

本文通过一个64位整数转化为16进制字符串的函数,讲述程序优化的的一些方法。本文包括3个C语言的版本和1个SSE2汇编的版本。性能最强的SSE2版本的性能竟达原始C版函数的性能的21倍。

2015-08-05 22:10:24 1739

原创 Spigot 算法之一 计算调和级数的和

 我是首先在[1] 注意到 Spigot-Algorithm的,这个算法发布的相当早,见[2]. [1] 给出几个令人惊异的程序,只用很少的代码就可以计算e,pi,log(2)等常数。其中那个4行代码计算圆周率的程序被网友称作外星人写的程序,但我一直没有勇气去分析和学习它,最近终于决定学习这个 Spigot-Algorithm,先看了文献【3】,明白了其基本思想,遂计划尝试编写各种计...

2015-07-04 10:00:22 3085

原创 最短的计算大数乘法的c程序

这个程序目的是尽量使用最少的代码来计算大数乘法。本程序接收2个从键盘输入的整数,计算他们的乘积,并输出结果,去除回车和不必要的空格,源代码仅仅194个字节。

2015-07-01 21:53:20 3569

转载 浮点数到整数的快速转换

浮点数到整数的快速转换      在计算机图形运算中,常常要将浮点数转换为整数,例如在图像的光栅化阶段,就要执行大量的类型转换,以便将浮点数表示的坐标转化为整数表示的屏幕坐标。  ---------------------------------------------------------------------------------------- // // 强制类

2015-03-28 17:16:23 2176 1

原创 编译器中和64位编程有关的预定义宏

本文对分别测试VC,MinGW,GCC 三种编译器,在32位和64位模式(共6种情况下),和64位编程有关的与预定义宏的值。对跨平台编程具有参考意义。

2014-06-30 19:29:03 22377

原创 公比为无理数的等比数列的近似表示

在工程上,经常能够看到公比为无理数的等比数列。无理数是不可以表示为p/q的形式(这里p和q都是正整数)。但是,在某些情况下,并不严格要求相邻2项的比绝对相等,只要近似相等就可以了,这是给出用有理数来拟合这个数列的例子。

2014-03-26 01:47:21 1567

转载 浮点数的比较

在数学运算当中经常会涉及到判断两个数是否相等的情况 对于整数很好处理 A==B这样的一个语句就可以解决全部的问题 但是对于浮点数是不同的 首先,浮点数在计算机当中的二进制表达方式就决定了大多数浮点数都是无法精确的表达的 现在的计算机大部分都是数字计算机,不是模拟机,数字机的离散化的数据表示方法自然无法精确表达大部分的数据量的。其次计算机浮点数的精度在单精度float

2014-03-05 18:45:46 1033

原创 求smooth数

1.什么是Smooth数如果一个整数的所有素因子都不大于B,我们称这个整数为B-Smooth数。用符号Pn表示表示第n个素数,例P1=2,P2=3,P3=5.我们称素因子不大于Pn的Smooth数叫Pn-Smooth数。关于Smooth数更多的信息,请请参阅 Wiki词条 Smooth number http://en.wikipedia.org/wiki/Smooth_numbe

2013-09-30 10:13:25 1333

原创 转化逆波兰式为常规表达式

转化逆波兰式为常规表达式

2013-09-25 00:11:23 2275

转载 算法学习和ACM训练方案

1. POJ 推荐50题1.1  第一类 动态规划(至少6题,2479 和 2593 必做) 2479 和 259310151042(可贪心) 114110501080122112602411(稍难) 12761.2  第二类 搜索(至少4题)1011103311292049205624882492(稍难,也可并查集)

2013-09-16 14:57:58 4602

原创 使用回溯法求所有从n个元素中取m个元素的组合

一个使用回溯法求n个元素中去m个元素的c语言代码,包括2个版本,递归版和迭代版,前者代码简洁,后者性能更好些。

2013-09-13 13:55:56 6270 2

原创 用32位汇编语言写的一个简单的表达式计算器

本文给出一个简单的表达式计算器32位汇编源程序,并给出对应的C语言代码,有助于理解汇编和C语言编程的异同。

2012-06-14 01:29:24 5269

原创 用C语言和汇编语言实现将1个整数分解成几个素数的乘积

本文中的程序功能是将1个整数分解成几个素数的乘积,并提供了C语言和32位X86汇编语言2个不同的版本。本文尽量给出一个较好的实现,希望对c语言学习者和汇编语言学习者带来帮助。

2012-06-13 23:08:18 14171 2

原创 计算大数阶乘--Fortran版

本文给出一个使用Fortran语言的计算大数阶乘的程序,该程序可以计算出1-21万之间的数的阶乘。

2012-06-05 10:52:46 5332

原创 在Linux安装Fortran编译器

本文详细的记录了在 Linux 安装Fortran编译器的过程  1. 在浏览器中打开 http://gcc.gnu.org/wiki/GFortranBinaries2. 下载Linux的2进制版本,我的Linux是Fedora16, x86-64,所以我选择的是http://gcc.gnu.org/wiki/GFortranBinaries下的   64-bit AMD-c

2012-06-04 19:54:44 35120 2

原创 计算大数阶乘--Python版

本文给出使用Python语言写的大数阶乘计算器,由于Python支持大整数,故这个程序的代码非常简单。

2012-06-01 19:10:01 3519

用哈夫曼编码压缩文件

这是我自己学习huffman编码时编写的一个小程序。可以对文件进行压缩和解压缩,支持2种压缩算法,文件名称和压缩模式在命令行参数设置。内有编译好的执行文件,测试结果,数据文件,比较详细的使用说明和注释。程序使用c语言编写,未使用任何第三方库。在某些情况下(比如super-pi的计算结果),用我的这个程序压缩后的文件甚至比winRAR最优压缩模式更小。

2012-05-09

用牛顿迭代法计算整数的平方根到任意精度

这个程序展示了如何使用GMP来计算小整数的平方根并精确到任意精度,它并没有直接调用GMP的浮点函数来直接计算,而是通过牛顿迭代法逐步求精得到指定的精度。 这个程序以在VC6,VC2008和GCC下编译通过。在这个压缩包中,已经包含了GMP在windows平台的预编译lib文件和dll文件,你无需下载GMP来编译它。在Linux平台,你需要首先下载并安装GMP,然后你能编译和运行这个程序。 凭借GMP的高性能和牛顿迭代法,这个程序的性能非常好,在我的E8500CPU,计算sqrt(2)并输出(重定向到文件),当计算精度为10万/100万位有效数字时,仅需72毫秒和不到2秒。

2012-02-17

7种FFT代码和测试程序

本压缩包包含7种不同的FFT代码和测试程序,并给出各个FFT程序的性能对比数据。更详细的信息请参见http://topic.csdn.net/t/20060328/11/4644901.html。 这7种FFT代码包括。 1. galois_godel()给出的程序 2. http://topic.csdn.net/t/20060222/13/4570436.html中的程序 3. 朱志刚的FFT程序。 4. 我自己(liangbch)写的两个程序 5. mixfft,来自http://hjem.get2net.dk/jjn/fft.htm 6. http://momonga.t.u-tokyo.ac.jp/~ooura/fft.html

2010-01-26

快速阶乘计算器

这是一个计算阶乘的程序,使用较简单的算法,分为1.0,1.1,1.2 三个版本,全部提供源代码和可执行文件。该程序可以计算1万,10万甚至更大的书的阶乘,计算结果为精确值,保留所有数字。 该程序计算速度很快。在计算1万的阶阶乘时,赛扬533 cpu的电脑上,计算1万的阶城时,1.0,1.1,1,2分别为7.40秒,2.12秒,1.15秒。

2006-03-16

超级计算器

这是一个精度极高、运算速度极快的计算器软件。可将四则运算计算到5万位以上,指数、对数、三角函数计算到300位以上,计算速度比同类产品最快者运算速度快10-300倍。 它不但可以精确数进行计算,也可以对近似数进行计算。计算结果明确显示它是精确数,还是近似数,精确到多少位有效数字。它可以完成加减乘除四则运算,也可以完成平方、立方、n次方、开平方、开立方,开n次方、阶乘、倒数、三角函数、指数、对数、双曲函数等函数运算。 1.601版可以在2001.7月份以后使用全部功能. 1.602版解除了时间限制,无论何时均可使用全部功能。

2006-03-16

快速阶乘计算器

这是一个计算阶乘的程序,分为初级(1.0,1.1,1.2)、中级(2.0)、高级(3.0), mini, 3种算法,共计7个版本,1.x版本提供源代码和可执行文件,2.0 和3.0 版本仅仅提供执行文件。 mini 版为最新添加的版本,分dos版和windows版。dos 版的可执行文件仅仅323字节。windows版的可执行文件仅为1224字节。这两个版本均提供一个等价的.c程序源代码和制作过程说明文档。以上程序的速度均很快。下表列出各个版本的速度(CPU P4 2.6): 10000! 30000! 100000! 1.7s 21.3s 227s 1.1 0.64s 7.1s 82s 1.2 0.4s 3.7s 95s 2.0 0.1s 1.0s 16s 3.0 0.028s 0.22s 1.63s mini dos <;1.0s ---- ----- mini windows <;1.0s 约7s 约82s

2006-03-16

求sin(nx)的展开式

发表于 2003-07-11 最后回复 2020-03-29

4行代码(170个字符)计算10000以内的阶乘

发表于 2008-11-07 最后回复 2019-09-30

最小的计算大数阶乘的c程序

发表于 2012-04-26 最后回复 2016-12-22

谁能给出一个判断一个整数是几位十进制数的算法?

发表于 2003-04-17 最后回复 2015-08-16

分享:自己写的压缩解压缩程序,某些情况下可比winRar压缩比更高

发表于 2012-05-09 最后回复 2014-03-25

VB 正则表达式用法

发表于 2014-03-21 最后回复 2014-03-24

征集FFT算法的代码和算法

发表于 2006-03-28 最后回复 2013-03-24

Cygwin 与 linux 兼容性问题

发表于 2012-12-11 最后回复 2012-12-14

sql 语名不能得能期望的结果,求解决方法

发表于 2007-03-06 最后回复 2012-11-23

怎么用Perl来发送邮件

发表于 2012-06-15 最后回复 2012-06-21

socket通信,server端在是么时候应该调用closesocket。

发表于 2012-06-11 最后回复 2012-06-15

请推荐一些学习socket编程的资料或者电子书?

发表于 2012-06-11 最后回复 2012-06-11

散分,庆祝专家分过1000分

发表于 2012-05-18 最后回复 2012-06-11

第20届国际C语言代码大赛《科学计算器》代码分析

发表于 2012-04-28 最后回复 2012-05-22

散分,汇编初学者进

发表于 2011-12-14 最后回复 2012-04-29

请回复帖子,我达到3次回帖限制了,不能恢复了

发表于 2011-12-14 最后回复 2011-12-14

征集优秀汇编语言资源

发表于 2011-10-12 最后回复 2011-10-15

擂台:计算大数阶乘,看看谁的代码最短

发表于 2008-11-11 最后回复 2009-04-26

包含重复元素的全组合

发表于 2008-12-09 最后回复 2008-12-17

求包含重复元素的全排列

发表于 2008-11-14 最后回复 2008-12-09

数列求和(微积分)

发表于 2007-12-05 最后回复 2007-12-10

庆祝专题开发改版,散分!!!

发表于 2007-08-27 最后回复 2007-09-24

擂台:用汇编语言计算大数阶乘,程序最小最快者1000分送上

发表于 2005-07-19 最后回复 2005-10-10

求级数求和公式:1/(1^2) + 1/(2^2) +1/(3^2)+ ... +1/(n^2)

发表于 2005-10-06 最后回复 2005-10-07

求级数求和公式:1/(1^2) + 1/(2^2) +1/(3^2)+ ... +1/(n^2)

发表于 2005-10-06 最后回复 2005-10-07

推荐几本学习java的入门书

发表于 2005-08-25 最后回复 2005-08-28

给侄儿起名

发表于 2004-08-16 最后回复 2004-08-20

apfloat源码分析经验交流

发表于 2004-07-20 最后回复 2004-07-30

证明:(1*3*5*7*...(2n-1))/(2*4*6*8*...2n)是非循环小数

发表于 2004-07-07 最后回复 2004-07-07

求1+1/2+1/3+1/4+1/5+...1/n 的近似公式

发表于 2004-06-24 最后回复 2004-07-04

擂台赛:计算n!(阶乘)的精确值,速度最快者2000分送上(续)

发表于 2003-11-05 最后回复 2004-03-26

擂台赛:计算n!(阶乘)的精确值,速度最快者2000分送上

发表于 2003-09-16 最后回复 2004-03-21

对阶乘算法感兴趣的朋友,请看这个帖子:擂台赛:计算n!(阶乘)的精确值,速度最快者2000分送上

发表于 2003-09-24 最后回复 2003-10-30

请行家谈谈 关于 zju 的话题?

发表于 2003-10-09 最后回复 2003-10-14

我变成三角了,散分!

发表于 2003-09-30 最后回复 2003-10-09

等边多面题的问题?

发表于 2003-09-25 最后回复 2003-09-29

软件发布:超级计算器

发表于 2001-08-01 最后回复 2001-08-01

软件发布:超级计算器

发表于 2001-02-12 最后回复 2001-02-12

软件发布:超级计算器

发表于 2001-02-07 最后回复 2001-02-07

软件发布:'超级计算器'

发表于 2000-11-15 最后回复 2000-11-15

空空如也
提示
确定要删除当前文章?
取消 删除