E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
编程珠玑
领略计算机科学之美
《代码大全》一书的作者Steve McConnell对本书强烈称赞:“《
编程珠玑
》第1版是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。
·
2015-10-30 10:13
计算机
【
编程珠玑
-读书笔记】用位图解决排序问题--仔细分析问题的重要性
开始读《
编程珠玑
》,刚看完开篇就觉得很开心。作者从“AFriendlyConversation”讲起,大概是这样子的:一个programmer问作者:“HowdoIsortadiskfile?”
jiange_zh
·
2015-10-28 20:00
编程
排序
编程珠玑
位图
求最大连续子向量和-
编程珠玑
问题描述: 输入:具有n个浮点数的向量x; 输出:向量x的任何连续子向量中的最大和。 如一维数组元素为31,-41,59,26,-53,58,97,-93,-23,84,则程序的输出为x[2...6]的总和187. 补充定义:若输入全部都是负数,总和最大的子向量是空向量,总和为0. 解法一: 即求x[0..n-1]中x[i...j]的之和的最大值,使用最普通的方法计算出任何x[i,j]
·
2015-10-27 15:03
编程珠玑
编程珠玑
笔记1
一个文件里有1千万(10000000)个7位的整数(小于1千万),给大约1M内存让排序位图(bitmap),长度10000000的bit数组a初始化为0,当数字x出现,a[x]=1,然后依次输出标志位为1的下标号。10000000bit==1250000byte==1220K==1.19M。如果严格1M做成双通道程序,第一次标记前500万输出,第二次标记后500万输出。向量旋转:abcdefgh(
secretx
·
2015-10-27 15:00
读书笔记
编程珠玑
【高效程序员系列】目录
《
编程珠玑
》中说道:“懒惰、傲慢和缺乏耐性”是程序员的三大美德。如果你想懒惰得有水平,那么从今天开始,每天花几分钟提高你的工作效率。
·
2015-10-27 15:47
程序员
【高效程序员系列】序——生活的目标就是幸福
《
编程珠玑
》中说道:“懒惰、傲慢和缺乏耐性”是程序员的三大美德。如果你想懒惰得有水平,那么从今天开始,每天花几分钟提高你的工作效率。
·
2015-10-27 15:47
程序员
上周热点回顾(11.15-11.21)
热点随笔: · 8086 CPU 寄存器简介(Zachary.XiaoZhen)·
编程珠玑
--旋转算法(yjf512)· 与VS集成的若干种代码生成解决方案
·
2015-10-27 15:32
回顾
0 .. n-1个数中随机选m个数
这里参考《
编程珠玑
》中的一个方法,既利用概率测试来进行选取。假设我们要从0到100中选取10个数。
·
2015-10-27 15:30
随机
磁盘文件排序
编程珠玑
开始看
编程珠玑
了,第一个就是进行磁盘排序的问题,想到了也只是归并排序,但题目要求1M内存,这个算法不可行。
·
2015-10-27 14:15
编程珠玑
Reservoir Sampling - 蓄水池抽样问题
问题起源于
编程珠玑
Column 12中的题目10,其描述如下: How could you select one of n objects at random, where you see the
·
2015-10-27 13:19
res
[珠玑之椟]随机数函数取样与概率
本节主要受到《
编程珠玑
》第12章随机取样问题的启发,但不仅仅限于随机取样问题,进一步地,研究讨论了一些在笔试面试中常见的和随机函数以及概率相关的问题。
·
2015-10-27 12:34
随机数
【原】我的2014年学习提升计划
1.完成2014年书单,每本书都要形成读书笔记,书目具体如下: (1)HTTP权威指南(2)代码大全2(3)
编程珠玑
(4)程序员修炼之道(重读)(5)软件随想录(收尾几章)(6)大话设计模式
·
2015-10-27 11:53
学习
编程珠玑
第二章习题—向量的旋转
书中讲到三种方法,“杂技”交换、“求逆算法”和“块交换”法,注意形参一定要传引用!“杂技”交换法:voidrotate1(string&str,inti) { sets; intN=str.size(); intstart=0; while(s.size()!=N) { intn=0; inttmp=str[start]; while(((n+1)*i+start)%N!=start) { str
moses1213
·
2015-10-24 17:00
TODO 书
(Ploya) +
编程珠玑
(1,2两册) + 成就存储专家之路:存储从入门到精通/主编王纪奎 借出-应还日期:2011-10-29 + 挑出来的一些:《啊哈!
·
2015-10-21 13:38
书
二分查找
还是
编程珠玑
上的东西,作者对最初的算法稍微优化了一下。
·
2015-10-21 13:04
二分查找
一维最大子数组
好久没看书了,随便拿来《
编程珠玑
》翻到第8章,介绍了一个叫求数组中最大子数组的算法,是线性的时间复杂度。 问题描述是具有n个浮点数的向量x,求向量中任何连续子向量的最大和。
·
2015-10-21 13:03
数组
编程珠玑
(第2版)第一章课后习题答案
第一章 开篇1.#include <iostream>#include <set> // 输入相同元素在集合内只保留一个using namespace std;int main(){ set<int> S; &n
·
2015-10-21 12:26
编程珠玑
编程珠玑
chapter1
/* Copyright (C) 1999 Lucent Technologies */ /* From 'Programming Pearls' by Jon Bentley */ /* bitsort.c -- bitmap sort from Column 1 * Sort distinct integers in the range [0..N-1]
·
2015-10-21 11:11
编程珠玑
“珠玑之椟”系列简介与索引
系列博文主要目的: 收集《
编程珠玑
》和《
编程珠玑
(续)》(以下简称《续》)上的算法和思想,并包括了一些自己的思考和对相关问题的引申,以备复习和查用。
·
2015-10-21 11:21
索引
《
编程珠玑
》2.3 将一个n元一维向量左旋转i个位置
#include #defineSIZE100 //将一个size元一维向量vector向左旋转bits个位置 voidrotateV1(charvector[],intsize,intbits){ //消耗辅助空间 charstack[SIZE]; inttop=0; inti; for(i=0;i=size) indexSelected-=size; } vector[indexReplac
tiutiu2011
·
2015-10-12 10:00
编程珠玑
第二章
向量旋转
BitMap算法
bitmap算法的思想就是用一个整型的32位中的每一位去记录一个数,所以,每一个整型可以记录32个数,这样可以大大的节省空间,更加官方的解释有很多博客都有记载,更可以参考《
编程珠玑
》。
MR_LUXY
·
2015-09-23 12:30
数据结构和算法
编程珠玑
第十五章 散列表应用 hash字符串
#defineHASH29989#defineMULT31structhashNode{char*strWord;intnCount;hashNode*pNext;hashNode(){strWord=0;nCount=0;pNext=0;}};typedefhashNode*hashNodePtr;//一个hash表的应用unsignedinthashFunc(char*str){unsigne
king__moving
·
2015-09-01 20:35
复习
算法/数据结构
原地归并排序
这一思想用到的地方很多,在《
编程珠玑
》中被称为“手摇算法”。
zjx409
·
2015-08-23 21:00
归并排序
生成1000万行7位数字文件(
编程珠玑
)
生成1000万行7位数字文件(
编程珠玑
)今天看《
编程珠玑
》排序的问题,输入是一个千行文件,每行是7位数字,并且无重复。搜索了下,没有现成的数据集,所以简单用python生成了下,虽然简单!
vonzhou
·
2015-08-23 21:47
Algorithm
编程之美2.17之数组循环移位
其实这道题
编程珠玑
上面也出现过,书中给出的一种符合题意的解法是巧妙地进行翻转。以把abcd1234右移4位为例:第一步:翻转1234,abcd1234———
u013220338
·
2015-08-14 09:00
转 java实现位图索引
编程珠玑
中第一篇讲的就是使用bitmap来排序大文件里面的数据。下面给出一个简单的BitMap实现。主要使用Byte数组。主要就是shiyong为操作来设置为1的元素。
jjyy778899
·
2015-07-28 00:57
Bitmap
来自于《
编程珠玑
》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。
·
2015-07-16 16:00
bitmap
号外,号外 -几乎所有的binary search和mergesort都有错
在说这个帖子之前,不得不强力重复JoshuaBloch的推荐:如果你还没有读过ProgrammingPearls(中文版叫《
编程珠玑
》)这本书,现在就去读吧。如果你只读了一遍,现在就去再读一遍吧。
·
2015-06-21 14:00
search
binary
《
编程珠玑
》阅读小记(8) — 排序
序排序最常见的应用,而排序算法也是多种多样。然而,考虑到时空开销的限制,程序员面对排序的实际问题时,往往需要仔细的斟酌考虑,才能设计出高效的程序。插入排序
fly_yr
·
2015-06-19 17:00
《
编程珠玑
》阅读小记(11) — 堆
章节简述本章主要介绍堆,用该数据结构解决下面两个重要的问题:排序,采用堆排序算法对n元数组排序,所花的时间不会超过O(nlogn),而且只需要几个字的额外空间;优先级队列,堆通过插入新元素和提取最小元素这两种操作来维护元素集合,每个操作所需的时间都为O(logn);本章采用自底向上的组织结构,从细节开始逐步过渡到正题。堆数据结构该部分介绍堆数据结构的设计思想。优先级队列实现向量排序算法优先级队列提
fly_yr
·
2015-06-19 16:00
编程
[置顶] 计算机科学箴言集 -- <
编程珠玑
续>
6计算机科学箴言集程序员常常要转换时间单位;e.g.一个程序每秒能处理100条记录,那处理100w条需要多久?用除法算,就知道要花100000秒,按每小时3600秒算,差不多3小时;而一年有多少秒?如果我直接告诉你3.155x10^7秒,你可能很快就忘了;事实上,要记住这个很简单,在误差不超过0.5%的约束下: π秒就是一个纳世纪 ——TomDuff 贝尔实验室 [nano 1×10
RoyMuste
·
2015-06-18 12:00
Proverbs
《
编程珠玑
》阅读笔记——Ⅲ
因为这本值得慢慢思考,不得放慢阅读速度。现在读完了第二部分,先说一下我思考了很久的例子吧书中有一个例子:在search3函数中,为什么i+=8能够提升效率呢?我的猜测:在编译器的帮助下,每次循环*一次性*取出8个元素,这样便可以在高速缓存中访问x[i]到x[i+7];而在i+=1的情况下,每次循环都需要重新访问内存。作为一个搞模型的程序员,确实很难考虑到高速缓存和内存之间的存取,难道下一步就是区分
就是jy
·
2015-06-17 21:00
《
编程珠玑
》阅读笔记——Ⅲ
因为这本值得慢慢思考,不得放慢阅读速度。现在读完了第二部分,先说一下我思考了很久的例子吧书中有一个例子:在search3函数中,为什么i+=8能够提升效率呢?我的猜测:在编译器的帮助下,每次循环*一次性*取出8个元素,这样便可以在高速缓存中访问x[i]到x[i+7];而在i+=1的情况下,每次循环都需要重新访问内存。作为一个搞模型的程序员,确实很难考虑到高速缓存和内存之间的存取,难道下一步就是区分
就是jy
·
2015-06-17 21:00
《
编程珠玑
》阅读笔记——Ⅱ
真正完美的将算法和编程完美的结合,编程给人美的感受,或者说编程能像数学一样优雅。这是一本要边读边思考的书,所以适当把书里边提到的算法好好想想,自己闭上眼在脑子里过一遍。才能感受到作者的智慧与苦心。 先说基础部分,基础部分5章(开篇、啊哈算法、数据决定程序结构、编写正确程序、编程小事),当我第一次看目录的时候我也觉得每章之间没有任何关系,可以挑你喜欢的看,但我的习惯就是从头到尾,当我读完第一部分的时
就是jy
·
2015-06-17 21:00
《
编程珠玑
》阅读笔记——Ⅱ
真正完美的将算法和编程完美的结合,编程给人美的感受,或者说编程能像数学一样优雅。这是一本要边读边思考的书,所以适当把书里边提到的算法好好想想,自己闭上眼在脑子里过一遍。才能感受到作者的智慧与苦心。 先说基础部分,基础部分5章(开篇、啊哈算法、数据决定程序结构、编写正确程序、编程小事),当我第一次看目录的时候我也觉得每章之间没有任何关系,可以挑你喜欢的看,但我的习惯就是从头到尾,当我读完第一部分的时
就是jy
·
2015-06-17 21:00
《
编程珠玑
》阅读小记(10) — 搜索
问题描述本章是围绕着搜索问题展开讨论的,搜索问题形形色色。编译器查询变量名以得到其类型和地址,拼写检查器查字典以确保单词拼写正确,电话号码簿程序查询用户名以得到其电话号码,因特网域名服务器查找域名来发现IP地址,上述引用以及很多类似的应用都需要搜索一组数据,以找到与特定项相关的信息。本章继续讨论上一章的问题:生成[0,maxval]范围内m个随机整数的有机序列,不允许重复。定义了5个数据结构来解决
fly_yr
·
2015-06-16 15:00
编程
《
编程珠玑
》阅读小记(9) — 取样问题
问题本章研究的问题是取样问题,也就是程序设计中的随机数,问题描述如下:程序的输入包含两个整数m和n,其中m #include #include usingnamespacestd; /************************************************************************/ /*返回一个很大的随机整数(远大于m和n)*/ /*******
fly_yr
·
2015-06-15 20:00
编程
编程珠玑
阅读笔记01
薄薄的一本书,丝毫无愧于珠玑两个字。看了第一章,我对这本书佩服得五体投地。一个简洁的小例子,几个看似简单的算法,实际上包含了很多算法设计的思想.看完第一章,我对数据库的几种外排算法有了更深层次的理解 习题:位图和位向量来表示集合 例如集合{1,2,3,5,8,13}可表示为:`01110100100001000000`(从左到右为第0~19位) 文中巧妙的对整数集合排序的思路分三步:
就是jy
·
2015-06-14 17:00
编程珠玑
阅读笔记01
薄薄的一本书,丝毫无愧于珠玑两个字。看了第一章,我对这本书佩服得五体投地。一个简洁的小例子,几个看似简单的算法,实际上包含了很多算法设计的思想.看完第一章,我对数据库的几种外排算法有了更深层次的理解 习题:位图和位向量来表示集合 例如集合{1,2,3,5,8,13}可表示为:`01110100100001000000`(从左到右为第0~19位) 文中巧妙的对整数集合排序的思路分三步:
就是jy
·
2015-06-14 17:00
《
编程珠玑
》阅读小记(7) — 代码调优与节省空间
第九章代码调优前面各个章节深入讨论了提高效率的高层次算法:问题定义、系统结构、算法设计与数据结构选择。接下来这个章节讨论低层次方法—代码调优。
fly_yr
·
2015-06-12 11:00
《
编程珠玑
》阅读小记(6) — 算法设计技术
本章简述通过前面第二章节的叙述,描述了算法设计对程序员的日常影响:算法上的灵机一动可以使程序更加简单。但是本章内容将会发现算法设计的一个不那么常见但更富于戏剧性的贡献:复杂深奥的算法有时可以极大地提高程序性能。问题及简单算法本章引入的问题来自一维的模式识别,问题的输入是具有n个浮点数的向量x,输出是输入向量的任何连续子向量中的最大和。例如,如果输入向量包含以下N=10个元素:arr[N]={31,
fly_yr
·
2015-06-11 16:00
编程
设计
《
编程珠玑
》阅读小记(5) — 编程小事
本章简述阅读完1-4章节内容之后,我们应该已经做了一切该做的事:通过深入挖掘定义了正确的问题,通过仔细选择算法和数据结构平衡了真正的需求,通过程序验证技术写出了优雅的伪代码,并且对其正确性相当有把握。那么如何将这些成果合并到你的大系统中呢?万事俱备,只欠编程小事了~~(⊙o⊙)…编程是小事呢?加油呗,争取让它真正的成为不起眼的小事~~从伪代码到C程序本章着重从第四章的二分搜索程序实现为可靠的C函数
fly_yr
·
2015-06-09 11:00
编程
《
编程珠玑
》阅读小记(4) — 编写正确的程序
本章简述本章的主题是编写正确的程序,以一个二分搜索算法引入。关于二分搜索二分搜索的关键思想是如果t在x[0..n-1]中,那么它就一定存在于x的某个特定范围之内。该程序最重要的部分是大括号内的循环不变式,也就是关于程序状态的断言。代码的开发是自上而下进行的(从一般思想开始,将其完善为独立的代码行),该正确性分析则是自下而上进行的,从每个独立的代码行开始,检查它们是如何协同运作并解决问题的。关于循环
fly_yr
·
2015-06-08 16:00
代码
开发
《
编程珠玑
》阅读小记(3) — 数据决定数据结构
本章简述本章以一个庞杂的if判断程序段落提出主题,对于这种代码冗余量大,相似性高的程序结构应该考虑用合适的数据结构(比如数组)来达到相同的目的。由此,引出本章标题的完整意义:恰当的数据视图实际上决定了程序的结构。结构化数据本章用了大量篇幅介绍复杂程序的庞杂代码量的不合理性,使得读者可以深入的理解并牢记,在以后写程序时能够避免再次写出类似代码。作者在第四小节,提出结构化数据的概念。结构化数据就是指一
fly_yr
·
2015-06-06 17:00
《
编程珠玑
》阅读小记(1)— 开篇
1.前言久闻《
编程珠玑
》一书的大名,一直没有找到合适的机会深入学习阅读,最近终于得以入手,便决心投入细细的研究,提升一下自己的编程思想与技术。阅读之后才发现,这本书确实一本不可多得的好书。
fly_yr
·
2015-06-05 15:00
编程
解决方案
应用
排序算法大集锦_线性时间_计数排序
这个之前在《
编程珠玑
》上面看到过,当时就感觉特别神奇!速度突破了其他排序算法的下限后来在《算法导论》上面又看到了,感触颇深!
u011694809
·
2015-05-26 14:00
C++
计数排序
排序算法大集锦_线性时间_计数排序
这个之前在《
编程珠玑
》上面看到过,当时就感觉特别神奇!速度突破了其他排序算法的下限后来在《算法导论》上面又看到了,感触颇深!
kiss000001
·
2015-04-29 17:08
排序
sort
线性时间
再看二分搜索有感
晚上翻开《
编程珠玑
》,看到第四章二分搜索的程序框架时,联系最近给公司搭建解析算法优化对比系统自己调试时,改掉的几个bug,才真正认识到编程前思考并且预先判定好逻辑框架的重要性。
u010910436
·
2015-04-27 23:00
二分搜索
逻辑完整性
编程珠玑
第二版习题,4.6.2
把t在数组x中第一次出现的位置返回给p/** *giveaindexithatarr[i-1]
JektonLuo
·
2015-04-26 13:00
search
binary
编程珠玑
(开篇)--第一章习题
第一题 如果不缺内存,如何使用一个具有库的语言来实现一种排序算法以表示和排序集合?解答:使用库函数sort,或者使用TreeSet,TreeMap第二题 如何使用位逻辑(例如与、或、移位)来实现位向量?解答:packagetest; importjava.util.Scanner; publicclassMain{ finalstaticintN=10000000;//最多一千万个不重
kangaroo835127729
·
2015-04-26 00:00
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他