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
编程珠玑习题解答
编程珠玑
1.1 Cracking the Oyster读后感
从今天开始专心阅读几本经典书籍,《
编程珠玑
》无疑是及其经典的一本。读后感主要包括问题,解决方案,总结及完成部分习题。CrackingtheOyster主要是一个排序的问题。
bin314
·
2012-08-10 22:07
编程珠玑
编程珠玑
关于
编程珠玑
中习题2.3的一点思考
出处:http://www.cnblogs.com/HappyAngel/archive/2011/01/16/1936905.html 这两天看到
编程珠玑
第二章,关于习题2.3中说到杂耍算法执行gcd
insistGoGo
·
2012-08-09 23:00
杂耍算法
出处:http://www.cnblogs.com/solidblog/archive/2012/07/15/2592009.html1.前言我的第一篇文章:
编程珠玑
(一):前言&&位图排序,从发布以来到目前为止已经被浏览了超过一千次
insistGoGo
·
2012-08-09 23:00
算法艺术与信息学竞赛——
习题解答
第二章 数学方法与常见模型默认情况下,每个题目都有三个链接,第一个是原题,第二个是oj,第三个是解题报告。也有很多情况下原题是找不到的。2.1.1序列 http://www.oi.edu.pl/old/php/show.php?ac=e181513&module=show&file=zadania/oi5/sum,http://acm.cs.ecnu.edu.cn/problem.php?pro
Balloons2012
·
2012-08-07 09:00
编程珠玑
_第一章_ 开篇
问题:输入:给出至多10,000,000个正整数的序列特征:每个数都小于10,000,000、数据不重复且数据之间不存在关联关系(相互独立)输出:增序输出序列约束:内存容量1MB,磁盘空间充足,运行时间至多几分钟,10是最适宜的时间分析:我们需要10,000,000个数表示10,000,000个位。1MB的包含8*1024*1024个位则,所需要的内存容量为:10,000,000/(8*1024*
insistGoGo
·
2012-08-06 17:00
编程
优化
测试
File
存储
电话
基础知识整理
1.数据结构与算法1.1书籍(1)算法导论(2)编程之美(3)
编程珠玑
(4)数据结构(C语言版)(5)CareerCup.Cracking.the.Technical.Interview.Ed4.2010
kunlong0909
·
2012-08-04 22:00
数据结构
编程
算法
网络
语言
generation
关于《
编程珠玑
》中一个找出一个不存在的数的问题的探讨
《
编程珠玑
》第二章2.1的三个问题中,有个问题是这样的: 给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数(在文件中至少缺失一个这样的数——为什么
zyy5411
·
2012-07-31 15:00
编程
编程珠玑
--第二章变位词程序的实现
题目描述:给定一个英语字典,找出其中的所有变位词集合。例如,“pots”、“stop”、“tops”互为变位词,因为每一个单词都可以通过改变其他单词中的字母的顺序来得到。程序主要有三部分组成,sign、sort和squash。我们用下图来说明(假设要处理的单词有六个panspotsoptsnapstoptops),处理结果如下:可见sign是将单词进行排序(将pans排成anps,按照字母序),s
chen895281773
·
2012-07-28 22:00
编程
编程珠玑
(四)求一个字符串中连续出现的次数最多的子串
这个题目不是
编程珠玑
上看到的,但是解法用到的数据结构在
编程珠玑
上有讲到,先归类到这里。求一个字符串中连续出现的次数最多的子串。例如字符串“abababc”,最多连续出现的为ab,连续出现三次。
ysu108
·
2012-07-27 22:00
数据结构
编程
null
程序员该读的几本书
《
编程珠玑
》16.《修改代码的艺术》byMichaelFeathers17.《编码:隐匿在计算机软硬
steveguoshao
·
2012-07-27 15:00
设计模式
编程
敏捷开发
企业应用
application
basic
编程珠玑
第十一章----排序
1、快速排序 原理:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。voidquickSort(int*a,ints,intt)//数组首地址a,数组起始位置s(初始值为0),结束位置t(初始值为n-1) { inti=s,j=t+1,temp,x=a[s]; do { do { i++; }wh
dazhong159
·
2012-07-27 13:00
编程珠玑
第九章
1、内存访问(连续内存访问与跨页面访问内存的区别) 注意在访问内存的时候,要注意内存的连续性,如果访问的内存不是连续的,那么程序的运行速度也会受到极大的影响 例如访问一个二维数组时,先访问行,再访问列,能够减少页面调度次数,同时cache命中率也相对高些。 2、递归调用宏时,需要小心,宏中的某个参数被调用了多次以致数值发生了变化 #define Max(a,b) ((a>b)?
dazhong159
·
2012-07-27 12:00
编程珠玑
第八章
1、求一个整型数组中相邻子向量的最大和。方法一:最直观的,也是最容易想到的,长度为n的数组,子向量个数为n*(n+1)/2,找到和最大的子向量,复杂度为O(n^2)intfindMax(int*a,intn)//a为待查找数组,n为数组长度 { intmax=0,sum=0; for(inti=0;isum?max:sum; } } returnmax; }改进方法:顺序查找整个数组,用maxS
dazhong159
·
2012-07-27 12:00
编程珠玑
第四章
1、二分查找代码intfind(int*a,intn,intkey)//a为待查找数组,n为数组长度,key为待查找元素 { intbegin=0,end=n-1,mid=0; while(beginkey)//key较小,在左半部分查找 end=mid-1; else//key较大,在右半部分查找 begin=mid+1; } return-1;//查找失败,返回-1 }
dazhong159
·
2012-07-27 10:00
编程珠玑
第三章
1、本书出版之时,美国的个人收入所得税分为5种不同的税率,其中最大的税率大约为40%.以前的情况则更为复杂,税率也更高。下面所示的程序文本采用25个if语句的合理方法来计算1978年的美国联邦所得税。税率序列为0.14,0.15,0.16,0.17,0.18.....。序列中此后的计算大于0.01.有何建议呢?ifincome<=2200 tax=0;elseifincome<=2700
dazhong159
·
2012-07-27 10:00
编程珠玑
--如何使用位逻辑运算(例如不、或、移位)来实现位向量
首先说明一下,假设使用的是8bit的数据类型(32bit的不好画),数据是怎么排列的:然后去理解下面的代码:#defineBITSPERWORD32//表示一个整型含有32个bit #defineSHIFT5//单位位移量 #defineMASK0x1F//掩码 #defineN10000000//表示有1000万个数 inta[1+N/BITSPERWORD]//使用整型数组模拟定义1000万个
chen895281773
·
2012-07-27 00:00
编程
编程珠玑
--第12章 取样问题
问题描述:程序的输入包含两个整数m和n,其中m #include usingnamespacestd; intmain(){ sets; s.insert(3); s.insert(3); coutS; while(S.size()::iteratori; for(i=S.begin();i!=S.end();++i) cout<<*i<
chen895281773
·
2012-07-26 17:00
编程
c
iterator
ini
编程珠玑
(性能篇)
第六章性能透视,提出了几个对性能进行优化的层次算法和数据结构算法优化数据结构重组代码优化硬件第七章封底计算,没看仔细。第八章算法设计技术,提出了一个小问题(最大子序列和),针对这个问题研究四种不同的算法和对应的复杂度。intmaxvalue(inta,intb){ if(a>b) returna; else returnb; } //三层循环 intfun1(){ intmaxsofar=0; i
Detective_Xin
·
2012-07-25 23:00
编程珠玑
--第一章使用位图
问题描述:一个最多包括n个正整数的文件,每个数都小于n,其中n=10000000.如果在输入文件中有任何整数重复出现的话就是致命错误。要求按升序输出这些数。由于我们只能操纵字节,但是我们可以使用字节来操纵字节中的位,我们使用int(4个字节),如果我们想要将第k位置为1的话,我们只需要这样操作:a[k/32]|pow(2,31-k%32),当我们要判断某位是不是1的时候,使用相似的方法:a[k/3
chen895281773
·
2012-07-25 22:00
编程珠玑
(三)取样问题
要从0~n-1的整数中取出来m(m #include usingnamespacestd; //rand()函数生成一个0到RAND_MAX(stdlib.h中定义的值为2147483647(有符号整数的最大值))之间的整数 voidrand_select1(intn,intm);//在0~n内选择出m个整数 voidrand_select2(intn,intm); voidran
ysu108
·
2012-07-24 21:00
编程
算法
iterator
Exchange
IM
编程珠玑
(二)寻找一个字符串中最长重复字串
例如字符串"banana"中最长重复字串为ana,这里用到了一个很简单的数据结构字符串数组,其实为一个字符串指针数组,一个char*类型的数组,用字符地址代表每个字符,可以节省空间。算法很简单,求出每个后缀数组,然后对后缀数组进行排序,最后求出相邻的两个数组之间的最大公共字串。#include usingnamespacestd; voidcommon_str(char*s,char**c
ysu108
·
2012-07-24 16:00
编程珠玑
(基础篇)
第一章关于计数排序的,题意如下:输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=10^7。如果在输入文件中有任何正数重复出现就是致命错误。没有其他数据与该正数相关联。输出:按升序排列的输入正数的列表。约束:最多有1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化。思路:利用位向量,当且仅当整数i在文件中出现时,第i位为1.最后检验每一
Detective_Xin
·
2012-07-20 19:00
编程珠玑
(二)字符串左旋
编程珠玑
第二章的内容,有些内容没有看明白作者的意思。下面是向量左旋和变位词的问题。一、将一个n元向量左旋转i个位置。例如当N=8,i=3时,向量abcdefgh旋转为defghabc。
ysu108
·
2012-07-20 19:00
编程
c
算法
n2
编程珠玑
第二章
1、给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中一32位整数。1、在文件中至少存在这样一个数?2、如果有足够的内存,如何处理?3、如果内存不足,仅可以用文件来进行处理,如何处理?答案:1、32位整数,包括-2146473648~~2146473647,约42亿个整数,而文件中只有40亿个,必然有整数少了。2、如果采用位数思想来存放,则32位整数最多需要占用43亿个位。
dazhong159
·
2012-07-20 18:00
编程珠玑
第一章
1、1000w个整数(没有重复)进行排序,可用内存只有1M,怎么排序? 1000w*4/(1024*1024)=38.14M; 所以划分40个通道,每次读取25w个数据(需要不到1M内存),利用快速排序或者堆排序进行排序,然后写回到文件中; 对得到的40个排好序的文件两两进行归并排序,直到得到一个排好序的文件即可。 2、1000w个整数(没有重复)进行排序,内存不限,怎么排序?
dazhong159
·
2012-07-20 17:00
编程珠玑
(一)位图
这个问题是编程之美中第一章开篇提到的问题,bitmap排序。大概意思是这样的,要对n个不重复的整数进行排序,每个数小于n(10的7次方)要求内存1M。其实是区号为800开始的电话号码,800不算在内。这个是典型的位图(bitmap,应该是位映射我觉得,估计是好翻译才把map翻译成图的)。下面是代码:#include usingnamespacestd; constintNUM_COUNT=
ysu108
·
2012-07-20 11:00
编程
File
null
FP
电话
编程珠玑
学习笔记 Aha算法 思考以及一些代码实现
"Aproblemthatseemsdifficultmayhaveasimple,unexpectedsolution"-一个看似难以解决的问题,或许在背后隐藏着一个简单,意想不到的解法 三个引例: 1. 输入一个连续文件,文件中存储了之多4,000,000,000个32bit的整数,并且这些整数是按照任意顺序排列的。请你找出一个没有在这个序列中的整数(为什么一定会有至少一个missing的数据
hopeztm
·
2012-07-19 18:00
《
编程珠玑
》中的一些代码
位图排序使用位图对[0..N-1]中不同的整数进行排序/*bitmapsort--Sortdistinctintegersintherange[0..N-1]*/ #include #defineBITSPERWORD32 #defineSHIFT5 #defineMASK0x1F #defineN10000000 inta[1+N/BITSPERWORD]; voids
luxiaoxun
·
2012-07-16 18:00
编程珠玑
-葵花宝典
【
编程珠玑
】想不到薄薄的200+页,居然能让我如此地狂笑不止,暗叹妙哉,手不释卷。对于学习计算机算法而言,有一点基础之后就可以翻翻这本“大师系列”的课外读物了。
bibodeng
·
2012-07-16 10:43
编程
算法
技术
断言
珠玑
编程珠玑
-葵花宝典
【
编程珠玑
】想不到薄薄的200+页,居然能让我如此地狂笑不止,暗叹妙哉,手不释卷。对于学习计算机算法而言,有一点基础之后就可以翻翻这本“大师系列”的课外读物了。
bibodeng
·
2012-07-16 10:43
技术
算法
编程
数据结构与算法
编程珠玑
_第二章_啊哈 算法
三个问题:一、给出一个顺序文件,它最多包含40亿个随机排列的32位整数。 问题:找出一个不在文件中的32位整数。 注意:题目中没有说,这40亿个数是否是含有重复的数据 条件限制: 1、如果有足够的内存,如何处理? 2、如果内存仅有上百字节(内存不足)且可以用若干外部临时文件,如何处理?二、类似字符串循环移位 举例:比如abcdef左移三位,则变成defabc
insistGoGo
·
2012-07-15 22:00
【
编程珠玑
】第二章 二分查找的巧妙应用
以下内容转自http://www.haogongju.net/art/994660《
编程珠玑
》上提到当要输入的数据很多,且没有规律时,可以考虑编写一个格式信函发生器(formlettergenerator
fivedoumi
·
2012-07-13 14:00
编程珠玑
第一章
习题解答
from: http://www.fookwood.com/archives/605第一章简单来说就介绍了个用bitmap排序的实例,从思维上给了我们思考问题的另一个角度。1.c语言的话可以用qsort,但是感觉qsort的比较函数的定义较为复杂,还是推荐用c++中的sort。1int main(void){2 vectorv;3 for( int i=0;i2#include3#in
fivedoumi
·
2012-07-10 17:00
插入查找元素效率问题——《
编程珠玑
》读书笔记
这两天看了第13章,看了好长一段时间,主要花在理解和编程实现上面,感觉自己的理解能力还有待提高。 这一章主要讲如何实现一个有序集合(Set),该集合插入元素时不能插入重复元素,每次插入完后集合中元素的排列是有序的。书上一共使用了6种数据结构实现这个集合:STL中的set(红黑数)、数组、链表、二分查找树、位向量、桶,使用了3种优化方案:哨兵(标记元素)、指针的指针(用于实现递归向迭代
huagong_adu
·
2012-07-09 21:00
编程
优化
report
读书
delete
insert
Python核心编程之正则表达式-练
习题解答
1. 识别下列字符串:"bat," "bit," "but," "hat," "hit," 或 "hut" import re data=r'but,' patt='b.t,?' m=re.search(patt, data) if m is not
hgfghwq27
·
2012-07-06 09:00
python
编程珠玑
-第一章-位图排序
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.Random; public class BitMapSearch {
bylijinnan
·
2012-07-05 20:00
java
编程珠玑
也做了一下腾讯前端面试题
看到这个帖子:http://www.cnblogs.com/ilian/archive/2012/07/01/tx-test-entry.html当时就想到了《
编程珠玑
》里讲到的bitmap算法。
NeilChen
·
2012-07-02 00:00
编程珠玑
番外篇-D. 高级语言怎么来的
编程珠玑
番外篇-D. 高级语言怎么来的-1作者:徐宥原文:http://blog.youxu.info/2009/05/13/hpl/终于放暑假了, 有心情来八卦了.
xiaojianpitt
·
2012-07-01 17:00
编程
虚拟机
语言
lisp
fortran
跨平台
编程珠玑
番外篇-D. 高级语言怎么来的
编程珠玑
番外篇-D.高级语言怎么来的-1作者:徐宥原文:http://blog.youxu.info/2009/05/13/hpl/终于放暑假了,有心情来八卦了.我主要想八卦一下高级语言的设计思想和各种范式的来龙去脉
iteye_5282
·
2012-07-01 17:00
运维
php
嵌入式
java 实现bitMap 结构
编程珠玑
中第一篇讲的就是使用bitmap来排序大文件里面的数据。下面给出一个简单的BitMap实现。 主要使用Byte数组。主要就是shiyong为操作来设置为1 的元素。
sunlujing
·
2012-06-28 21:00
《
编程珠玑
Ⅱ》 - 书摘精要
(P7)当你调优单个子过程或函数的性能时,性能监视工具能告诉你运行时间都花在了哪里;(P30)合适的编程语言可以使代码的长度减少一量级,清晰程度上升一个量级。请大家自己发掘各自语言的优势和特性;(P58)做事应该先做最难的部分。如果最难的部分无法做到,那还在简单的部分上浪费时间干嘛?一旦困难的地方搞定了,那你就胜利在望了;
GATTACA2011
·
2012-06-24 10:00
算法
编程珠玑
《
编程珠玑
Ⅰ》 - 书摘精要
(P12)二分搜索:初始条件是已知一个对象存在于一个给定的范围内,而一次探测操作可以告诉我们该对象是否低于、等于或高于给定的位置。二分搜索通过重复探测当前范围的中点来定位对象,那么我们将当前范围减半,然后继续下一次探测。当找到所需要的对象或范围为空时停止;(P14)翻转代码在时间和空间上都很高效,而且代码非常简短;(P16) 排序:排序最显而易见的用处是产生有序的输出,该输出既可以是系统规范要求的
GATTACA2011
·
2012-06-24 10:06
算法
编程珠玑
《
编程珠玑
》-第二章:寻找兄弟单词+电话簿功能 算法研究
题目是这样的:兄弟单词(在《
编程珠玑
》一书中称为换位词),就是只使用项目的字母,不同的组合构成不同的单词deposit,dopiest,posited,topside就是一组兄弟单
kingjinzi_2008
·
2012-06-23 11:00
书单
2012阅读清单: 0.C程序设计语言(第二版) 1.Unix高级环境编程 2.Unix网络编程卷1:套接字 3.算法:C语言实现(第1~4部分) 基础知识,数据结构,排序及搜索 4.
编程珠玑
guolb57
·
2012-06-19 17:00
数据结构
编程
算法
unix
网络
语言
bitmap算法
来自于《
编程珠玑
》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。
pp0xx0ww0
·
2012-06-19 15:00
学习书籍列表
cs相关电子书自己看书的总结,括号内是我自己对书的评价,包括书的内容,对我的帮助,满分10分学习中http现代操作系统深入理解计算机系统Linux程序设计已购买代码大全魏斯曼演讲圣经爱因斯坦传
编程珠玑
计算机程序的构造和解释设计模式
buck84
·
2012-06-12 19:00
编程
[
编程珠玑
]第一章 开篇
1.问题描述输入:一个最多包含n个整数的文件,文件中的每个整数都小于n,其中n=10^7。输入文件中没有重复的整数。输出:按升序排列的整数列表约束:最多有大约1MB的内存空间,有充足的磁盘存储空间可用。(1)采用外排序;每次读入一部分数据至内存进行排序,然后对各部分进行归并。(2)采用位图法;用一个一千万位的bit串来表示所有的整数,从左到右每一位分别代表整数1,2,3,4,......。初始时,
weiyuanke
·
2012-06-12 14:00
编程
算法
python
存储
语言
磁盘
【
编程珠玑
】第一章 开篇
【
编程珠玑
】第一章开篇一.题目 如何给磁盘文件排序?
chenglinhust
·
2012-06-10 11:00
java程序员终极推荐图书pdf下载
effective java4、java网络高级编程5、Java数据结构和算法6、企业应用架构模式(中文版)(第二版)7、[重构-改善既有代码的设计]8、敏捷软件开发:原则、模式与实践9、人月神话10、
编程珠玑
zzq19860626
·
2012-06-07 21:00
java
java资源
java程序员终极推荐图书pdf下载
effective java4、java网络高级编程5、Java数据结构和算法6、企业应用架构模式(中文版)(第二版)7、[重构-改善既有代码的设计]8、敏捷软件开发:原则、模式与实践9、人月神话10、
编程珠玑
zzq19860626
·
2012-06-07 21:00
java
java资源
上一页
29
30
31
32
33
34
35
36
下一页
按字母分类:
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
其他