chapter 9

作者: yangqi916 | 来源:发表于2016-09-22 21:59 被阅读0次

1. 内容##

本章讲了一些代码调优的技巧

1.1 一些调优方法###

整数取模(取模运算时间大于加减法执行时间),k=k%n 可以替换为 if(k>=n) k=k-n;

函数、宏、和内联代码

顺序搜索,采用“哨兵” 让循环体不用 每次都判断边界。从而增加了运行速度

进行循环展开,替换自增。

1.2 对于二分的优化###

对二分进行优化虽然效率提高不少,但也应该看到可读性变得很差,维护起来也比较麻烦。

2. 习题##

7.给定一个非常长的字节序列(假设有十亿或万亿),如何高效的统计1的个数?###

1.算法一:假设x当前为一个奇数,则x=*1(*代表若干个位),则x-1=*0(*部分不变), 相与的结果就是末位的1消失。假设x当前为一个大于0的偶数,则x=*1&0(*代表若干个位,&代表若干个0),则x-1=*0%1(其中%代表若干个1,其数量与上面的&代表的0的数量相等),相与的结果为*0&0,即后面几位全部变成0。 综上,x&(x-1)的结果就是把x的最低位的1变成0.所以下面的函数执行的次数为x中1的个数。

int OneCount(unsigned int x)
{
    int count=0;
   for( ; x>0; count++) x &= (x-1);
    return count;
}

2.算法二: 查表法

const int idx[256]={0,1,1,……,8}//0~255中含1的个数
int OneCount(unsigned int x)
{
  int count=0;
  for(; x>0; x>>=8)
     count+=idx[x&255];
  return count;
}

8.如何使用哨兵来找出数组中的最大元素?###

关键是总是设arr[n]为当前找到的最大值,及时去更新arr[n].

i=0
while(i < n)
    max=arr[i]
    arr[n]=max //哨兵
    while(arr[i]<max)
        i++

9.y = a(n) * x^n + a(n-1) * x^(n-1) + ... + a1 * x + a0 的计算所需的次数?###

1.需要2n次

a[n+1] // contains a[0]...a[n]
y=a[0]
xi=1
i=1
while( i<=n )
    xi*=x
    y+= a[i]*xi

2.n次---by horner

a[n+1] // contains a[0]...a[n]
y=a[n]
for i in [1,n]
    y=y*x+a[n-i]

相关文章

  • Week 1 Note

    Words and Expressions (Chapter1-9) Chapter 1&2 (The Trans...

  • Chapter 9

    Mrs. Wilson说自己嫁给Mr. Wilson只是因为以为他是个绅士,但刚结婚她就意识到自己错了;她还讲述了...

  • Chapter——9

    路上风很大 行人匆匆 神色几许 我不知道他们的故事 奔波的理由 就像我 低着头赶路 偶尔抬头 被风迷了眼

  • chapter 9

    1. 内容## 本章讲了一些代码调优的技巧 1.1 一些调优方法### 整数取模(取模运算时间大于加减法执行时间)...

  • Chapter 9

    这一部分在Oceania was at war with Eastasia中展开! ally vt.1[ally ...

  • chapter 9

    陆薇和夏一诺收拾好下楼的时候大厅里已经有好多人在那了吃早饭了。陆薇望了一眼外面已经不下雨了,可能因为年代久远的关系...

  • Chapter 9

    爱自己 非暴力沟通最重要的应用也许在于-爱护自己。如何培养对自己的爱呢?转变自我评价的方式是一个重要方式。如果自我...

  • Chapter 9

    Employ 使忙碌 Entreaty 乞求 恳求 mix more in 更多融入 showery 阵雨的 so...

  • Chapter 9

    第一幕 人物 湘琴 直树 子瑜 皓谦 事件 牵手逃跑 皓谦想演一出英雄救美人,结果认错人,被人打。慌忙之...

  • Chapter 9

    Chapter 9: On-policy Prediction with Approximation From t...

网友评论

      本文标题:chapter 9

      本文链接:https://www.haomeiwen.com/subject/lnzzettx.html