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
《编程珠玑》
读书笔记二
《
编程珠玑
》第二章问题一:给定一个包含40亿个32位整数的文件,整数排列次序随机。请查找一个此文件中不存在的32位整数。解答:32位整数共有0xFFFFFFFF个。
GUCHUAN1987
·
2020-09-15 16:04
读书笔记一
《
编程珠玑
》第一章问题一:一个文件包含了10,000,000个记录,每个记录的内容是7位的整数。记录不会重复。需要一个程序来读取文件内容,需要将这些记录排序后输出文件,内存限制1M左右。
GUCHUAN1987
·
2020-09-15 16:40
操作系统
代码调优法则
《
编程珠玑
》第二版快看完了,发现附录D作者记录了一些代码调优法则,本人总结了一下,发出来给大家分享分享,顺便自己也做个笔记。
adayume
·
2020-09-15 15:15
CPP
《代码大全》和《重构》读后感
二是
编程珠玑
这类,教你如何用逻辑去思考和解决程序算法问题。最早看的两本书是代码大全和重构。不涉及到太多应用技术。主要介绍为什么可读性代码很重要,如何写出可读性和复用好的代码。
MakeCodeClear
·
2020-09-15 09:04
编程珠玑
--------第五章习题笔记
本章描述了一个程序的基本构建方式脚手架。最好的脚手架通常是最容易的脚手架。对某些任务来说,最简单的脚手架由一个使用VisualBasic、Java或Tcl之类的语言实现的图形用户界面构成。对于上述每一种语言,我都在半小时之内实现过具有点击控件和良好的图形输出的小程序。不过,对于许多算法任务而言,我发现更容易的办法是,摒弃这些强大的工具并使用我们在本章见过的更简单的命令行技术。编码。对于比较难写的函
萧凝云
·
2020-09-14 11:26
编程珠玑
--------第七章习题笔记
本章主要讨论对实际问题的粗略估计,但并不是随意估计。原理如下舍9法:加数的数字总和与和数的数字总和模9相等72法则:假设以年利率r%投资一笔钱y年,如果r*y=72,那么你的投资差不多会翻倍。Little定律:系统中物体的平均数量等于物体离开系统的平均速率和每个物体在系统中停留的平均时间的乘积。任何事都应尽量简单,但不宜过于简单。7.1他说的或许是常见流速比较慢,不到每小时两英里7.2在现在我觉得
萧凝云
·
2020-09-14 11:26
编程珠玑
--------第六章习题笔记
本章讨论了关于提高程序性能的一些看法,阐述了几个原理:1.计算机系统中最廉价、最快速且最可靠的元件是根本不存在的。2.如果仅需要较小的加速,就对效果最佳的层面做改进。3.如果需要较大的加速,就对多个层面做改进。下面的总结是对设计层面的直观导引:1.问题的定义2.系统结构3.算法和数据结构4.代码调优5.系统软件6.硬件6.1n2约等于31,nlogn解方程2/n*log2n=1/1000,这里我假
萧凝云
·
2020-09-14 11:26
随机数函数取样与概率
转自:http://www.cnblogs.com/wuyuegb2312/p/3141292.html#title4本节主要受到《
编程珠玑
》第12章随机取样问题的启发,但不仅仅限于随机取样问题,进一步地
ly03091234
·
2020-09-13 19:43
编程
找工作。
18 获取给定的序列的所有排列, 组合
前言本博文部分图片,思路来自于剑指offer或者
编程珠玑
问题描述思路这里有两个问题,一个是求所有的字符的全排列,一个是求所有字符的组合对于问题一,书上给了一种解法思路:对于一个原始序列,第一次交换第一个字符和第一个字符以及后面的字符
蓝风9
·
2020-09-13 10:39
08
[剑指Offer
&
编程珠玑]_笔记
算法之美——求子串最大和
看《
编程珠玑
》看的郁闷毁了~木有激情啊~这里描述第8章的一道题:求子串最大和:一个具有n个浮点数的向量x,要求输出相邻子向量的最大和,如图:程序返回值应为x[2..6]的总和,即187。
小熊不去实验室
·
2020-09-13 02:23
算法
快速排序详细分析
看了
编程珠玑
ProgrammingPerls第11章关于快速排序的讨论,发现自己长年用库函数,已经忘了快排怎么写。于是整理下思路和资料,把至今所了解的快排的方方面面记录与此。
shuangshuang37278752
·
2020-09-12 13:18
Data
Structure
&
Algorithm
编程之美——二进制数种1的个数
昨天看《
编程珠玑
》遇到一个问题,于是翻出来《编程之美》把数组循环左移和循环右移的问题搞懂了,又想到二进制中1的个数,是笔试面试中常考到和问到的经典题目,所以把《编程之美》上的几种方法实现了一下,发到这里以留后续再看
Shuangdui
·
2020-09-12 12:25
算法学习
【青铜到王者】算法晋级之路
如果想学习算法的朋友这里有一些不错的书籍推荐,下方有获取电子书Pdf的方法:1.
编程珠玑
豆瓣评分9.1分本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。
li563868273
·
2020-09-12 10:42
其他心得
编程珠玑
(第二版) 第二章 问题A
问题A:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数(在文件中至少缺失一个这样的数--为什么?)。在有足够内存的情况下,如何解决该问题?如果有几个外部的“临时”文件可用,但是仅有几百字节的内存,又该如何解决?分析:问题与第一章“开篇”类似,只是数目由1千万变成了40亿,并且没有说明这40亿个数字是否重复。1.文件中至少缺失一个这样的数:因为4,000,00
lsf_2008
·
2020-09-12 06:32
编程技术
在一种语言上编程
编程珠玑
算法
二分搜索
位图
《
编程珠玑
》第一章第九题
原题:使用更多的时间来换取更少的运行时间存在一个问题:初试化空间本身需要消耗大量的时间。说明如何设计一种技术,在第一次访问向量的项时将其初始化为0,。你的方案应该尽可能的使用常量的时间进行初始化和向量访问,使用的额外空间应正比于向量的大小。因为该方法通过进一步增加空间来减少初始化时间,所以仅在空间很廉价、时间很宝贵且向量很稀疏的情况下才考虑使用。书后的参考答案:借助于两个额外的n元向量from、t
木子十甫寸
·
2020-09-12 05:04
跬步
编程珠玑
: 12章 取样问题 12.1程序的输入包含两个整数m和n,其中m
#include#include#include#includeusingnamespacestd;/*问题:程序的输入包含两个整数m和n,其中mmax){inttemp=min;min=max;max=temp;}return(rand()%(max-min+1)+min);}//生成0~n-1中m个随机选择的不重复的数组成的有序列表vectorgetRandomVector(intm,intn
天地一扁舟
·
2020-09-11 15:03
编程珠玑
编程算法 - 左旋转字符串 代码(C)
左旋转字符串代码(C)本文地址:http://blog.csdn.net/caroline_wendy题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部.请定义一个函数实现字符串左旋转操作的功能.
编程珠玑
SpikeKing
·
2020-09-11 04:00
Algorithm
Mystra
编程算法
左旋转字符串
代码
C
算法与数据结构学习资源整理
7.9分经典:《数据结构与算法分析》9.0,有三个版本:java描述、c描述和c++描述《算法导论》9.3分《算法》9.3分《计算机程序设计艺术》9.5面试《编程之美》8.4分《剑指offer》8.2分《
编程珠玑
ThomasCT
·
2020-09-10 12:39
算法与数据结构
编程珠玑
Chapter2 字符串翻转算法
没办法,久没练过算法,只好用Java写了。题目很简单:Q:abcdefg,r=3A:defgabc代码一:借助StringBuffer的append来做。即一部分一部分来求逆,然后再“拼接”起来求逆。publicclassRotate{/***RotateaStringbyreversingitpartlyandthenappendthemtogetherto*reverse.**@paramst
resouer
·
2020-08-25 07:55
Algorithm
void*该如何理解?
//来源:公众号【
编程珠玑
】//main.c#include int main(void){ int a[] = {0x
守望之名
·
2020-08-25 03:06
c-c++
10^n个整数(亿级)的排序
《
编程珠玑
》中提出的问题,有三种解法:(1)磁盘合并排序先将所有数据分成多个小文件,多个小文件采用内部排序后,再用多路合并排序完成排序输出。总数据为n,内存中采用内部排序最多m。
轩辕逍遥Moon
·
2020-08-25 02:28
Algorithm
Java面试题火了:这可能是历史上最简单的一道面试题了
题目很简单,完成代码,判断一个整数是否是奇数:publicbooleanisOdd(inti)相信相当数量的人都已经在准备吐槽了,只要看过《
编程珠玑
》的人都知道这道题的答案和其中极为简单的道理。
我喝酸奶不舔盖
·
2020-08-25 01:58
JAVA
性能优化-一个命令发现性能问题
本文转载自微信公众号「
编程珠玑
」,作者守望先生。转载本文请联系
编程珠玑
公众号。
小几斤
·
2020-08-24 23:01
性能优化
命令
性能
linux c++ 服务器端开发面试必看书籍
一、算法基础系列数据结构基础(C语言版)》朱仲涛译《剑指Offer》《编程之美》《
编程珠玑
》《CareerCup-Top150Ques
蓝色当当风
·
2020-08-24 16:35
快速排序优化详解
公众号:
编程珠玑
算法思想快速排序利用了分治的策略。而分治的基本基本思想是:将原问题划分为若干与原
守望先生
·
2020-08-24 14:52
关于基本的随机选择算法(n选m)的分析与思考
解决方法在
编程珠玑
的第12章中,就讲了从n个钟随机选择m个数的解法。主要有三种,下
_houzhi
·
2020-08-24 11:14
算法
随机取样算法
最近学习
编程珠玑
,看到随机取样算法,很不错,这里也整理下:首先来看一个简单的取样算法,这里假定在不考虑重复的情况下,从1-N之间取出M个数来voidsimpleRand(intm,intn){for(inti
satanzw
·
2020-08-24 10:26
算法
《
编程珠玑
》第2章三个问题
问题一:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数。在具有足够内存的情况下,如何解决该问题?如果有几个外部的“临时”文件可用,但是仅有几百字节的内存,又该如何解决该问题?先考虑有足够的内存,我们可以采用位图技术,即使用536870912个8位字节形成的位图来表示已看到的整数。最后再对位图遍历一遍,找到某个位为0即可。实现代码如下:#defineBITSP
书呆子的复仇
·
2020-08-24 04:42
把《
编程珠玑
》读薄
作者:Hawstein出处:http://hawstein.com/posts/make-thiner-programming-pearls.html目录开篇啊哈!算法数据决定程序结构编写正确的程序编程中的次要问题程序性能分析粗略估算算法设计技术代码调优节省空间排序取样问题搜索堆字符串开篇具体化你的解决的问题。下面是A和B的对话。A:我该如何对磁盘文件进行排序?B:需要排序的内容是什么?文件中有多
hiyajo_salieri
·
2020-08-24 00:02
计算机网络
数据结构与算法
经典面试题22 - 二分查找
解答《
编程珠玑
》的作者JonBentley在其书中写到:“90%的程序员写的二分查找程序中都是有bug的,虽然早在1946年就有人将二分查找的方法公诸于世,但直到1962年才有人写出没有bug的二分查找程序
豆志昂扬
·
2020-08-23 17:47
Python程序员面试算法宝典---解题总结: 第9章 大数据 9.7 如何统计不同电话号码的个数
分析:记得似乎是
编程珠玑
中的题目。最简单的方法,设置哈希(对应于python中的字典),建立:。又或者可以利用Trie树,即前缀树,实际就是一个多叉树,每个节点设置10个孩子节点分别表示数
天地一扁舟
·
2020-08-23 11:34
Python程序员面试算法宝典
编程珠玑
——第一章习题解答
1、如果不缺内存,如何使用一个具有库的语言来实现以后总排序算法和排序集合?答:C++有实现排序的库函数:sort。该函数的实现是快速排序。另外C++的容器Map和set均可以实现排序。由于Map和set的实现是红黑树,所以具有自动排序功能。快速排序算法实现:voidQuickSort(int*array,intleft,intright){inti=left;intj=right;inttemp=
Paul_ZJ
·
2020-08-23 07:14
编程珠玑习题解答
编程珠玑
-第二章旋转算法篇
编程珠玑
第二章比较精髓,开篇三个题目1:给定一个包含32位整数的顺序文件,它至多包含40亿个这样的整数,并且整数的次序是随机的,请查找一下此文件中不存在的32位整数(至少必有一个遗漏,为什么?)。
linluyisb
·
2020-08-23 06:13
算法
插入查找元素效率问题——《
编程珠玑
》读书笔记
这两天看了第13章,看了好长一段时间,主要花在理解和编程实现上面,感觉自己的理解能力还有待提高。这一章主要讲如何实现一个有序集合(Set),该集合插入元素时不能插入重复元素,每次插入完后集合中元素的排列是有序的。书上一共使用了6种数据结构实现这个集合:STL中的set(红黑数)、数组、链表、二分查找树、位向量、桶,使用了3种优化方案:哨兵(标记元素)、指针的指针(用于实现递归向迭代的转换)、块内存
huagong_adu
·
2020-08-23 05:13
算法
给定一个字符串,求出其最长的重复子串的长度
题目来源:这是
编程珠玑
上的一道题目概念字符串的前缀和后缀例如字符串s=“abcdeabc”则s的前缀:“a”,“ab”,“abc”,“abcd”,“abcde”,“abcdea”,“abcdeab”,“
renwotao2009
·
2020-08-23 02:42
Algorithm
关于粗略估计
摘要读《
编程珠玑
》印象最深刻的就是关于“粗略估计”这章,确实是工程师谋生的必备技能,在和其他人交流时,如果你能够快速估计出1个经验值,你就是众人眼里的老司机专家。本文总结一些个人碰到的场景。
idenny
·
2020-08-22 13:31
估算
工程师
关于粗略估计
摘要读《
编程珠玑
》印象最深刻的就是关于“粗略估计”这章,确实是工程师谋生的必备技能,在和其他人交流时,如果你能够快速估计出1个经验值,你就是众人眼里的老司机专家。本文总结一些个人碰到的场景。
idenny
·
2020-08-21 19:47
估算
工程师
【
编程珠玑
】第十一章 排序 (插入排序和快速排序的深度优化)
一,概述1)插入排序要找到合适的位置,需要判断前一个元素比t小而后一个元素比t大。然后将t插入正确位置。比较a[j-1]跟a[j]的关系很关键isort1:没有到达最终位置,就交换该元素和它前面的元素#includefor(inti=1;i0&&a[j-1]>a[j];j--)swap(a[j-1],a[j]);isort2:将库函数替换inttemp;for(inti=1;i0&&a[j-1]>
iteye_9065
·
2020-08-21 04:21
一个模式匹配算法的优化
看《
编程珠玑
》第8章,里面一章介绍了针对一个模式匹配问题算法的优化策略,由于优化后算法与原始算法效率上的大幅度增强,我被震惊了。问题:在一个向量中寻找最大子向量。书上有伪代码,我还是实现了一下。
doctorsc
·
2020-08-20 09:29
C++
算法
优化
存储
编程
ui
浅谈bitmap算法
转自:http://weihe6666.iteye.com/blog/1184554久闻《
编程珠玑
》一书中提出的bitmap算法之大名,只是没有深入的去研究,今天下午有兴致研究一番,才知道其中的玄机奥秘
kongzhp
·
2020-08-20 06:18
算法
bitmap
算法
编程
byte
测试
二维数组最大子矩阵的求和
的二维数组a[n,n],每个元素都是整数(可能小于0),求其子矩阵元素的最大和问题分析:这个问题来自一维数列最大子序列的求和问题,因此必须对一维数列最大子序列的求和有充分的了解才有讨论基础,不了解的请参考《
编程珠玑
wangcfbj
·
2020-08-20 01:59
字符串之输出所有字母组合相同的单词
一般的方法好像是《
编程珠玑
》上的wordprint:http://blog.csdn.net
weixin_30878501
·
2020-08-19 21:04
为何要死磕《
编程珠玑
》
起换工作到新天地整日浸淫于资本主义的浮华之后的某一天,我突然将好早之前买的《
编程珠玑
》带到了公司,希望可以在手边工作暂时做完或者想“放松”一下思绪的时候看一看,掌握一点高深的编程技术。
古二白
·
2020-08-19 18:35
14 判断给定的二叉排序树后序遍历序列是否合法
前言本博文部分图片,思路来自于剑指offer或者
编程珠玑
问题描述思路对于这个问题,书中给出了一种解法思路:输入为一个后序遍历的序列,从这里我们可以得到序列中最后一个元素为根节点,又因为该树是二叉排序树,
蓝风9
·
2020-08-18 19:46
08
[剑指Offer
&
编程珠玑]_笔记
编程珠玑
第一章习题解答
4.生成[0,n)的之间k个不重复的随机整数。#include#include#include#includeusingnamespacestd;constintN=10000000;constintK=10000000;intrandint(intl,intr){returnrand()%(r-l)+l;}inta[N];intmain(void){for(inti=0;i
yousir1988
·
2020-08-18 07:47
C/C++
算法
编程珠玑
第一章习题1
1.如果内存不紧缺,你将如果用一种语言(该语言可以使用库来表示和排序集合)来进行排序。a.c语言+qsort#include#includeintintcomp(int*x,int*y){return*x-*y;}inta[1000000];intmain(){inti,n=0;while(scanf("%d",&a[n])!=EOF)n++;qsort(a,n,sizeof(int),intco
yousir1988
·
2020-08-18 07:47
算法
C/C++
编程珠玑
第一章解析
问题:输入:一个最多包含n个正整数的文件,每个数都小于n(n=1000W)。如果在输入文件中有任何整数重复出现就是致命错误。没有其他数据与该整数相关联。输出:按升序排列的输入整数的列表。约束:最多有(大约)1MB的内存空间可用,有充足的磁盘存储空间可用。运行时间最多几分钟,运行时间为10秒就不需要进一步优化了。方法一:归并排序。(耗时间)归并排序需把数据全部读入内存,1000w个整数的大小是100
yousir1988
·
2020-08-18 07:47
C/C++
算法
《
编程珠玑
》读书笔记 part2
第二部分性能第6章程序性能分析用一个实例说明了提升程序执行效率的几种经典方法:算法和数据结构,算法调优,数据结构重组,代码调优,硬件。其中的“调优”一般指用细节的改变来获得相对较小的加速,是一个微调过程。注意数据结构和算法的加速并不一定是独立于硬件的,例如超级计算机的管道体系结构非常适合线性的数据结构,而树结构相反未必是最佳选择;优化程序的方法设计多个层面,如果仅需要较小的加速,就对效果最佳的层面
Jamesjiongsi
·
2020-08-15 21:31
《
编程珠玑
》读书笔记 part1
ProgrammingPearls第2版作者JonBentley.第一部分基础--------------------------------------------------------------------------------------------------------第1章开篇这一章探讨了一个经典的问题,即所谓的磁盘文件排序或“外排序”。根据这里的(http://blog.csd
Jamesjiongsi
·
2020-08-15 21:31
编程
读书
数据结构
算法
磁盘
优化
《
编程珠玑
》读书笔记 part3
第三部分应用第11章排序排序算法的应用场合有如下一些:用户需求、收集相同的项、服务于类似于二分搜索等有需求的算法;插入排序的普通做法是把待排序的元素与左侧的相邻元素比较,并依据情况考虑是否要交换,如果交换再与下一个元素比较,决定是否交换;频繁交换显然效率较低,所以通常采用的高效做法是用一个临时位置保存待排序的元素,然后左侧每一个比该元素大的元素都向右平移一个位置,直到找到合适位置把待排序的元素放进
Jamesjiongsi
·
2020-08-15 21:31
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他