-
绪章课程简介
主要讲解课程定位、课程目标、课程内容安排、主讲教师团队及参考教材等,帮助同学更好地了解课程整体情况。
-
●0.1课程简介
主要讲解课程定位、课程目标、课程内容安排、主讲教师团队及参考教材等,帮助同学更好地了解课程整体情况。
-
第一章线性结构
引入线性表、抽象数据类型、算法、算法评价等概念,介绍如何分别用顺序存储结构和链式存储结构实现抽象数据类型——线性表,讲述单链表和双链表的典型应用案例,引入栈和队列。
-
●1.1线性表的概念
引入线性表、抽象数据类型概念,介绍抽象数据类型线性表定义。
-
●1.2算法和算法分析
介绍算法和算法描述方法、算法评价,引入算法时间复杂度和空间复杂度。
-
●1.3线性表的顺序存储
介绍如何通过顺序存储方式实现抽象数据类型线性表。
-
●1.4线性表的链式存储
介绍通过链式存储结构实现抽象数据类型线性表,讲述单链表的概念、单链表基本操作实现、单链表和双链表的应用等知识。
-
●1.5栈和队列
引入栈和队列的概念,讲述栈和队列的实现思路。
-
第二章递归程序设计
讲述递归程序设计方法,分析递归程序执行过程,通过无符号大数乘法、八皇后问题、0-1背包问题等经典案例,讲述分治法和回溯法两大算法设计方法,提高算法设计能力。
-
●2.1栈与递归
以汉诺塔问题为例,讲述递归程序设计,分析递归程序执行过程,介绍非递归等效算法设计。
-
●2.2分治法
通过无符号大数乘法讲述分治法,提高算法设计能力。
-
●2.3回溯法
介绍回溯法思想和算法框架,通过八皇后问题、0-1背包问题讲述回溯法。
-
第三章查找和排序
介绍查找和简单排序算法,讲述高效的归并排序和快速排序,最后,介绍几种特殊的排序算法,与此同时,分析了这些算法的时间复杂度和空间复杂度。
-
●3.1查找和简单排序
介绍查找、二分查找和简单排序算法,分析了这些算法的时间复杂度和空间复杂度。
-
●3.2归并排序和快速排序
讲述高效的归并排序和快速排序,分析了它们的时间复杂度和空间复杂度。
-
●3.3其它特殊排序方法
介绍几种适合特殊场合使用的排序算法以及这些算法的时间复杂度和空间复杂度。
-
第四章简单房价预测项目
通过一个简单房价预测问题,介绍一元线性回归方法,并通过C语言实现房价预测问题的求解。
-
●4.1问题描述与解题思路
分析简单房价预测问题及其数据集特征,引入一元线性回归方法,并使用最小二乘法推导一元线性回归方程的参数求解公式。
-
●4.2项目实现
借助Visual Studio集成开发工具,使用C语言通过一元线性回归方法实现简单房价预测项目。
-
第五章鸢尾花分类项目
通过无监督学习的鸢尾花分类问题,介绍K-Means聚类算法,并通过C语言实现鸢尾花分类问题的求解。
-
●5.1问题描述与解题思路
分析鸢尾花分类问题及其数据集特征,引入K-Means聚类算法,并详细阐述了K-Means聚类算法流程。
-
●5.2项目实现
借助Visual Studio集成开发工具,使用C语言通过K-Means聚类算法实现鸢尾花分类项目,包括全局变量定义、代码整体框架构建、训练数据读入、簇群初始化及KMeans核心算法实现等。
-
第六章波士顿房价预测项目
通过波士顿房价预测问题,介绍三层BP神经网络算法模型,引入更多维度特征,预测波士顿房价,最后通过C语言实现波士顿房价预测问题的求解。
-
●6.1问题描述与解题思路
分析波士顿房价预测问题及其数据集特征,引入三层BP神经网络算法,详细阐述了前向传播和反向传播的计算过程,最终给出BP神经网络算法流程。
-
●6.2项目实现
借助Visual Studio集成开发工具,使用C语言通过三层BP神经网络算法实现简单房价预测项目,包括全局变量定义、代码整体框架构建、训练数据读入、神经网络初始化、神经网络训练与模型评估等。
-
第七章贪吃蛇的控制台游戏
首先分析贪吃蛇游戏的功能结构和业务流程,然后使用C语言逐步实现基于控制台的贪吃蛇游戏。
-
●7.1功能及业务流程介绍
详细介绍了贪吃蛇游戏的功能模块及业务流程设计。
-
●7.2项目实现
借助Visual Studio集成开发工具,使用C语言开发基于控制台的贪吃蛇游戏代码,包括头文件与主程序文件代码实现、游戏各菜单界面实现、初始化地图与食物生成功能实现、蛇移动等功能实现。
-
第八章基于MFC的俄罗斯方块游戏
通过基于MFC的窗体式俄罗斯方块游戏开发案例,介绍面向对象的图形化程序开发和消息驱动程序开发。
-
●8.1建立框架
介绍了利用Visual Studio搭建俄罗斯方块游戏界面框架过程。
-
●8.2添加功能模块
介绍俄罗斯方块游戏中Tool类和Game类设计和实现。
-
●8.3消息响应和界面绘制
介绍俄罗斯方块游戏画面绘制和消息响应实现,完成了俄罗斯方块游戏整体开发,在此基础上进一步拓展游戏。
-
第九章学生成绩管理系统
管理信息系统可以有效实现信息的采集、存储、处理和利用,显著提升管理的质量和效率。本章将基于C语言,介绍简易学生成绩管理系统的开发过程。
-
●9.1管理信息系统开发概述
简要介绍管理信息系统开发的一般流程。
-
●9.2系统功能和执行流程
深入分析学生成绩管理系统开发的基本要求,从而确定系统的功能和执行流程。
-
●9.3预设项目基本信息
介绍预设项目信息的方法,通过预设项目信息,使程序具备更好的可读性和可维护性。
-
●9.4system函数
介绍windows操作系统下system () 函数的使用方法,本程序要使用的主要命令。
-
●9.5主函数框架
介绍本程序的主体框架。
-
●9.6系统主菜单界面
介绍系统主菜单界面的设计,并介绍本系统的编程规范。
-
●9.7编码实现系统主菜单界面
介绍系统主菜单界面的编码实现。
-
●9.8设置文字输出位置
介绍如何使用SetPosition函数来对文字输出起始位置进行控制。
-
●9.9输入学生信息
介绍从键盘手动输入学生信息的流程和代码实现。
-
●9.10计算学生成绩
介绍如何进行学生成绩的计算。
-
●9.11学生记录存盘
介绍如何将学生记录存盘,从而实现数据持久化的操作。
-
●9.12从磁盘读取学生记录
介绍从磁盘读取学生记录的方法和代码实现。
-
●9.13增加学生记录
介绍在已有记录的基础上学生记录的流程、实现方法及注意事项。
-
●9.14按学号查询学生记录
介绍按学号查询学生记录的流程和编码实现。
-
●9.15按姓名查询学生记录
介绍按姓名查询学生记录的流程、编码实现,并分析按姓名查找和按学号查找学生记录的区别。
-
●9.16删除学生记录
介绍删除学生记录的流程、实现方法及注意事项。
-
●9.17修改学生记录
介绍修改学生记录的流程、实现方法。
-
●9.18输出学生记录
介绍如何输出学生记录以及对输出格式的控制。
-
●9.19按姓名对学生记录排序
介绍如何使用冒泡法按姓名对学生记录排序。
-
●9.20按学号对学生记录排序
介绍如何使用选择法按学号对学生记录排序。
-
●9.21按成绩对学生记录升序排序
介绍如何使用选择法按成绩总分对学生记录进行排序。
-
●9.22按总分对学生记录降序排序
介绍如何引入规则函数,实现按总分对学生记录进行升序或降序排序。
-
●9.23学生成绩统计
介绍如何对学生成绩进行统计。
-
●9.24退出系统
介绍如何实现退出系统的功能,并分析了本程序待优化和完善之处。





