





定价:39元
印次:1-1
ISBN:9787302637790
出版日期:2023.08.01
印刷日期:2023.07.14
图书责编:谢琛
图书分类:教材
本书为“智能算法通识”课程的配套实验用书。“智能算法通识”课程主要面向理工类非计算机专业,和传统程序设计课程相比,主要注重提高算法和问题求解能力,课程从培养学生的算法技能出发,让学生通过对若干适用于大多数专业的通用算法的编程实际练习,在实验中锻炼寻找算法库、使用算法库解决自己专业应用问题的能力。 本书涵盖了“智能算法通识”课程的所有基本题目类型。实验项目从问题角度划分有逻辑推理题、数学问题算法(如多项式插值、非线性方程求解、线性方程组求解等)、文字处理题、数据结构题(如线性表、栈、队列、二叉树、哈夫曼树、图等);从求解问题的算法策略角度划分有穷举法、分治法、动态规划、贪心法等。大部分题目具有应用背景,而且实用有趣(如马踏棋盘问题、背包问题、道路规划问题等)。 同时,本书中所有例题和实验项目给出了源程序和运行结果。源程序格式规范,如标识符命名、注释、缩进等方面,在书中告诉学生哪些是良好的编程习惯。 本书可作为高等学校理工类非计算机专业算法设计类课程的实验教材,也可以作为程序设计及算法设计爱好者的自学用书。
薄钧戈,西安交通大学计算机学院工程师,国家、陕西省一流本科在线课程主讲教师。获得陕西省教学成果奖一等奖1项,学校教学成果特等奖、一等奖各1项。主持或参与省部级科研及教改项目10余项。
前言 智能算法通识教程实验指导信息时代,人和计算机的交互越来越多,编程思维,或者说程序思维会成为一项通识教育。理解计算机解决问题的方式、利用计算机解决问题的方法,越来越成为每一个专业的人都必须学习的内容。传统程序设计语言的通识教育是每个人编程知识树的主干,每遇到新的问题都可以用已有的编程语言知识消化吸收,进而每一步编程经历的积累都是给自己的知识树添枝增叶,日积月累,程序可以不知不觉地写得更快,更简洁易懂,更少出错,更安全,也会更容易学习理解新的编程语言和软件框架。 通识的程序设计教育已经初具雏形,但更进一步的算法通识教育却仍未被普罗大众和业界重视。由于早期算法教育具有较高的门槛,大部分人对智能算法还是比较陌生的。随着近些年信息化社会的不断发展,人们的工作、生活和学习与互联网的结合越来越紧密,而智能算法作为互联网的“普通话”,也正逐渐成为现代人的必备技能之一。未来是一个智能化社会,而智能化社会的代表就是我们的身边会围绕越来越多的智能体(Agent),这些智能体将是我们工作、学习和生活的伙伴,而智能算法正是与这些智能体交互的重要手段,所以智能算法教育一定会得到更广泛的普及。 本书为“智能算法通识”课程的配套实验用书,“智能算法通识”课程的主要目的是模拟学生在未来的专业科学研究中实际遇到问题时可能要面对的各种情况。所以,本书在设计实验和考察方法时,不苛求学生必须从零开始编写一个完整的程序,在实际工作中这样既不实际又毫无必要;而是可以从一个局部程序段、一个第三方程序框架开始,逐步加入自己的代码,步步为营,最终解决自己的问题。 本书面向非计算机专业学生的实际应用需求...
第1章算法基础1
1.1算法基本概念1
1.1.1算法的效率1
1.1.2大O表示法2
1.1.3主定理求解算法时间复杂度(选学)4
1.2数据结构基本概念6
1.2.1相关术语6
1.2.2逻辑结构和物理结构(存储结构)6
1.2.3抽象数据类型7
1.3Visual Studio操作说明8
1.3.1下载安装8
1.3.2创建C++项目8
1.3.3更改背景颜色字体大小12
1.4DevC++操作说明13
1.4.1下载安装13
1.4.2创建C++项目13
1.4.3更改字体大小14
第2章数学若干问题15
2.1判断整数n是否为质数15
2.1.1实验目的及要求15
2.1.2实验内容15
2.1.3实验原理15
2.1.4实验步骤16
2.1.5参考代码16
2.1.6实验结果17
2.1.7实验总结18
2.2筛法求质数表程序加注释19
2.2.1实验目的及要求19
2.2.2实验内容19
2.2.3实验原理19
2.2.4实验步骤20
2.2.5参考代码20
2.2.6实验结果21
2.2.7实验总结22
2.3列举整数N的所有质因子23
2.3.1实验目的及要求23
2.3.2实验内容23
2.3.3实验原理23
2.3.4实验步骤24
2.3.5参考代码24
2.3.6实验结果24
2.3.7实验总结25
2.4一元多项式除法26
2.4.1实验目的及要求26
2.4.2实验内容26
2.4.3实验原理26
2.4.4实验步骤27
2.4.5参...
通过学习本教材,学生能够理解和掌握经典算法和数据结构,了解高级算法的原理;能够具备结合本专业实际应用,设计出高效算法和数据结构的能力;能够具备利用开源平台和工具软件,快速实现应用原型的能力。
"