欢迎光临
免费的PDF电子书下载网站

编程导论——以Python为舟 PDF下载

编辑推荐

全书包含370段程序实例和300道习题。作者为普林斯顿大学博士、千人计划专家、长江学者,曾担任美国UTD大学教师20余年,在讲授Python编程方面具有丰富经验。
《编程导论——以Python为舟》为双色印刷,重点突出,便于读者深入理解和查询知识点。 

内容简介

本书以大量的编程实例与作者多年编程实践的体会来揭示编程的本质,系统性地指导读者如何编程。书中所有代码都用Python语言编写,通过编程实例讲解Python语言的所有知识点,使读者在掌握编程思维和技巧(逻辑思维能力、计划构建能力、循环计算能力、递归求解能力等)的同时,自然而然地熟练掌握Python语言。 本书既适合作为“程序设计基础”“编程导论”“Python语言程序设计”等课程的教材,也适合参加编程竞赛的、自学Python编程的中学生、大中专学生、程序员及普通读者参考。

作者简介

沙行勉 (Edwin Sha),博士生导师,2000年起任美国终身制正教授 (Full Professor),中国国家千人计划(A类)特聘专家,长江学者讲座教授,海外杰出青年学者。于1986年获得台湾大学计算机科学系学士学位,在海军陆战队服役两年后赴美国普林斯顿大学(Princeton University)就读。于1991年和1992年分别获美国普林斯顿大学计算机科学系硕士学位和博士学位。1992年起任教于美国圣母大学(University of Notre Dame)计算机科学与工程系,并于1995年起担任该系副系主任和研究生部主任。2000年起作为终身制正教授任教于美国得克萨斯州大学达拉斯分校(UTD)计算机科学系,2001年曾担任计算机科学部主任。任上海交通大学、山东大学、北京航空航天大学、湖南大学等客座、兼任教授或博导。2008年被评为海外杰出青年学者。2010年起任教育部长江学者讲座教授。2011年起任国家千人计划特聘专家,2012—2017年任重庆大学国家特聘教授和计算机学院院长。现全职任上海华东师范大学终身特聘教授。沙行勉 (Edwin Sha),博士生导师,2000年起任美国终身制正教授 (Full Professor),中国国家千人计划(A类)特聘专家,长江学者讲座教授,海外杰出青年学者。于1986年获得台湾大学计算机科学系学士学位,在海军陆战队服役两年后赴美国普林斯顿大学(Princeton University)就读。于1991年和1992年分别获美国普林斯顿大学计算机科学系硕士学位和博士学位。1992年起任教于美国圣母大学(University of Notre Dame)计算机科学与工程系,并于1995年起担任该系副系主任和研究生部主任。2000年起作为终身制正教授任教于美国得克萨斯州大学达拉斯分校(UTD)计算机科学系,2001年曾担任计算机科学部主任。任上海交通大学、山东大学、北京航空航天大学、湖南大学等客座、兼任教授或博导。2008年被评为海外杰出青年学者。2010年起任教育部长江学者讲座教授。2011年起任国家千人计划特聘专家,2012—2017年任重庆大学国家特聘教授和计算机学院院长。现全职任上海华东师范大学终身特聘教授。

至2017年,已在相关国际学术会议及国际核心期刊上发表英文学术论文400余篇, 其中包括60余篇IEEE和ACM Transactions期刊论文。共获各类国家级教学、科研奖项近40项,其中包括: 美国Oak Ridge 大学联盟颁发的杰出青年教授奖,美国国家科学基金颁发的杰出学术发展奖, 美国圣母大学颁发的杰出教学奖,世界顶级期刊ACM Transactions(ACM TODAES)颁发的2011年度最佳论文奖,以及IEEE Transactions on Computers颁发的2016年度代表论文等。多次以大会主席身份主持国际重要学术会议。沙教授在教学方面深受中美学生的喜爱,例如,在美国从教期间,他在每学期由学生给老师打分的教学评鉴中都得到高分。沙行勉教授喜爱中国传统文化及儒释道哲学,以人才培养、教学育人为其终身的兴趣及志向。

编程导论——以Python为舟 PDF下载

目录


目录







第1章初探编程之境

1.1计算机编程的基本概念

1.1.1编程如何解决问题

1.1.2解决鸡兔同笼问题的编程思维

1.1.3解决排序与合并问题的编程思维

1.1.4解决过河问题的编程思维

1.1.5程序的基本要素

1.2乘Python之舟进入计算机语言的世界

1.2.1什么是Python

1.2.2如何在Windows中使用Python

1.3解释a=a 3

1.3.1介绍变量

1.3.2关于a=a 3

1.3.3常用算术运算符

1.4介绍数据类型

1.4.1布尔类型

1.4.2列表

1.4.3字符串

1.5学习Python的控制语句

1.5.1条件控制语句——if语句

1.5.2循环控制语句——for循环

1.5.3循环控制语句——while循环

习题

第2章巩固编程基础

2.1再谈Python的循环控制语句

2.1.1遍历加积累的循环结构

2.1.2以不同编程方式解决相同问题

2.1.3for与while循环的比较

2.1.4中国余数定理的循环实现

2.2函数的简介

2.2.1什么是函数

2.2.2函数的创建与调用

2.2.3几种常用的内置函数

2.3探讨编程思路

2.3.1以多项式运算为例

2.3.2编程思路的总结

2.4讨论循环中的一些技巧

2.4.1讨论“for i in range():”结构

2.4.2讨论“for e in L:”结构,L为一个列表

2.5活学活用——运行Python解决问题

2.5.1几种简单的排序算法及衍生问题

2.5.2二进制、十进制等进制之间的转换问题

2.5.3扑克牌游戏——21点

2.5.4老虎机游戏

习题

第3章深谈Python函数、变量与输入输出

3.1深入了解函数的各种性质

3.1.1编写完美函数

3.1.2参数与返回值

3.1.3局部变量与全局变量

3.1.4嵌套函数

3.1.5参数类型

3.2再谈序列与字典数据类型

3.2.1列表与元组

3.2.2字符串

3.2.3字典

3.3关于Python数据类型的注意事项

3.3.1可变与不可变类型的讨论

3.3.2参数的传递问题

3.3.3默认参数的传递问题(可选)

3.4深入探讨列表的常用操作与开销

3.4.1添加列表元素的讨论

3.4.2删除列表元素的讨论

3.4.3生成列表的一些技巧

3.5输入输出、文件操作与异常处理

3.5.1输入

3.5.2输出

3.5.3文件操作

3.5.4异常处理

习题

第4章探究递归求解的思维方式

4.1理解递归求解的思维方式

4.1.1递归的基本思路

4.1.2递归求解的例子

4.2用递归方式重温例题

4.2.1递归实现数列求和

4.2.2递归实现归并

4.2.3递归求解因数分解

4.3list、string内置函数的非递归与递归实现

4.3.1列表内置函数的实现

4.3.2字符串内置函数的实现

4.4四种不同的递归方式来解决排序问题

4.4.1选择排序

4.4.2插入排序

4.4.3快速排序

4.4.4归并排序

4.4.5四种排序方式的比较

习题

第5章熟练递归编程

5.1二分法求解问题

5.1.1什么是二分法

5.1.2在有序序列中使用二分法查找元素位置

5.1.3求解算术平方根

5.2求两个数的最大公因数

5.2.1因数分解法求最大公因数

5.2.2欧几里得算法求最大公因数

5.2.3讨论因数分解法与欧几里得算法的优劣

5.3中国余数定理问题

5.3.1介绍相关的基础知识

5.3.2中国余数定理问题的求解

5.4关于递归函数开销的讨论

5.4.1函数调用的开销

5.4.2参数传递过程中的开销

5.4.3重复计算的开销

5.5用递归思维解决线性方程组问题

5.6用各种编程方式解决排列问题

5.6.1全排列问题

5.6.2通用排列问题

5.7用各种编程方式解决组合问题

5.7.1在排列问题的解法上解决组合问题(解法一)

5.7.2非递归方式解决组合问题(解法二)

5.7.3特殊二分方式解决组合问题(解法三)

5.7.4循环递归方式解决组合问题(解法四)

习题

第6章智能是计算出来的

6.1老鼠走迷宫问题

6.2菜鸡狼过河问题

6.3AB猜数字游戏

6.424点游戏

6.5最后拿牌就输

习题

第7章面向对象编程与小乌龟画图

7.1初识面向对象编程

7.1.1什么是对象

7.1.2体会面向对象编程的优势

7.2面向对象中的概念

7.2.1类与对象

7.2.2Python中的__init__()方法

7.2.3self变量和pass关键字

7.2.4Python中“公有”和“私有”类型的定义方式

7.3了解面向对象的三大特性

7.3.1封装

7.3.2继承

7.3.3多态

7.4初识小乌龟

7.4.1小乌龟的属性

7.4.2基本图形的绘制

7.4.3递归图形的绘制

7.5多个小乌龟的动图绘制

7.5.1过河游戏

7.5.2小老鼠走迷宫

习题

第8章掌握编程的精华——算法

8.1深入浅出之算法

8.1.1算法时间复杂度分析

8.1.2图的基本介绍

8.2深度优先搜索

8.2.1何为深搜

8.2.2图的深搜

8.2.3拓扑排序问题

8.2.4一个有趣的迷宫例子

8.3最短路径问题

8.3.1有向无环图的最短路径问题

8.3.2权值非负的有环图的最短路径问题

8.4动态规划算法

8.4.1拦截导弹问题

8.4.2背包问题

8.4.3最短路径问题

习题

参考文献



编程导论——以Python为舟 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:编程导论——以Python为舟