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
编程珠玑习题解答
【
编程珠玑
】第一章 开篇
一,题目: 如何在1MB的空间里面对一千万个整数进行排序?并且每个数都小于1千万。实际上这个需要1.25MB的内存空间。 1MB总共有838,8608。所以估计也可以在1MB左右的空间里面进行排序了。 二,分析: 1)基于磁盘的归并排序(耗时间) 2)每个号码采用32位整数存储的话,1MB大约可以存储250 000 个号码,需要读取文件40趟才能把全部整数排序。(耗时间) 3
aijuans1
·
2012-05-10 23:00
编程珠玑
《
编程珠玑
》学习总结2-变位词
第二章主要围绕三个问题1、给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数2、给定一个n元一维向量,循环左移i个位置,如n=8,i=3时,abcdefgh变为defghabc3、如pots、stop和stops互为变位词,每个单词都可以通过其他单词改变字母顺序得到,找出字典中所有变位词 对于1、主要考虑2分搜索 对于3,百度笔试题刚考过,伤感,当时
coder_xia
·
2012-05-09 16:00
百度实习笔试题解析(第一题)(2012.05.06)
【解题思路】:在
编程珠玑
上第二章结束出有此题的解析(18-19页),首先将字典里的单词做这样的处理如字典有:pans pots opt snap stop tops处理结果如下:格式A:BCDE……,其中
famousDT
·
2012-05-09 12:00
【
编程珠玑
】兄弟单词(侧边栏)
#defineWORDMAX100 structmy { charword[256]; charsig[256]; }wo[WORDMAX]; charoldsig[256]; boolcmp(mya,myb) { if(strcmp(a.sig,b.sig)<0)returntrue; returnfalse; } intmain() { /*sign*/ intindex=0; while(s
famousDT
·
2012-05-09 11:00
进阶书籍
《EffectiveC++》《MoreEffectiveC++》《深度探索C++对象模型》《
编程珠玑
》《算法导论》《深入理解计算机系统》《Unix环境高级编程》《Unix编程艺术》《Linux内核源代码情景分析
liliang497
·
2012-05-08 15:00
找出任何相邻子向量的最大和
编程珠玑
上的题:/* *找出任何相邻子向量的最大和 *xtfggef2012/5/7 */ #include intmax(inta,intb) { return(a>b)?
张二青
·
2012-05-07 17:00
编程珠玑
求和
找出任何相邻子向量的最大和
编程珠玑
上的题: /* * 找出任何相邻子向量的最大和 * xtfggef 2012/5/7 */ #include<stdio.h> int max(int a,int b) { return
jiagou
·
2012-05-07 17:00
变位词的相关知识
以下两段文字摘自《
编程珠玑
》: 给定一个英语字典,找出其中的所有变位词集合。例如,“pots”、“stop”和“tops”互为变位词,因为每一个单词都可以通过改变其他单词中字母的顺序来得到。
张二青
·
2012-05-07 14:00
编程珠玑
变位词
三种算法获取一个整数的每个数字
//Email:
[email protected]
//Blog:http://blog.csdn.net/shizhixin //Date:2012-05-06 /* 晚上无法入眠,随手翻开床头的
编程珠玑
看看
ShiZhixin
·
2012-05-06 04:00
编程
算法
Date
Blog
input
email
【
编程珠玑
】生成k个1-n的随机数
/*==========================================================*\ |gen$1distinctintegersfromU[0,$2) \*==========================================================*/ #defineMAXN2000000 intx[MAXN]; intrandin
famousDT
·
2012-05-04 17:00
编程
null
【
编程珠玑
】位图排序
/*==========================================================*\ |《
编程珠玑
》位图排序:bitmapsort \*=============
famousDT
·
2012-05-04 15:00
编程
[ACM]
编程珠玑
你有一条项链,它由N个随机排列的红、白和蓝色的珠子组成(3 #include chars[200]; intPearl(intn) { inti,j,left,k,max,f=1,w=0,p=0,m=0; charc; i=j=max=left=0; while(mmax?left:max; left=j+p; p=0; } returnmax; } intmain() { intn,i,j; /
tudusi
·
2012-05-02 18:00
编程珠玑
[ACM]
编程珠玑
你有一条项链,它由N个随机排列的红、白和蓝色的珠子组成(3 #include chars[200]; intPearl(intn) { inti,j,left,k,max,f=1,w=0,p=0,m=0; charc; i=j=max=left=0; while(mmax?left:max; left=j+p; p=0; } returnmax; } intmain() { intn,i,j; /
wanjun8659
·
2012-05-02 18:00
编程
c
测试
浅谈bitmap算法
转自:http://weihe6666.iteye.com/blog/1184554久闻《
编程珠玑
》一书中提出的bitmap算法之大名,只是没有深入的去研究,今天下午有兴致研究一番,才知道其中的玄机奥秘
kongzhp
·
2012-05-01 10:00
编程
算法
测试
byte
算法导论10.1-7
习题解答
(用两个队列实现一个栈)
题目:说明如何用两个队列来实现一个栈,并分析有关栈操作的运行时间。解法:1.有两个队列q1和q2,先往q1内插入a,b,c,这做的都是栈的push操作。2.现在要做pop操作,即要得到c,这时可以将q1中的a,b两个元素全部dequeue并存入q2中,这时q2中元素为a,b,对q1再做一次dequeue操作即可得到c。3.如果继续做push操作,比如插入d,f,则把d,f插入到q2中,4.此时若要
fivedoumi
·
2012-04-30 00:00
c
算法
算法导论10.1-6
习题解答
(用两个栈实现一个队列)
题目:说明如何用两个栈来实现一个队列,并分析有关队列操作的运行时间。解法:1.有两个栈s1和s2,先往s1内插入a,b,c,这做的都是enqueue操作。2.现在要做dequeue操作,即要得到a,这时可以将s1中的元素全部弹出并存入s2中,这时s2中元素的顺序(从底部到顶部)为c,b,a,这时做s2.pop()操作即可得到a。3.如果继续做enqueue操作,比如插入d,f,则把d,f插入到s1
fivedoumi
·
2012-04-30 00:00
c
算法
10^n个整数(亿级)的排序
《
编程珠玑
》中提出的问题,有三种解法:(1)磁盘合并排序先将所有数据分成多个小文件,多个小文件采用内部排序后,再用多路合并排序完成排序输出。总数据为n,内存中采用内部排序最多m。
guyulongcs
·
2012-04-28 15:02
程序员经典面试题
file
fp
算法
merge
iostream
delete
提高代码水平的书籍
这里没有列出算法方面的书籍——那些书籍会在另一篇文章中列出:《高质量程序设计指南——C++/C语言》《程序员修炼之道》《编程高手箴言》《软件随想录》《
编程珠玑
》《高效程序员的45个习惯》《代码之美》《架构之美
edward0004
·
2012-04-28 15:00
设计模式
多线程
编程
算法
语言
字符串向前移动的问题
偶然翻看《
编程珠玑
》上面的方法。整理一下。
kkxgx
·
2012-04-28 08:00
编程珠玑
笔记--排序
首先来个插入排序#include voidswap(int*x,int*y) { intt=*x; *x=*y; *y=t; } voidinsert_sort(int*x,intlength) { inti,j; for(i=1;i0&&x[j-1]>x[j];j--) swap(&x[j-1],&x[j]); } intmain(void) { int
·
2012-04-26 22:00
编程珠玑
编程珠玑
笔记--排序
首先来个插入排序?12345678910111213141516171819202122232425#include voidswap(int*x,int*y){ intt=*x; *x=*y; *y=t;}voidinsert_sort(int*x,intlength){ inti,j; for(i=1;i0&&x[j-1]>x[j];j--)
x954818696
·
2012-04-26 22:00
算法学习奠基仪式
从今天开始认真的研究研究算法,修炼一下内功,先从《算法导论》《
编程珠玑
》这两本经典的书开始吧,数据结构就以《数据结构与算法分析C++描述》为参考,总之目标是尽量自己去看着算法写出代码,
ljbsdu
·
2012-04-25 10:00
cpp269到313页笔记和
习题解答
庭博网校QQ:14280784 86974558学习内容和顺序:1、C语言;2、C++语言;3、VC++;4、win32编程;5、数据库编程;6、网络编程;7、多线程编程。初中毕业一年3500元、高中毕业一年3000元、大专以上一年2500元。每天20:00到22:00上课 庭博网校网络课堂的进入方法:先到http://www.51lele.net/610028注册一个免费的帐号,同时下载他的
csbobo888
·
2012-04-17 19:00
字符串的逆序之旅
这两天在看《
编程珠玑
》,第一章就收获非常的多,真的挺后悔现在才看着本书,第二章有个将字符串逆序的例子,就是比如“this is a string”变成“string a is this”,那么今天就总结一下这个逆序字符串的小专题
test_touch
·
2012-04-16 21:00
字符串的逆序之旅
编程珠玑
求解最大字串和
编程珠玑
8.4节讲扫描算法,我看了半天都没看明白,最后自己写了一遍,终于搞懂了,把它记下来,以免今后忘了。首先,书上的算法是这样写的:?
test_touch
·
2012-04-16 21:00
编程珠玑
求解最大字串和
位图排序——
编程珠玑
位图排序是一种效率极高(复杂度可达O(n))并且很节省空间的一种排序方法,但是这种排序方法对输入的数据是有比较严格的要求(数据不能重复,大致知道数据的范围)。位图排序即利用位图或者位向量来表示集合。举个例子,假如有一个集合{3,5,7,8,2,1},我们可以用一个8位的二进制向量set[1-8]来表示该集合,如果数据存在,则将set相对应的二进制位置1,否则置0.根据给出的集合得到的set
koudaidai
·
2012-04-16 10:00
C++vector
习题解答
。267页
庭博网校QQ:14280784 86974558学习内容和顺序:1、C语言;2、C++语言;3、VC++;4、win32编程;5、数据库编程;6、网络编程;7、多线程编程。初中毕业一年3500元、高中毕业一年3000元、大专以上一年2500元。每天20:00到22:00上课 庭博网校网络课堂的进入方法:先到http://www.51lele.net/610028注册一个免费的帐号,同时下载他的
csbobo888
·
2012-04-15 19:00
多线程
编程
C++
String
vector
iterator
蓄水池抽样的原理
问题起源于
编程珠玑
Column12中的题目10,其描述如下:Howcouldyouselectoneofnobjectsatrandom,whereyouseetheobjectssequentiallybutyoudonotknowthevalueofnbeforehand
expleeve
·
2012-04-10 20:23
数据结构和算法
蓄水池抽样
原帖地址:http://www.cnblogs.com/HappyAngel/archive/2011/02/07/1949762.html问题起源于
编程珠玑
Column12中的题目10,其描述如下:Howcouldyouselectoneofnobjectsatrandom
juiceda
·
2012-04-08 22:00
编程
c
File
Random
input
扩展
求最大子数组之和
求最大子数组之和的线性解法:本算法受
编程珠玑
中提示而得 /** * 线性时间复杂度求最大和子数组 * @param a 源数组 * @return 结果数组 长度为3的数组
cjf068
·
2012-04-06 22:00
数组
[置顶] 迭代器
习题解答
(一)
/* 读一组整数到vector对象,计算并输出每对相邻元素的和。如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值。要求使用迭代器完成此题。 然后修改程序:头尾元素两两配对(第一个和最后一个,第 二个和倒数第二个,由此类推,计算每对元素的和,并输出)*/ main.cpp文件#include"iostream"#include"vector"usingnamespacest
csbobo888
·
2012-04-05 13:00
字符串的逆序之旅
这两天在看《
编程珠玑
》,第一章就收获非常的多,真的挺后悔现在才看着本书,第二章有个将字符串逆序的例子,就是比如“this is a string”变成“string a is this”,那么今天就总结一下这个逆序字符串的小专题
·
2012-04-04 21:00
字符串
字符串的逆序之旅
这两天在看《
编程珠玑
》,第一章就收获非常的多,真的挺后悔现在才看着本书,第二章有个将字符串逆序的例子,就是比如“this is a string”变成“string a is this”,那么今天就总结一下这个逆序字符串的小专题
·
2012-04-03 23:00
字符串
快速排序(
编程珠玑
)
快速排序(
编程珠玑
)
编程珠玑
第二版快速排序 1 qsort4(0, n-1); 2 isort3(); 3 4 void qsort4(l, u) 5 { 6 if (u - l t)
面对现实,超越自己
·
2012-03-30 12:00
位图排序
/** * 位图排序,思想来自《
编程珠玑
》。
tiandizhiguai
·
2012-03-29 15:00
排序
《
编程珠玑
》之变位词程序
单词的txt是从网上下的,简单用awk‘{print$1}’>SimpleEngDict.txt处理了下。然后就是找出变位词的过程,我的这个单词量比较小,13372个单词。用了STL里的set和map。/* *===================================================================================== *Filena
I smell magic in the air
·
2012-03-24 17:00
《
编程珠玑
》之一开篇文件排序问题
题目就不多说了,开篇第一个题目。大意就是在给定内存1.25M以内,给最多包含n个正整数的文件数据排序的问题,n=10^71.首先是生成一个该文件的问题,类似于洗牌算法得到一组随机不重复的数字。/* *===================================================================================== *Filename:cr
I smell magic in the air
·
2012-03-20 20:00
排序算法--位图算法
最近在看JonBentley的《
编程珠玑
》,刚看完第一章,觉得老外写的东西就是要比国内的生动很多!第一章是开篇,要说的事情是:要把问题描述清楚。
Sniffer_Wang
·
2012-03-16 16:00
编程
算法
byte
磁盘
openmp
编程珠玑
心得1:对于无数据共享的并行,例如for并行中,算法逻辑越简单,获得的加速比越大。若有冗余的数据存储传递,反而造成效率的下降。心得2:要使数据忙于计算而非闲置和交互,否则会牺牲并行度。心得3:对于有数据共享的并行,尽量采用粗粒度。心得4:区域分解、功能分解、分而治之。总之,并行编程,如烹小鲜。
zhuxianjianqi
·
2012-03-11 11:00
编程
算法
存储
《
编程珠玑
》学习总结1—bitmap
今天刚买到《
编程珠玑
》于是开始翻,第一章引出的磁盘排序问题。 问题描述:一个最多包含n个正整数的文件,每个数都小于n,其中n=10^7,且所有正整数都不重复。求如何将这n个正整数升序排列。
coder_xia
·
2012-03-07 22:00
数组循环移位
只允许使用2个变量(参考《
编程珠玑
》)>>catshift.c #include voidshift(inta[],intn) { inti,x; for(i=0;i>.
nomad2
·
2012-03-03 15:00
变位词实现
编程珠玑
一处错误
书中只实现了单词内部的排序而求得标记词,而并未实现单词之间的排序,所以运行结果按不符合作者预期结果,可能是作者的一个疏忽。完善后代码如下:#include #include #defineWORD_MAX_LENGTH100 #defineDICT_NUM100 charword[DICT_NUM][WORD_MAX_LENGTH],word_sign[DICT_NUM][WORD_MAX_LE
x954818696
·
2012-03-02 21:00
编程
File
null
input
FP
output
变位词实现
编程珠玑
一处错误
书中只实现了单词内部的排序而求得标记词,而并未实现单词之间的排序,所以运行结果按不符合作者预期结果,可能是作者的一个疏忽。完善后代码如下:#include#include#defineWORD_MAX_LENGTH100#defineDICT_NUM100charword[DICT_NUM][WORD_MAX_LENGTH],word_sign[DICT_NUM][WORD_MAX_LENGTH]
·
2012-03-01 15:00
编程珠玑
元素翻转
读
编程珠玑
,得知的两种元素串翻转方法,我简单实现了下第一种是杂技翻转取模替换1intgcd(inti,intj)2{3while(i!
·
2012-03-01 12:00
元素
调皮的宏
《
编程珠玑
》第九章一道题目:n是数组最大尺寸的正整数,下面的递归C函数返回数组x[0...n-1]中的最大值:floatarrmax(intn){ if(n==1){ returnx[0
sumoyu
·
2012-02-28 13:00
二分法找元素第一次出现位置
《
编程珠玑
》介绍了一个程序写法,很有意思。如果第一个t的位置是m,x[
sumoyu
·
2012-02-26 21:00
向量旋转算法
这个问题来自《
编程珠玑
》,当我看了第一个“杂技”算法,感觉挺有意思的,从我们的思考角度来讲,该算法很有效,就是将第一个元素先缓存起来,然后每隔i个位置修改一下本位置的数据,直到所有的元素都被修改了为止,
·
2012-02-26 12:00
算法
[
编程珠玑
读书笔记]抽样问题
问题定义:从n个数中,等概率的抽取m个数。真心觉得自己概率论学得不咋第。第一个和第三个函数还是没有看懂。#include #include #include #include usingnamespacestd; voidgenknuth(intm,intn) { srand(5); for(inti=0;is; while(s.size()::iteratori; for(i=s.begin(
lalor
·
2012-02-25 23:00
编程
算法
读书
iterator
[
编程珠玑
读书笔记]堆排序,小根堆
堆排序的关键是要实现siftup和siftdown。当建立完这两个函数以后,排序一个数组只需要5行代码。算法执行了n-1次siftup和siftdown,而每次操作的成本最多O(lgn),所以运行时间为O(nlogn)。#include #include #defineMAX20 voidswap(int*data,inti,intj) { inttemp=data[i];
lalor
·
2012-02-24 00:00
编程
c
算法
测试
读书
[
编程珠玑
读书笔记]优先队列
以前学数据结构的时候,学到后面一些抽象一点的数据结构,老师也不让我们写代码,也没有强调这些东西的重要性。再加上那时候不懂事,都没有具体去实现过堆,总认为这是很复杂的东西,其实学会以后真是简单的不得了,而且是又简单,又好用。#include #include #include usingnamespacestd; template classpriqueue{ private: intn,max
lalor
·
2012-02-23 23:00
数据结构
编程
c
读书
insert
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
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
其他