编程珠玑《Programming Pearls》---再不读经典就鞋材了

编程珠玑《Programming Pearls》---再不读经典就鞋材了

阅读计划

这本书的前言已经叮嘱了,对于这本书读起来要
尽量的慢,读精读头才可以。这也正好符合我懒的作风。
正好,[慢慢磨这本书,计划在一个月内读完。]
因为是在图书馆借的,目前我有个计划是在毕业之前
把图书馆的经典书籍都看完,不论是技术类还是什么,
而且做好笔记,笔记不做也要做好书单的记录。
let us do IT! 不用点英语没有逼格,下面这本书简称Pears,
具体原因是linux下的输入法很难用,珠玑很难打。

第一章

关于排序的反思

一直在学习排序,基本的排序比如二叉树,堆,归并,块排,
大都了解,但排序的哲学在于当齐面对上G大小的数据时的性能如何,
对于我们初学者来说,我们重点方错了位置,我们以为会用排序
排一个10个数字的数组就算完成了,其实更加需要注意的是如何在大数据的面前利用排序算法更加有效的进行大数的排序,所以1G的数据如何生成也是我们需要研究的。

如何生成1G的数据?

    1.随机生成一个文件。
    2.在网上down一个二进制文件

Pears的第一个问题描述

如何给磁盘文件排序?

    输入:一个最多包含n个正整数的文件,每个数都小于n,
    其中n = 10^7。如果在输入文件中有任何整数重复出现就是致命错误。
    输出:按排序排列的输入整数的列表。
    约束:最多有(大约)1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多
    几分钟,运行时间为10s就不需要进一步优化了。

利用位图排序

    书中提到了利用归并去实现。
    但归并的缺点在于需要辅助内存的不断读出写入,所以数据大了之后效率会下降。

可以采用位图来做。

代码#include<回来写,打球去了>
#include <iostream>     // std::cout
#include <algorithm>    // std::for_each
#include <vector>       // std::vector
using namespace std;

void fun(int i){
    cout << i << ' ';
}

int main(int argc, char const *argv[])
{
    //
    int i{};
    int bit[10];
    for(i = 0;i < 10;++i){
        bit[i] = 0;
    }
    bit[0] = 0;
    bit[2] = 1;
    bit[3] = 1;
    bit[4] = 1;
    bit[6] = 1;
    bit[7] = 1;

    // for_each(bit,bit+10,fun);
    for(i = 0;i < 10;++i){
        if(bit[i] == 1){
            cout << i << ' ';
        }
    }

    cout << endl;
    return 0;
}   

root@fangzhenhua-Lenovo-G510:/home/kevin/ProgrammingPearls# ./a.out
2 3 4 6 7

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,277评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,777评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,946评论 0 245
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,271评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,636评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,767评论 1 221
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,989评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,733评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,457评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,674评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,155评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,518评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,160评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,114评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,898评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,822评论 2 280
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,705评论 2 273

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,579评论 25 707
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 10,984评论 6 244
  • 第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文...
    零一间阅读 877评论 0 5
  • 摘要:本文将向您讲述诸多数据处理面试题以及方法的总结。 第一部分、十道海量数据处理面试题 1、海量日志数据,提取出...
    拾壹北阅读 1,665评论 0 28
  • 他的女朋友在商场试衣服试了很久,他不时的站起来又坐下,来回走动,女朋友问他衣服怎么样,他敷衍的说 都挺好。可以看出...
    叽叽咕咕lu阅读 207评论 0 0