编程珠玑(1)

编程珠玑 这不是一本具体算法的讲解或者代码编写的教程,但是从书中的字里行间,我们可以学到的是更多的软知识:对编程新的认识、更加发散的思维方式、更严格的代码要求、堪比瑞士军刀的小技巧…… 编程也许入门并不难,但是要想真正成为一名优秀的软件工程师,还是需要很多锤炼。内外兼修,方成大器。 基础篇 第一章 开篇首先作者提出一个实际问题: 如何给磁盘的某个文件排序,更具体来说就是是对一个最多包含1千万条记录,每条 阅读详情

 

这周借了本 “编程珠玑”,书不大,200多页,本以为能一周看完的,结果看完第1章就头大了。在此做点笔记,说不定找工作用得上。

第1章,
位图排序,一位代表一个数(如a[10]=1 表示数10存在)
问题里面还有一个 选择问题,即n个数里随机取k个不同的数。开始看到题目的答案就蒙了,后来想想其实很简单。
设数组为a[0]...a[n-1]
1、j=n
2、i=ran(0,j)     //0..j中随机
3、取出a[i],显示
4、将a[i]和a[j-1]交换
5、j--;
6、如果已有k个,结束;否则,goto 2
首先在0..n-1中取一个,然后取走的和最后一个交换,
在0..n-2中再取,。。。。。
。。。。。。

空间和时间的矛盾似乎有很长时间了,动态规划就是典型的空间换时间的策略。

第2章,
这章我一看到问题A就头疼了,看分析竟然没看懂,直到看到答案我才理解了。二分法并不需要数组或其他结构是排好序的,只要能二分就行。
问题B中学搞过,大学想起过一次,现在又忘了。abc --> a'b'c' --> (a'b'c')' = cba  其中T'是T的逆序
顺便说一句,补充材料的程序很有幽雅(?)。

《编程珠玑》代码之路1:学习位操作的神器----位图排序(附解决程序员心理问题的门路) 最近由于“闲书”读太多,不少朋友以为我要转当产品经理了,故想起来把最近读的《编程珠玑》以及自己编写的代码整理成博客,用代码证明自己的清白。虽然自己比较菜不能和Google和ACM金牌大佬PK技术,作为一只老年菜鸡ACMer,经常一顿操作猛如虎,一看战绩0AC。 但相信对于刚入门的小伙伴来说,我的代码也许能帮上忙哈哈,同时作为一只纯种家养菜鸡却经常被各路大佬轮番吊打的我,也会结合《编程珠玑》提到的... 阅读详情

相关推荐

编程珠玑:深入浅出的编程经典

本文还有配套的精品资源,点击获取 简介:《编程珠玑》是一本计算机科学的经典之作,由Jon Bentley撰写。书中不仅详细探讨了数据结构和算法,还深入分析了问题解决策略、编程的艺术与技巧,以及性能优化。书中附带源代码分析,帮助读者通过实际案例理解理论与实践的结合,从而提升编程技能和解决问题的能力。 1. 数据结构与算法详解 简介 数据结构与算法是计算机...

weixin_33072399的博客 1092

MiMo-VL-7B-SFT与其他开源VLM对比:Llava、Qwen-VL、CogVLM全面评测

在当今快速发展的多模态AI领域,**MiMo-VL-7B-SFT**作为小米推出的开源视觉语言模型,以其卓越的推理能力和视觉理解表现脱颖而出。本文将深入对比MiMo-VL-7B-SFT与当前主流的开源VLM模型——Llava、Qwen-VL和CogVLM,帮助开发者和研究者了解各模型的特点、优势与适用场景。 ## 🎯 核心功能对比:四大开源VLM模型 ### 1. MiMo-VL-7B-SF

gitblog_09741的博客 788

编程珠玑(续)【清晰有目录】.pdf

Jon Bentley编著的《编程珠玑(续)》是计算机科学方面的经典名著《编程珠玑》的姊妹篇,讲述了对于程序员有共性的知识。书中涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容组成一个有机的整体,如一串串珠玑展示给程序员。《编程珠玑(续)》适合各级程序员阅读参考。

编程珠玑 Column 1

概述Column 1由一个问题展开讨论:如何给一个包含0到9,999,999编号的记录文件排序并输出到另一个文件,其中编号不重复,只允许1M左右的内存空间。最优的解法自然是采用位数组,1.25×106B大小的位数组含10,000,000位,可以保存规定范围内数是否存在。这种方法很好的利用了编号不重复的特性。生成随机数文件要对算法进行实现,面临的第一个问题就是,如何生成这么一个记

Rui的专栏 1049

编程珠玑 Programming Pearls 第二版(中文版+源代码)

计算机经典书籍——编程珠玑 Programming Pearls

编程珠玑(第2版•修订版)2015最新 完整扫描.pdf版

编程珠玑(第2版•修订版),完整扫描版,2015最新

编程珠玑1

编程珠玑第一章中提出问题,需要对包含1到N之间n个整数的文件进行排序,文件无法直接放到内存中,每个整数之多出现一次。但是对时间复杂度和空间复杂度要求很高。如何高效的实现呢?      对于时间复杂度,因为要对文件中的整数排序,必须至少将文件内容独到内存中一次。所以时间复杂度最优为O(n)。对于排序一种最直接的想法就是使用文件磁盘排序中的merge-sort,但是这样就会增加读取文件的次数。因为我

一个菜鸟 961

编程珠玑(第二版).pdf

编程珠玑(第二版).pdf,包含源代码、Programming.Pearls.2nd.edition.pdf、编程珠玑高清pdf版,是学习编程的一本好书,中英文版pdf都有,你值得拥有^-^!

《编程珠玑》阅读小记(1)— 开篇

1. 前言久闻《编程珠玑》一书的大名,一直没有找到合适的机会深入学习阅读,最近终于得以入手,便决心投入细细的研究,提升一下自己的编程思想与技术。阅读之后才发现,这本书确实一本不可多得的好书。它以计算机领域应用与编程算法相结合,让读者面对实际问题时,不单单局限于考虑该问题的解决方案,而是在入手实践之前能够驻足于考虑,该方案是否符合当前的实际环境,它的时间与空间的消耗是否达到了一个比较好的指标。 通过

指尖飞舞 1609

编程珠玑 第2版【清晰有目录】.pdf

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。. 多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。.. 在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。...

编程珠玑 第2版(修订版)_编程珠玑修订_资料_

编程相关文档建议。作者写了编程中的相关注意点,值得一看。在编程中可多注意。

《编程珠玑》第二章2.1 二分查找不存在的数

《编程珠玑》第二章2.1的三个问题中,有个问题是这样的:          给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数(在文件中至少缺失一个这样的数——为什么?)。 1、如果有足够的内存,如何处理? 2、如果内存不足,仅可以用几个外部的临时文件来进行处理,如何处理? 解:设x是不存的数。 可以从最低位开始进行探测,根据0或者1进行分组,

yz171329935的专栏 1073

硬件-汽车电子-TBOX/TCAM核心器件选型与系统集成设计指南

本文深入解析汽车电子TBOX/TCAM硬件架构与系统集成设计,涵盖核心器件选型、电源管理、信号完整性优化等关键点。重点分享5G模组选型避坑经验、MCU隐性指标及热设计验证方案,为车载通信系统开发提供实用指南。

weixin_30352645的博客 530

编程珠玑读后感1(1个算法)

在《编程珠玑》第八章,作者提出一道算法题:程序描述:输入是一个具有N个浮点数字的向量X: 其输出是在输入的任何相邻子向量中找出的最大和。例如,输入如下10个元素:31 -41 59 26 -53 58 97 -93 -23 84返回 x[2..6]的总和,或为187作者分别给出了三次算法O(n^3),两个二次算法O(n^2),分治算法O(n logn )和扫描算法O(n)。

hongjiqin的专栏 1805

doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法

摘要:客户Doris数据库报错"ERROR 1203 (42000): Reach limit of connections"的解决过程。发现AI提供的解决方案存在错误:1)查询命令应为SHOW FRONTEND CONFIG而非show variables;2)参数名称应为qe_max_connection而非max_connections。正确解决步骤:1)用admin账户登录查看连接数限制和当前连接数;2)通过SHOW PROPERTY命令检查用户资源限制;3)针对不同情况修改参数

Brent的专栏 1761

大模型运维实战:从GPU选型到推理服务稳定落地

大模型服务进入生产环境后,运维对象从传统进程转向GPU显存、KV Cache、推理吞吐等动态资源。显存利用率、首token延迟、并发队列深度等指标,直接影响模型服务的质量与成本。理解推理框架的内存分配机制、掌握监控告警与自动化扩容手段,是保障服务稳定的关键。这类能力广泛应用于企业私有化部署、智能客服、知识库问答等场景,帮助运维团队从被动救火转向主动容量规划与性能调优。本文围绕大模型运维的完整路线,梳理从硬件选型、推理部署到监控排障的实战经验,并算清一份真实项目的长期成本账。

weixin_29054245的博客 238

1. 编程珠玑笔记一开篇

1.          编程珠玑笔记一开篇 从事于IT行业,如果不会编程,那蛤蟆只能呵呵了。 有些人将编程认识为敲字,所以一直是码农。有些人将编程认识为COPY,所以一直是搬运工。我们不是工程师,我们只是IT的搬运工~ 其实编程可以不一样,是一个洞察力和创造力的集合。需要我们不停磨练编程技巧和基本的设计原理。  欢迎转载,转载请标明出处: 1、     开篇 是一个外部排序的问题,题目

badman250的专栏 3万+

WSL2离线安装Ubuntu终极指南:绕过Microsoft Store慢速下载(附最新22.04 LTS离线包)

本文提供WSL2离线安装Ubuntu 22.04 LTS的完整指南,帮助开发者绕过Microsoft Store下载慢的问题。通过PowerShell命令配置环境、获取离线安装包并完成安装,同时包含初始配置、资源优化及常见问题解决方案,助您快速搭建高效的Linux开发环境。

c8d9e0f1的博客 899

《编程珠玑》选译1:编程小格言

一些编程相关的格言警句翻译,来自《编程珠玑》

Serendipitor的博客 223

【深度学习】什么是自回归模型?

自回归模型是一种重要的时间序列模型,通过利用过去的值来预测当前或未来的值。它在统计学、经济学、自然语言处理等领域有广泛的应用。自回归模型的简单性和可解释性使其成为许多应用的首选,但在更复杂的情况下,可能需要结合其他模型如移动平均模型(MA模型)或混合模型(如ARIMA)来更好地捕捉时间序列中的模式。扩散模型(Diffusion Model)和自回归模型(Autoregressive Model)是两种不同的生成模型,各自有独特的特点和应用场景。

q742971636的博客 1670

虚拟网络的“隐形盾”:C#如何用代码把DDoS踢出门?

本文分享了如何用C#防御DDoS攻击的实战经验。通过三种核心防御策略:1)基于IP的速率限制中间件,使用滑动时间窗口算法控制请求流量;2)自动IP封禁服务,通过特征检测识别恶意IP并加入黑名单;3)优化数据库连接池和HTTP客户端连接池,合理配置资源参数。文中提供了详细的C#代码实现,包括限流中间件、IP封禁服务和连接池优化方案,并分享了生产环境中的调优经验,如配合Redis实现分布式限流、使用fail2ban自动封禁等技巧,帮助开发者构建更健壮的防御体系。

墨夶的博客 329

编程珠玑学习笔记1

编程珠玑学习笔记1 Posted on May 18, 2012 5 最近经历了腾讯和百度的实习生招聘,腾讯的十分顺利,拿到实习生offer,可能运气成分多一点,问我的问题我都有所了解。百度虽然是霸笔的,但是还是的到了面试的机会,但是很不幸,百度二面的时候问了我一道概率题和一道智力题,感觉无从下手,答的很不好,应该是看你这个人的数学修养和思维活跃的程度。 总之,感觉

robertzhouxh的专栏 759

吃透工业通信:C#工控机实现Modbus、OPC UA、Profinet、EtherCAT协议全适配

本文介绍了基于C#的工业通信协议全适配方案,采用分层架构设计实现Modbus、OPC UA、Profinet和EtherCAT四种主流协议的统一管理。核心包括:1)三层架构(应用层、抽象层、协议层)降低耦合;2)定义统一通信接口IIndustrialCommunication;3)工厂模式创建不同协议实例;4)以Modbus TCP为例展示具体实现。该方案经过实际项目验证,可简化多协议设备管理,提升工业自动化系统的开发效率。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 721
上一篇: 设计模式
下一篇: 编程珠玑(2)
ipiggg
博客等级 码龄21年 1粉丝 15原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值