





定价:59元
印次:1-1
ISBN:9787302641292
出版日期:2023.10.01
印刷日期:2023.10.13
图书责编:谢琛
图书分类:教材
本书面向理工类非计算机专业。与传统程序设计教材相比,本书主要注重提高算法和问题求解能力,不注重具体的语言语法,使相关专业学生拥有更为坚实的程序设计技能和算法基础,为培养素质好、专业技术强、信息化水平高的高级工程技术人才做准备。本教材围绕应用环境中实际问题的求解过程来阐述和讲解程序设计思想方法和相关技术知识,向学生展示如何设计和选择合适的数据结构来表示实际问题中的处理对象,如何把一个实际问题转化成一个程序可计算的逻辑模型,以及如何考虑程序运行的效率来满足问题求解对时间的要求等。 本书可作为高等学校理工类非计算机专业算法设计类课程的教材,也可以作为程序设计及算法设计爱好者的自学用书。
乔亚男,西安交通大学电子信息与工程学院副教授,博士生导师,2016年获选西安交通大学十大“我最喜爱的老师”之一,相关事迹相继于2017年在《中国科学报》、2018年在《中国教育报》进行了专题报道。
前言 智能算法通识教程信息时代,人和计算机的交互越来越多,编程思维或者说程序思维会成为一项通识教育。理解计算机解决问题的方式和利用计算机解决问题的方法,越来越成为每一个专业的人都必须学习的内容。传统程序设计语言的通识教育是每个人都是编程知识树的主干,每遇到新的问题都可以用已有的编程语言知识消化吸收,进而每一步编程经历的积累都是给自己的知识树添枝增叶。日积月累,程序可以不知不觉地写得更快、更简洁易懂、更少错、更安全,也会更容易学习理解新的编程语言和软件框架。 通识的程序设计教育已经初具雏形,但更进一步的算法通识教育却仍未被普罗大众和业界重视。由于早期算法教育具有较高的门槛,大部分人对智能算法还是比较陌生的。随着近些年信息化社会的不断发展,我们的工作、生活和学习与互联网的结合越来越紧密,而智能算法作为互联网的“普通话”,也正逐渐成为现代人的必备技能之一。未来是一个智能化社会,而智能化社会的代表就是我们的身边会围绕越来越多的智能体(Agent),这些智能体将是我们工作、学习和生活的伙伴,而智能算法正是与这些智能体交互的重要手段,所以智能算法教育一定会得到更广泛的普及。 “智能算法通识”课程的主要目的是模拟学生在未来的专业科学研究中实际遇到问题时可能要面对的各种情况。所以,本教材在设计实验和考察方法时,不苛求学生必须从零开始编写一个完整的程序,在实际工作中这样既不实际又毫无必要;而是可以从一个局部程序段,一个第三方程序框架开始,逐步加入自己的代码,步步为营,最终解决自己的问题。 本教材教学内容作为基础课和专业课之间计算机能力培养的桥梁,要求学生必须具备一定的程序设计基础。本...
第1章绪论1
1.1算法的概念1
1.1.1从计算机的优势和劣势谈起1
1.1.2问题和算法2
1.1.3什么是算法4
1.2算法设计的要求5
1.3算法效率的度量6
1.3.1时间复杂度6
1.3.2空间复杂度7
1.4本课程的总体结构7
1.5相关语言和函数库简介8
1.5.1从C到C++8
1.5.2C++语言的功能改进9
1.5.3命名空间11
1.5.4C++的输入输出13
1.5.5函数重载和函数模板15
1.5.6面向对象初步18
1.5.7string类20
习题21
第2章若干数学问题的算法22
2.1数论相关问题22
2.2多项式四则运算25
2.2.1一元多项式乘法25
2.2.2一元多项式除法28
2.3多项式插值问题28
2.3.1拉格朗日插值法29
2.3.2牛顿插值法31
2.4非线性方程求解33
2.4.1二分法33
2.4.2牛顿迭代法35
2.5线性方程组求解36
2.5.1雅可比迭代法36
2.5.2高斯消去法39
2.6一元线性回归43
习题47
第3章线性结构的妙用48
3.1数据结构基本概念48
3.2线性表概念及应用50
3.2.1线性表基本概念50
3.2.2顺序表概念及实现51
3.2.3顺序表应用: 学生名册管理58
3.2.4链表的概念及实现60
3.2.5单链表应用: 通讯录管理69
3.3堆栈和队列的应用72
3.3.1堆栈的概念及实现72
3.3.2堆栈应用: 表达式求值76
3.3.3队列的概念及实现78
3.3...