欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 认识编程(以Python语言讲透编程的本质)
      • 作者:郭屹|责编:杨源//李培培
      • 出版社:机械工业
      • ISBN:9787111687610
      • 出版日期:2021/08/01
      • 页数:216
    • 售价:35.6
  • 内容大纲

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

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

    前言
    第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  游戏币贪心算法——DP导入
        8.1.1  游戏币的动态规划
        8.1.2  随机数字三角的动态规划
      8.2  序列的最大公约数——LCS
      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  “神经元”如何学习