自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 括号匹配程序

如果左括号总能找到和它对应的右括号,那么我们就称为匹配。存在多余的右括号或者左括号都不匹配。#include#include#include#define CAPACITY 50typedef struct stack{ int top; char arr[CAPACITY];}stack;void initStack(stack *st){ st =

2015-02-03 19:37:56 697

原创 自己实现的高效的指数函数

传统的使用递归实现的指数函数是非常低效的,这种算法所用的乘法次数为logN,其中N为指数。#includeint iseven(int a){ if(a % 2 == 0) return 1; else return 0;}long int newpow(long int x, unsigned int N){ if(N ==

2015-02-03 19:34:12 752

原创 五种排序算法比较

目前已学过插入排序,希尔排序,堆排序,归并排序和快速排序,其中希尔排序增量序列的选取和快速排序中枢纽元的选取都会影响算法性能。本例子中希尔排序的增量序列采用的shell建议的,即初始增量为数字长度的一半,下一个增量为前一个增量的一半。(可能不是最好的增量序列)。快速排序枢纽元选用的是三数中值。还是测试200000个数排序时间,这里仅附上主程序:void main(){ srand(time

2015-02-02 18:52:37 620

原创 两种快速排序算法比较

1.选择将第一个元素作为枢纽元。如果输入是随机的,那么这是可以接受的,但如果输入是预排序的或者反排序的,那么这样的枢纽元就产生一个劣质的分割,因为所有的的元素不是被划入S1就是被划入S2。更有甚者,这种情况发生在所有的递归调用中。实际上,如果第一个元素作为枢纽元而且输入是预先排序的,那么快速排序花费的时间将是二次的。2.三数中值分割法。一组N个数的中值是第[N/2]个最大的数。枢纽元最好的选择

2015-02-02 18:33:19 545

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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