自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 【编程珠玑】代码优化的27条经典法则

1. 空间换时间法则     1.1修改数据结构         例如:计算球面距离:输入为球面上5000个点组成的集合S,再输入20000个点组成的序列,每个点实用经度和纬度表示,对于20000个点的序列,程序必须求出S中哪个点最接近它,距离使用球体中心与两个点的连线之间的夹角来度量。         直接计算需要用到大量的三角函数,开销很大,而两个点的距离随其欧

2014-10-31 22:31:01 417

原创 堆排序(《编程珠玑》第14章)

下面是堆排序的代码,其中在《编程珠玑》第14章中的代码,在建堆时候用的是从下往上的上虑,而习题2也指出了从下往上的下虑的复杂度更低,能够在O(n)复杂度内完成建堆。

2014-10-31 21:58:29 611

原创 优先级队列(《编程珠玑》第14章)

优先级队列的代码,注意两点1、在

2014-10-31 21:54:30 567

原创 堆排序(《编程珠玑》第14章)

下面是堆排序的代码,其中在《编程珠玑》第14章中的代码,在

2014-10-31 21:07:58 594

原创 关于new的效率(《编程珠玑》第13章)

在写程序中,不可避免的会用到new来在堆上开辟

2014-10-30 14:56:14 1139

原创 编程珠玑第13章 搜索

一、用数组来表示集合

2014-10-29 21:21:50 516

转载 【C/C++】计时函数比较

转自:http://www.cnblogs.com/dwdxdy/p/3214905.html点击打开链接的

2014-10-29 11:45:30 478

原创 《编程珠玑》第12章习题

习题一:

2014-10-28 19:55:48 625

原创 随机取样(《编程珠玑》第12章)

随机取样问题,同编程珠玑上所讲,

2014-10-27 21:00:32 553

原创 在O(n)时间内找出n个数中的第k个(《编程珠玑》第11章)

主要利用了

2014-10-21 14:29:12 797

原创 排序(《编程珠玑》第11章)

下面分别介绍插入排序,快速排序,选择排序和希尔排序,堆排序在

2014-10-20 21:52:54 651

原创 在1-9这9个数之间填上+或-,使结果等于目标值(华为机试)

题目来源:华为机试题,难题!主要思想:深搜,不多把问题简化,知道只剩下一个元素或者不剩下。也算是减而治之。

2014-10-16 11:19:14 4295

转载 整数二进制展开后1的个数(《编程珠玑》第九章)

转自博客:http://www.cnblogs.com/graphics/archive/2010/06/21/1752421.html

2014-10-15 22:31:22 899

原创 用hash表实现搜索(《编程珠玑》第九章)

用hash表实现搜索,时间复杂度是O(n),但是空间复杂度也是)

2014-10-15 22:29:25 573

原创 二分搜索的总结(续)

前面已经有介绍二分搜索的了,这里再次贴出一个代码

2014-10-15 20:52:14 479

原创 数组中总和最接近t的子向量(编程珠玑《第八章》)

#include#includeusing namespace std;int nearestZero(int A[],int n){int *sum=new int[n];sum[0]=A[0];for(int i=1;isum[i]=sum[i-1]+A[i];sort(sum,sum+n);int result=sum[0]-sum[1];

2014-10-14 22:04:56 908

原创 找出数组中连续的x个数,使其和最大(《编程珠玑》第八章)

其中1的复杂度为O(n^3),2a和2b的复杂度为O(n^2),3的复杂度为O(nlogn),最后一个的复杂度是O(1).#includeusingnamespace std;int maxSeriesVector1(intA[],int n){         intmax=0,currSum=0;         for(int i=0;i         {

2014-10-13 21:24:50 1684

原创 x的n次方(编程珠玑第四章)

测试过的版本:考虑了n是负数的情况#includeusing namespace std;double power(double x,int n){         doubletemp=x;         doubleresult=1;         if(n==0)                  return1;         if(n  

2014-10-10 21:58:19 729

转载 开源网站搜集

转自:http://blog.csdn.net/int64ago/article/details/7426824

2014-10-10 21:23:05 500

原创 二分搜索的总结

注意,以下用mid=lo+((hi-lo)>>1)是为了防止溢出。此处的小括号不是多余的,和运算符的优先级有关系。

2014-10-10 21:08:35 558

原创 编程珠玑第三正课后题

int main(){cout<<getPermutation1(6,78)<<endl;cout<<cantor("152643")<<endl;system("pause");return 0;}int cantor(string s){int factorial[10]={0};for(int i=1;i<10;i++)factorial[i]=calFactorial(i);string

2014-10-08 19:58:12 612

原创 日期问题函数(编程珠玑第三章)

#includeusing namespace std;int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};struct Date{int year;int month;int day;Date(int _year,int _month,int _day){year=_year;mont

2014-10-08 15:10:41 555

原创 Runtime Error和Output Limit Exceeded

在刷leetcode的题目时,时常会出现在本地编译通过且

2014-10-08 14:48:50 2313

原创 找出n个元素中最小的k个数(编程珠玑第二章)

思想:用最大堆操作来减少时间

2014-10-06 22:39:23 1721

原创 变位词算法(编程珠玑第二章)

代码是用C++写的,很简单,不解释。leetcode上有

2014-10-06 21:05:42 692

原创 rotate旋转分析(编程珠玑第二章)

方法1:编程#include#includeusing namespace std; void swap(int begin,int mid,intn,vectorint> &num){         for(int i=0;i                  swap(num[begin+i],num[mid+i]);} void rotate

2014-10-06 21:00:01 740

空空如也

空空如也

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

TA关注的人

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