资源详情

认识编程 以Python语言讲透编程的本质

认识编程 以Python语言讲透编程的本质-电子书下载


作者: 郭屹
出版社: 机械工业出版社
副标题: 以Python语言讲透编程的本质
出版年: 2021-9-1
页数: 224
定价: 89.00元
装帧: 平装
ISBN: 9787111687610

下载次数:32


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

本书是关于计算机编程的科普书,它包含了计算机软件的发展历史、原理、数据结构,以及基本算法等内容,并进一步探讨了动态规划、概率统计和神经网络等进阶知识。作者通过轻松的笔调,由浅入深地对编程的本质进行了直观、具体的讨论。虽然书中的例子都是用Python编写的,但是介绍的编程方法和思想却是通用的。书中的实例都有对应的完整代码实现,涉及初等数学、数据结构、排序与查找、数理统计、动态规划及神经网络等多个方面。这些实例把编程原理讲解和程序代码结合在一起,从而让概念更加容易理解。
本书适合学习Python,以及编程的读者阅读。

郭屹:中国Java研发工程师鼻祖之一,JDBC Driver、Minis开发者,Norming软件国际CTO。曾在Sun Microsystems公司Java研发中心担任J2EE研发工程师。

前言
第1章程序、数字与进制1
11概述1
12何谓程序?1
13计算机只有两根手指?3
131为什么偏偏是二进制?3
132计算机与十进制4
14Python怎么掰手指?4
15Python语言入门5
第2章计算机内部探秘8
21计算机本来就叫计算机8
22化计算为加法9
221从小学的1+1开始9
222计算机的移位操作10
223不单单是乘除法实现12
23进制转换及数据存储14
231进制的转换14
232计算机如何存储数据?15
233形象一点来看晶体管16
234抽象一点来看数据存储逻辑19
235字符的编号20
24从加法到芯片20
241万法归加法20
242自己做个加法器21
25101页报告改变了世界23
251又笨又快的图灵机23
252从101页报告到极简计算机25
253跟着“极简”执行代码26
第3章编程基础概念31
31计算机的外包装31
32计算机的高级语

32
33Goto语句有害33
34说说数据结构34
35面向对象编程36
351什么是面向对象编程?36
352Python的混合编程36
36进程与线程37
37递推与递归38
38关于分治39
39算法及性能分析39
第4章数学与编程是一家41
41什么是函数?41
411先算一个阶乘41
412往前走一步—求平方根43
413再往前走一步—求阶乘的
平方根46
414Python常见的库49
42面向对象编程,再来求一求
素数50
421捋清思路50
422过程执行52
423验证哥德巴赫猜想53
424验证与证明55
43递归,还记得斐波那契数列吗?55
431斐波那契数列55
432生活中的斐波那契数列56
433用递归重写阶乘57
44深入递归,汉诺塔问题58
441汉诺塔传说58
442塔也是递归,递归也是树59
45Python解方程61
451二次方程61
452高次方程63
453Python解同余方程64
46Python用刘徽割圆术求面积66
461刘徽割圆术求面积66
462进入递推,交给Python68
47跟着Ada计算伯努利数
(向Ada致敬)70
471分析计算伯努利数70
472为什么要向Ada致以敬意?72
第5章字符处理73
51先来谈谈字符编码73
511首先是Unicode73
512有了Unicode还不够74
52Python如何操作字符串75
521丰富的字符串操作75
522开始造个轮子76
53凯撒密码(Caesarcipher)78
54字符串查找(KMP算法)80
541从最笨的方法开始80
542聪明一点的方法83
55Python如何操作文件88
551操作文件的方式88
552简单地演练一下88
56JSON是谁90
561JSON对象90
562解析JSON91
563解析复杂JSON93
57关于正则表达式95
571正则表达式的功用95
572正则解释器97
573正则表达式的应用99
第6章数据结构103
61Python的序列103
611ArrayList和LinkedList操作103
612首先是ArrayList104
613接下来是LinkedList107
62关于栈—先进后出112
63括号如何匹配114
64数学表达式解析115
641计算机读取数学表达式115
642获取操作数与操作符序列116
643开始计算119
65关于HashMap121
651Python中的字典操作121
652手动做HashMap122
653增删改查123
654HashMap遍历127
655成果验收128
66树之遍历130
661先构建一棵二叉树130
662再遍历二叉树131
663换一种方式遍历133
67树之构建和查找134
671还是先构建树134
672然后查找特定元素136
673让树更加泛用137
68平衡树(AVL算法)138
681平衡二叉树138
682平衡二叉树增加节点140
683不平衡就旋转142
69图的表示146
610拓扑排序148
611最短路径(Dijkstra算法)151
612关键路径CP154
第7章查找与排序160
71查字典—冒泡排序160
72每次吃最甜的葡萄—选择
排序161
73抓牌看牌—插入排序162
731先来描述一下场景162
732进入Python162
74向左向右看齐—快速排序164
741先来分而治之164
742开始编写快速排序程序166
75先分叉再排序—堆排序167
751先理解堆排序思路167
752Python的时间169
76不会淘汰的季后赛—归并
排序170
77以上排序的比较172
78插入排序20—希尔排序173
79桶排序—计数排序174
710二分查找(试着做一个
字典)176
第8章动态规划182
81游戏币贪心算法—DP导入182
811游戏币的动态规划182
812随机数字三角的动态规划184
82序列的最大公约数—LCS186
83基因序列比对(Levenshtein
算法)187
84背包问题192
841背包问题解析192
842开始变成程序194
第9章数理统计与人工智能196
91人均收入统计196
911先从数据出发196
912进入程序世界198
913来看点经济学(基尼系数)199
92用贝叶斯公式智能诊断201
921先来谈谈概率201
922“智能医生”的训练202
93预