-
内容大纲
本书围绕综合案例开发,系统地介绍了程序设计的思路和方法。全书分为四篇,共9章。第一篇为基础算法篇,主要介绍了线性表的顺序存储结构、链式存储结构和典型链表应用案例,递归程序设计和递归程序执行过程,分治法和回溯法两大算法设计方法,以及常用的查找和排序方法。第二篇为人工智能篇,主要围绕复杂工程问题的求解,引出线性回归算法、聚类算法和神经网络算法,从而让读者深刻了解人工智能的应用场景,掌握相关的基础算法。第三篇为游戏开发篇,主要使用C语言完成基于控制台的贪吃蛇游戏的开发,同时,引入面向对象方法,基于MFC使用C++开发窗体式俄罗斯方块游戏。第四篇为管理信息系统篇,通过对学生成绩管理系统的设计、编码实现,使读者掌握“自顶向下、逐步求精”的程序设计方法。
本书是一本立体化教材,每一个知识单元和综合案例的开发步骤均配有短视频讲解,方便读者学习。同时,每章均配有实践训练或项目拓展,帮助读者对每章所学知识进行巩固和提升。
本书结构清晰,实例丰富,图文对照,浅显易懂,可作为高等院校计算机等工科类相关专业程序设计课程实践的配套教材。
本书提供MOOC教学视频、电子教案、示例源代码,需要者可以到西安电子科技大学出版社网站(www.xduph.com)下载。
-
作者介绍
-
目录
基础算法篇
第1章 线性结构
1.1 线性表的概念
1.2 算法和算法分析
1.2.1 算法的性能分析与度量
1.2.2 算法的时间复杂度和空间复杂度
1.3 线性表的顺序存储
1.4 线性表的链式存储
1.4.1 单链表的概念
1.4.2 单链表基本操作的实现
1.4.3 单链表应用举例
1.4.4 双向链表应用举例
1.4.5 其他链表
1.5 栈和队列
1.5.1 栈和队列的概念
1.5.2 栈和队列的实现思路
1.6 本章实践
第2章 递归程序设计
2.1 栈与递归
2.1.1 汉诺塔问题递归程序设计
2.1.2 递归程序执行过程分析
2.1.3 等效非递归算法设计
2.2 分治法
2.2.1 无符号大数的Karatsuba乘法
2.2.2 Karatsuba乘法的程序实现
2.3 回溯法
2.3.1 八皇后问题
2.3.2 O-1背包问题
2.4 本章实践
第3章 查找和排序
3.1 顺序查找和二分查找算法
3.2 简单排序算法
3.2.1 冒泡排序
3.2.2 简单选择排序
3.2.3 直接插入排序
3.3 归并排序算法
3.4 快速排序算法
3.5 其他特殊排序算法
3.5.1 计数排序
3.5.2 桶排序
3.5.3 基数排序
3.5.4 其他
3.6 本章实践
人工智能篇
第4章 简单房价预测项目
4.1 问题描述
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.3.4 数据读入
4.3.5 初始化
4.3.6 线性回归
4.3.7 预测房价
4.4 运行结果
4.5 本章总结
4.6 项目拓展
第5章 鸢尾花分类项目
5.1 问题描述
5.2 解题思路
5.2.1 问题分析
5.2.2 K—Means算法
5.2.3 算法流程
5.3 项目实现
5.3.1 创建项目
5.3.2 全局变量
5.3.3 程序整体框架
5.3.4 数据读入
5.3.5 初始化簇群
5.3.6 KMeans()函数
5.3.7 计算点到质心的距离
5.3.8 确定簇群
5.3.9 计算新质心
5.3.10 判断是否需要继续迭代
5.4 运行结果
5.5 本章总结
5.6 项目拓展
第6章 波士顿房价预测项目
6.1 问题描述
6.2 解题思路
6.2.1 问题分析
6.2.2 三层BP神经网络模型
6.2.3 M—P神经元模型
6.2.4 前向传播
6.2.5 反向传播算法的数学推导
6.2.6 算法流程
6.3 项目实现
6.3.1 创建项目
6.3.2 全局变量
6.3.3 代码整体流程的构建
6.3.4 训练数据读入
6.3.5 神经网络的初始化
6.3.6 神经网络的训练
6.3.7 前向传播函数的实现
6.3.8 反向传播的权值修正
6.3.9 评估神经网络模型
6.4 运行结果
6.5 本章总结
6.6 项目拓展
游戏开发篇
第7章 基于控制台的贪吃蛇游戏
7.1 系统功能结构
7.2 系统业务流程
7.3 系统功能实现
7.3.1 创建项目
7.3.2 头文件代码实现
7.3.3 主程序文件代码实现
7.3.4 游戏主菜单界面实现
7.3.5 帮助和关于菜单选项实现
7.3.6 初始化地图
7.3.7 生成食物
7.3.8 蛇移动
7.3.9 死亡判定
7.3.10 移动速度的调整
7.4 游戏运行效果
7.5 本章总结
7.6 项目拓展
第8章 基于MFC的俄罗斯方块游戏
8.1 系统功能结构
8.2 系统业务流程
8.3 系统功能实现
8.3.1 创建项目
8.3.2 方块基本操作
8.3.3 游戏逻辑控制
8.3.4 游戏开始与定时器控制
8.3.5 游戏界面绘制
8.3.6 游戏帮助
8.3.7 游戏暂停和继续
8.4 游戏界面优化
8.4.1 对话框优化
8.4.2 标题栏优化
8.4.3 按钮优化
8.5 游戏运行效果
8.6 项目拓展
管理信息系统篇
第9章 学生成绩管理系统
9.1 问题描述
9.2 解题思路
9.2.1 系统功能分析
9.2.2 业务流程分析
9.3 系统功能实现
9.3.1 创建项目
9.3.2 预设项目基本信息
9.3.3 文件包含
9.3.4 宏定义
9.3.5 结构体类型定义
9.3.6 system()函数
9.3.7 函数声明
9.3.8 主函数框架
9.3.9 主菜单界面
9.3.10 设置文字的输出位置
9.3.11 输入学生信息
9.3.12 计算学生成绩
9.3.13 计算课程成绩
9.3.14 学生记录存盘
9.3.15 读取学生记录
9.3.16 增加学生记录
9.3.17 按学号查找学生记录
9.3.18 按姓名查找学生记录
9.3.19 删除学生记录
9.3.20 修改学生记录
9.3.21 输出学生记录
9.3.22 按姓名对学生记录排序
9.3.23 按学号对学生记录排序
9.3.24 按总分对学生记录升序 排序
9.3.25 按总分对学生记录降序排序
9.3.26 学生成绩统计
9.3.27 退出系统
9.3.28 容错处理
9.4 本章总结
9.5 项目拓展
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...