计算机
类型
可以朗读
语音朗读
109千字
字数
2021-08-01
发行日期
展开全部
主编推荐语
本书带你推开编程世界的大门,领略科技的奇妙和程序的精髓。
内容简介
本书是关于计算机编程的科普书,它包含了计算机软件的发展历史、原理、数据结构,以及基本算法等内容,并进一步探讨了动态规划、概率统计和神经网络等进阶知识。作者由浅入深地对编程的本质进行了直观、具体的讨论。虽然书中的例子都是用Python编写的,但是介绍的编程方法和思想却是通用的。
书中的实例都有对应的完整代码实现,涉及初等数学、数据结构、排序与查找、数理统计、动态规划及神经网络等多个方面。这些实例把编程原理讲解和程序代码结合在一起,从而让概念更加容易理解。
目录
- 版权信息
- 前言
- 第1章 程序、数字与进制
- 1.1 概述
- 1.2 何谓程序?
- 1.3 计算机只有两根手指?
- 1.3.1 为什么偏偏是二进制?
- 1.3.2 计算机与十进制
- 1.4 Python怎么掰手指?
- 1.5 Python语言入门
- 第2章 计算机内部探秘
- 2.1 计算机本来就叫计算机
- 2.2 化计算为加法
- 2.2.1 从小学的1+1开始
- 2.2.2 计算机的移位操作
- 2.2.3 不单单是乘除法实现
- 2.3 进制转换及数据存储
- 2.3.1 进制的转换
- 2.3.2 计算机如何存储数据?
- 2.3.3 形象一点来看晶体管
- 2.3.4 抽象一点来看数据存储逻辑
- 2.3.5 字符的编号
- 2.4 从加法到芯片
- 2.4.1 万法归加法
- 2.4.2 自己做个加法器
- 2.5 101页报告改变了世界
- 2.5.1 又笨又快的图灵机
- 2.5.2 从101页报告到极简计算机
- 2.5.3 跟着“极简”执行代码
- 第3章 编程基础概念
- 3.1 计算机的外包装
- 3.2 计算机的高级语言
- 3.3 Goto语句有害
- 3.4 说说数据结构
- 3.5 面向对象编程
- 3.5.1 什么是面向对象编程?
- 3.5.2 Python的混合编程
- 3.6 进程与线程
- 3.7 递推与递归
- 3.8 关于分治
- 3.9 算法及性能分析
- 第4章 数学与编程是一家
- 4.1 什么是函数?
- 4.1.1 先算一个阶乘
- 4.1.2 往前走一步——求平方根
- 4.1.3 再往前走一步——求阶乘的平方根
- 4.1.4 Python常见的库
- 4.2 面向对象编程,再来求一求素数
- 4.2.1 捋清思路
- 4.2.2 过程执行
- 4.2.3 验证哥德巴赫猜想
- 4.2.4 验证与证明
- 4.3 递归,还记得斐波那契数列吗?
- 4.3.1 斐波那契数列
- 4.3.2 生活中的斐波那契数列
- 4.3.3 用递归重写阶乘
- 4.4 深入递归,汉诺塔问题
- 4.4.1 汉诺塔传说
- 4.4.2 塔也是递归,递归也是树
- 4.5 Python解方程
- 4.5.1 二次方程
- 4.5.2 高次方程
- 4.5.3 Python解同余方程
- 4.6 Python用刘徽割圆术求面积
- 4.6.1 刘徽割圆术求面积
- 4.6.2 进入递推,交给Python
- 4.7 跟着Ada计算伯努利数(向Ada致敬)
- 4.7.1 分析计算伯努利数
- 4.7.2 为什么要向Ada致以敬意?
- 第5章 字符处理
- 5.1 先来谈谈字符编码
- 5.1.1 首先是Unicode
- 5.1.2 有了Unicode还不够
- 5.2 Python如何操作字符串
- 5.2.1 丰富的字符串操作
- 5.2.2 开始造个轮子
- 5.3 凯撒密码(Caesar cipher)
- 5.4 字符串查找(KMP算法)
- 5.4.1 从最笨的方法开始
- 5.4.2 聪明一点的方法
- 5.5 Python如何操作文件
- 5.5.1 操作文件的方式
- 5.5.2 简单地演练一下
- 5.6 JSON是谁
- 5.6.1 JSON对象
- 5.6.2 解析JSON
- 5.6.3 解析复杂JSON
- 5.7 关于正则表达式
- 5.7.1 正则表达式的功用
- 5.7.2 正则解释器
- 5.7.3 正则表达式的应用
- 第6章 数据结构
- 6.1 Python的序列
- 6.1.1 ArrayList和LinkedList操作
- 6.1.2 首先是ArrayList
- 6.1.3 接下来是LinkedList
- 6.2 关于栈
- 6.3 括号如何匹配
- 6.4 数学表达式解析
- 6.4.1 计算机读取数学表达式
- 6.4.2 获取操作数与操作符序列
- 6.4.3 开始计算
- 6.5 关于HashMap
- 6.5.1 Python中的字典操作
- 6.5.2 手动做HashMap
- 6.5.3 增删改查
- 6.5.4 HashMap遍历
- 6.5.5 成果验收
- 6.6 树之遍历
- 6.6.1 先构建一棵二叉树
- 6.6.2 再遍历二叉树
- 6.6.3 换一种方式遍历
- 6.7 树之构建和查找
- 6.7.1 还是先构建树
- 6.7.2 然后查找特定元素
- 6.7.3 让树更加泛用
- 6.8 平衡树(AVL算法)
- 6.8.1 平衡二叉树
- 6.8.2 平衡二叉树增加节点
- 6.8.3 不平衡就旋转
- 6.9 图的表示
- 6.10 拓扑排序
- 6.11 最短路径(Dijkstra算法)
- 6.12 关键路径CP
- 第7章 查找与排序
- 7.1 查字典
- 7.2 每次吃最甜的葡萄
- 7.3 抓牌看牌
- 7.3.1 先来描述一下场景
- 7.3.2 进入Python
- 7.4 向左向右看齐
- 7.4.1 先来分而治之
- 7.4.2 开始编写快速排序程序
- 7.5 先分叉再排序
- 7.5.1 先理解堆排序思路
- 7.5.2 Python的时间
- 7.6 不会淘汰的季后赛
- 7.7 以上排序的比较
- 7.8 插入排序2.0
- 7.9 桶排序
- 7.10 二分查找(试着做一个字典)
- 第8章 动态规划
- 8.1 游戏币贪心算法
- 8.1.1 游戏币的动态规划
- 8.1.2 随机数字三角的动态规划
- 8.2 序列的最大公约数
- 8.3 基因序列比对(Levenshtein算法)
- 8.4 背包问题
- 8.4.1 背包问题解析
- 8.4.2 开始变成程序
- 第9章 数理统计与人工智能
- 9.1 人均收入统计
- 9.1.1 先从数据出发
- 9.1.2 进入程序世界
- 9.1.3 来看点经济学(基尼系数)
- 9.2 用贝叶斯公式智能诊断
- 9.2.1 先来谈谈概率
- 9.2.2 “智能医生”的训练
- 9.3 预测广告效果的线性回归
- 9.3.1 线性回归
- 9.3.2 向量
- 9.3.3 编写线性回性程序
- 9.4 马尔可夫模型
- 9.4.1 什么是马尔可夫模型
- 9.4.2 开始解决一些问题吧
- 9.5 最后聊聊人工神经网络
- 9.5.1 可以开始做点仿生了——一个简单的神经元
- 9.5.2 “神经元”如何学习
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。