C++课程 C5阶段
阶段概述
课程内容
- 掌握常用的数据结构:
vector、链表、栈、队列、map等。 - 掌握CSP-J第一轮认证常考知识点:原码反码补码、进制转换、数据结构、位运算、排列组合。
- 掌握CSP-J第二轮认证的文件操作,并完整制作出贪吃蛇项目。
阶段目标
学生能够根据各种数据结构的不同优劣点选择合适的数据结构解决实际问题,并且可以通过所学初赛知识点完成相应知识点的初赛试题。
课程列表
第65课: 原码反码补码
本节课将学习机器数的三种表现形式——原码、反码和补码,并完成三码之间的计算。
第66课: 进制转换
本节课将介绍基础进制:二进制、八进制、十进制、十六进制,并完成各进制之间的转换。
第67课: 指针
本节课将介绍一种特殊的数据类型——指针,学习指针在变量、数组、结构体中的应用。
第68课: 线性表与vector
本节课将介绍可动态分配空间的线性表vector,学习一维和二维vector的初始化、赋值和遍历,实现vector的插入和删除操作。
第69课: 链表
本节课将介绍链式结构的线性表——链表,使用数组模拟和结构体指针分别实现单链表和双链表的基本操作。
第70课: 栈的基础操作
本节课将学习一种“后进先出”的特殊线性表——栈,了解栈在初赛真题中的应用,解决回文串、括号匹配等经典问题。
第71课: 栈的应用
本节课将深入研究栈的应用,使用双栈实现最大栈、出栈顺序等问题,了解前中后缀转换的基本方法。
第72课: 队列的基本操作
本节课将介绍一种“先进先出”的特殊线性表——队列,使用数组模拟和STL 实现队列的基本操作,解决站排队列、机器翻译等问题。
第73课: 队列的应用:贪吃蛇
本节课将学习结构体队列,并使用结构体队列的特性完成贪吃蛇项目的制作。
第74课: 哈希表
本节课将介绍数据结构哈希表,认识简单的哈希函数并理解哈希冲突的含义。
第75课: map
本节课将介绍数据结构map,利用键值对实现不同的映射关系,加深对于映射关系的理解。
第76课: 数据结构综合练习
本节课将巩固几种常见的数据结构,完成数据结构的综合练习。
第77课: 排列组合
本节课将学习初赛中常见的排列组合问题,总结常用的解题方法。
第78课: 位运算
本节课将介绍位运算符号,总结位运算的使用技巧。
第79课: 进制综合练习
本节课将综合进制与位运算,完成进制的综合练习,并了解格雷码和海明码。
第80课: 文件操作
本节课将介绍while的两种读入方式,了解文件操作以及代码的调试技巧。