软件与程序设计
-
数据结构与算法之美王争(@小争哥) 著内 容 提 要本书结合实际应用场景讲解数据结构和算法,涵盖常用、常考的数据结构和算法的原理讲解、代码实现和应用场景等。本书分为11章。第1章介绍复杂度分析方法。第2章介绍数组、链表、栈和队列这些基础的线性表数据结构。第3章介绍递归编程技巧、8种经典排序、二分查找及二分查找的变体问题。第4章介绍哈希表、位图、哈希算法和布隆过滤器。第5章介绍树相关的数据结构,包括二叉树、二叉查找树、平衡二叉查找树、递归树和B+树。第6章介绍堆,以及堆的各种应用,包括堆排序、优先级队列、求Top K、求中位数和求百分位数。第7章介绍跳表、并查集、线段树和树状数组这些比较高级的数据结构。第8章介绍字符串匹配算法,包括BF算法、RK算法、BM算法、KMP算法、Trie树和AC自动机。第9章介绍图及相关算法,包括深度优先搜索、广度优先搜索、拓扑排序、Dijkstra算法、Floyd算法、A*算法、Z小生成树算法、Z大流算法和Z大二分匹配等。第10章介绍4种算法思想,包括贪心、分治、回溯和动态规划。第11章介绍4个经典项目中的数据结构和算法的应用,包括Redis、搜索引擎、鉴权限流和短网址服务。另外,附录A为书中的思考题的解答。尽管本书的大部分代码采用Java语言编写,但本书讲解的知识与具体编程语言无关,因此,本书不但适合各种类型的研发工程师,而且可以作为高校计算机相关专业师生的学习用书和培训学校的教材。 -
51单片机C语言程序设计经典实例陈忠平本书是"以项目为载体,采用任务驱动方式”编写而成的。本书以STC89C52RC单片机为蓝本,结合Keil C51、Proteus虚拟仿真软件,从实验、实践、实用的角度出发,通过丰富的实例详细介绍了51系列单片机C语言程序设计和单片机控制系统的应用技术。本书的主要内容包括单片机系统的软/硬件开发环境、C51程序设计语言基础、LED灯光设计、按键控制与数码管显示、中断控制应用设计、定时器/计数器控制应用设计、单片机串行通信设计、LED点阵显示器设计、LCD液晶显示设计、A/D与D/A转换、串行总线扩展及应用设计、综合应用设计实例,共12个项目64个任务。本书内容全面,取材新颖,叙述清楚,理论联系实际,突出实用特色。 -
Python机器学习[美] 塞巴斯蒂安·拉施卡(Sebastian Raschka) 著,陈斌译 译本书自第1版出版以来,备受广大读者欢迎。与同类书相比,本书除了介绍如何用Python和基于Python的机器学习软件库进行实践外,还对机器学习概念的必要细节进行讨论,同时对机器学习算法的工作原理、使用方法以及如何避免掉入常见的陷阱提供直观且翔实的解释,是Python机器学习入门必读之作。它的内容涵盖了众多高效Python库,包括scikit-learn、Keras和TensorFlow等,系统性地梳理和分析了各种经典算法,并通过Python语言以具体代码示例的方式深入浅出地介绍了各种算法的应用,还给出了从情感分析到神经网络的一些实践技巧,这些内容能使你快速解决你和你的团队面临的一些重要问题。 -
Python编程基础庄浩 周颖 徐卫 赵力人工智能的普及将是未来的发展趋势,本书作为青少年人工智能编程语言教材,尽可能通俗易懂且全面地解释Python语言的基础知识。全书共12章,介绍了从Python语言基础到使用Python创建图像界面的知识。第1章首先从总体上介绍了Python语言的发展历程和与编程语言相关的知识。第2、3章介绍了Python语言中常用的数据结构以及操作方法。第4章介绍了一种基本的抽象方法,即变量,并介绍了程序和外部环境沟通的方法,即输入操作。第5章介绍了一种使程序更加多样化的方式,即通过条件判断进行分支操作。第6章介绍了列表,这种数据结构可以用于同时处理多个数据。第7章介绍了循环操作。第8章介绍了元组和字典这两种数据结构。第9~11章分别介绍了三种抽象的方法。第12章介绍了创建图像界面的方法。每章都有对应的习题供读者进一步思考。本书既可作为中学生信息技术课程的教材,也可作为青少年自学人工智能基础和Python编程基础的参考书。 -
JavaScript悟道[美]道格拉斯·克罗克福德(Douglas Crockford)《JavaScript悟道》结合当前JavaScript语言现状,深入剖析了JavaScript语言的运行原理、应该如何演进、怎样才能将其发挥至极致。这些深邃、极具前瞻性的论述不仅适用于JavaScript,也适合其他语言。学习、理解、实践大师的思想,能让开发者站在巨人的肩上,看得更全面。《JavaScript悟道》适合Web开发人员以及所有对JavaScript感兴趣的程序员阅读。 -
PyQt从入门到精通明日科技《PyQt从入门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用PyQt5进行Python GUI应用程序开发应该掌握的各方面技术。全书共分20章,包括PyQt5入门,Python的下载与安装,搭建PyQt5开发环境,Python语言基础,Python中的序列,Python面向对象基础,创建*个PyQt5程序,PyQt5窗口设计基础,PyQt5常用控件的使用,PyQt5布局管理,菜单、工具栏和状态栏,PyQt5高级控件的使用,对话框的使用,使用Python操作数据库,表格控件的使用,文件及文件夹操作,PyQt5绘图技术,多线程编程,PyQt5程序的打包发布,学生信息管理系统(PyQt5 MySQL PyMySQL模块实现)等。 -
JavaScript全栈开发凌杰这是一本JavaScript 入门指南。它回答了如何单独使用JavaScript 这门编程语言解决Web 应用程序前后端开发过程中涉及的所有技术栈问题,帮助Web 开发者减少其需要使用的编程语言种类,从而降低其学习成本。本书将从ECMAScript 标准定义的基本语法开始,系统阐述JavaScript 在浏览器端、服务器端的开发思路和设计理念。在此过程中,作者将提供大量可读性强、能够正确运行的代码示例,以帮助读者理解书中介绍的技术、概念、编程思想与程序设计模式。本书主要由三部分组成:部分介绍JavaScript语言的核心知识点;第二部分介绍JavaScript 在浏览器端的使用,包括BOM 和DOM 组件、AJAX 技术等;第三部分介绍JavaScript 在Node.js 平台中的应用。本书内容循序渐进,实操性强,适合对HTML 和CSS 有所了解的JavaScript 初学者,以及对Web 全栈开发及其背后的设计理念感兴趣的读者。 -
编程原则[美]马克斯·卡纳特-亚历山大本书涵盖了编程的许多领域,从如何编写简单的代码到对编程的深刻见解,再到在软件开发中如何止损!你将发现与软件复杂性有关的问题、其根源,以及如何使用简单性来开发优秀的软件。你会检查以前从未做过的调试,并知道如何在团队工作中获得快乐。全书分为七部分,前三部分内容首先聚焦的是程序员应该了解的基本原则,然后是关于软件的复杂性和简约性的各个方面。在此之后,第四部分介绍代码调试。接着是第五部分,包含一整套全新的原则,基于Max在大型工程团队内的成功经验陆续整理出来的。第六部分叙述的是软件设计原则背后的哲学。后迎来第七部分,开篇首先解释了为什么“持续改善”应该作为软件开发中产品管理的哲学,然后讨论如何让你的软件持续改善,以及成为一名更好的程序员的具体方法 -
一带一路与全球现代供应链李芏巍“一带一路”与全球现代供应链是全方位开放的必然,标志着中国从参与全球化到塑造全球化的态势转变。本书将“一带一路”倡议和全球现代供应链两大主题联系在一起,在系统、准确的理论框架下审视“一带一路”与全球现代供应链的特征,为相关研究提供了新的参照;从前向联系和后向联系的双重视角全面分析,研究内容涵盖单边整体和双边联系,从而更完整地刻画特征。本书对于“一带一路”与全球现代供应链的全面认识和理解,既可为落实“一带一路”与全球现代供应链加快“走出去”提供支撑,也可为从事“一带一路”与全球现代供应链工作的相关人员提供参考。 -
Python密码学编程[美] 塞思·詹姆斯·尼尔森(Seth James Nielson),克里斯托弗·K.蒙森(Christopher K. Monson)著 梁原 译理解密码学的使用场合、误用方式和原因了解什么是安全哈希,以及安全哈希的基本属性了解块密码(如AES)的算法和模式,以及不当配置的密码为什么容易遭到破解使用消息完整性和/或数字签名来保护消息使用现代对称密码,如AES-GCM和ChaCha了解公钥加密的基础知识,包括ECDSA签名了解如何破解填充不当的RSA加密使用TLS连接进行安全通信了解证书的工作原理,熟悉证书锁定和CT日志等新功能
