幫助中心 | 我的帳號 | 關於我們

認識編程(以Python語言講透編程的本質)

  • 作者:郭屹|責編:楊源//李培培
  • 出版社:機械工業
  • ISBN:9787111687610
  • 出版日期:2021/08/01
  • 裝幀:平裝
  • 頁數:216
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是關於電腦編程的科普書,它包含了電腦軟體的發展歷史、原理、數據結構,以及基本演算法等內容,並進一步探討了動態規劃、概率統計和神經網路等進階知識。作者通過輕鬆的筆調,由淺入深地對編程的本質進行了直觀、具體的討論。雖然書中的例子都是用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  「神經元」如何學習

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032