数据结构与算法(C++版+教案+大纲+PPT+AI助教,耿祥义)
创始人
2025-06-17 09:43:15
0

课程教学大纲

1

课程性质和目标

课程性质

数据结构和算法是计算机科学的核心领域、是计算机程序的基础。正确、恰当地使用数据结构和相应的算法决定了程序的性能和效率。数据结构和算法课程的重要性和意义不仅仅在于学习知识技能,同时涵盖了提高编程能力、增强解决实际问题的能力、提高协作能力等诸多方面,一直是计算机科学与技术、软件工程等专业的一门重要的专业必修课程。

教学目标

通过本课程的学习,达到下列目标。

1. 夯实基础

让学习者掌握每种数据结构的特点,恰如其分的使用好相应地数据结构和算法,熟悉基础算法的特点、并能通透理解和正确使用这些基础算法。

2. 注重能力

该课程强调数据结构和算法课程的重要性和意义不仅仅在于学习数据结构和算法本身,同时注重训练、提高学习者的编程能力。教学目标的重要目标之一就是强调怎样正确的使用相应的数据结构和算法、恰如其分的来解决问题,使用一些经典和实用性强的算法思想并结合一些经典的问题来使得学习者掌握如何设计和实现高效、优秀的算法,提高解决实际问题的能力。

3. 强调实用

数据结构和算法与计算机科学紧密关联,常常应用于解决现实中的问题,课程注重结合一些经典问题和某些实际问题,使得学习者通过学习该课程,能加深对实际问题的了解,并具有解决某些实际问题的能力。

4. 面向对象

课程体现C++语言实现数据结构的的特色。

2

教学内容

3

教学环节

教学环节包括:课堂讲授、上机实践、课外作业。通过本课程各个教学环节可以培养学生的自学能力、动手能力、分析解决问题的能力。

1.课堂讲授

(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自学、培养学生的自学能力。结合实际问题,更新教学内容,改进教学方法,通过上机实践,培养学生的动手能力和创新能力。

(2)利用多功能教室,结合黑板讲解,演示较大程序的结构及其运行效果,以提高课堂信息量,增加教学的直观性。

2.实践课

根据教学需要,要适当安排实践课。

3.考核

采取期末考试和平时考核相结合的方式。

4

学时分配

本课程总学时是56学时,其中包含课内上机10学时。上机学时的主要目的是针对教材相应的知识点进行基本训练。其中上机内容安排的时间和内容见学时分配建议。5次上机(10学时),教师可更具实际情况确定上机实践的具体内容(也可参考作者提供的上机参考教案)。通过上机实践环节可以加深学生对理论知识的理解和掌握,同时提高学生分析问题、解决问题的能力,培养学生实践能力与创新能力。

整个知识架构分成三大模块-算法基础(基础模块),结构及其算法(重点模块),专项算法(难点模块),如下列三大模块图(不含上机实践)。

56学时(含上机实践)和教案(见28个参考教案)分配细节如下列学时和教案分配表。

5

配套教材及简介

-内 容 简 介-

本书面向有一定C++语言基础的读者,重点讲解数据结构和相关算法以及经典算法思想。本书不仅注重讲解每种数据结构的特点,还特别注重结合例子讲解如何正确使用每种数据结构和相关的算法,强调使用数据结构和算法解决相应的问题。本书精选了一些经典和实用性强的算法思想,并通过解决一些经典的问题体现这些算法思想的精髓。全书共14章,分别是数据结构概述、算法复杂度、递归算法、数组、链表与list类、顺序表与vector类、栈与stack类、队列与deque类、二叉树与set类、散列表与unordered_map类、集合与unordered_set类、常用算法与

algorithm库、图论和经典算法思想。本书注重体现C++的特色,特别是C++11版本的一些新功能,除前3章外,各章的大部分代码都体现了C++的特色和优势。

6

目录

目录

第1章数据结构概述

1.1逻辑结构

1.2物理结构

1.3算法与结构

1.4C++版本的说明

习题1

第2章算法复杂度

2.1算法

2.2算法的复杂度

2.3常见的复杂度

习题2

第3章递归算法

3.1递归算法简介

3.2线性递归与非线性递归

3.2.1线性递归

3.2.2非线性递归

3.3问题与子问题

3.4递归与迭代

3.5多重递归

3.6经典递归

3.6.1杨辉三角形

3.6.2老鼠走迷宫

3.6.3汉诺塔

3.7优化递归

习题3

第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.4数组的复制

4.4.1复制数组的函数

4.4.2处理重复数据

4.5数组的比较

4.6数组与洗牌

4.7数组与生命游戏

习题4

第5章链表与list类

5.1链表的特点

5.2创建链表

5.3遍历链表

5.4查询与相等

5.5添加节点

5.6删除节点

5.7更新节点

5.8子链表

5.9链表的排序

5.10合并、倒置和交换链表

5.11编写简单的链表

习题5

第6章顺序表与vector类

6.1顺序表的特点

6.2顺序表的创建与常用函数

6.3顺序表与最长递增子数组

6.4顺序表与筛选法

6.5顺序表与全排列

6.6顺序表与组合

6.7顺序表与记录

习题6

第7章栈与stack类

7.1栈的特点

7.2栈的创建与独特函数

7.3栈与回文串

7.4栈与递归

7.5栈与括号匹配

7.6栈与深度优先搜索

7.7栈与后缀表达式

习题7

第8章队列与deque类

8.1队列的特点

8.2队列的创建与独特函数

8.3队列与回文串

8.4队列与加密解密

8.5队列与约瑟夫问题

8.6队列与广度搜索

8.7优先队列

8.8队列与排队

习题8

第9章二叉树与set类

9.1二叉树的基本概念

9.2遍历二叉树

9.3二叉树的存储

9.4平衡二叉树

9.5二叉查询树和平衡二叉查询树

9.6创建std::set平衡二叉查询树

9.7std::set树的基本操作

9.8std::set树与数据统计

9.9std::set树与过滤数据

9.10std::set树与节目单

习题9

第10章散列表与unordered_map类

10.1散列结构的特点

10.2简单的散列函数

10.3创建散列表

10.4散列表的基本操作

10.5遍历散列表

10.6散列表与字符、单词频率

10.7散列表与数据缓存

10.8重载hash函数

10.9std::map类

习题10

第11章集合与unordered_set类

11.1集合的特点

11.2unordered_set类

11.3集合的基本操作

11.4集合与数据过滤

11.5集合与获得随机数

11.6重载hash函数

习题11

第12章常用算法与algorithm库

12.1Lambda表达式

12.2动态遍历算法

12.3复制与替换算法

12.4排序算法

12.5查找算法

12.6删除与清零算法

12.7反转与旋转算法

12.8全排列算法

习题12

第13章图论

13.1无向图

13.2有向图

13.3网络

13.4图的存储

13.5图的遍历

13.6测试连通图

13.7最短路径

13.8最小生成树

习题13

第14章经典算法思想

14.1贪心算法

14.2动态规划

14.3回溯算法

习题14

附录A运算符重载、模板类和std::string

A.1重载关系运算符

A.2类模板的基础知识

A.3std::string类

参考文献

7

AI助教:你的随身教师

相关内容

拉卡拉涨16.16%,开源...
今日拉卡拉(300773)涨16.16%,收盘报31.7元。 20...
2025-06-17 18:12:16
高考报志愿别只看一个AI,...
2025年高考,AI凭借强大的数据处理和智能分析能力,成为志愿填报...
2025-06-17 11:42:12
数据结构与算法(C++版+...
✦ 课程教学大纲 ✦ 1 课程性质和目标 课程性质 数据结构和算法...
2025-06-17 09:43:15
Adobe Researc...
这项由Adobe Research的黄迅、李政奇、Eli Shec...
2025-06-16 20:42:44
首尔大学团队突破:让AI&...
这项由首尔大学IPAI实验室的郑妍硕(Yeonseok Jeong...
2025-06-16 20:22:44
AI时代,关系模型仍会胜出...
科技行业对“下一个大趋势”有着强烈的渴望。但有时,正是那些老技术最...
2025-06-16 20:20:33

热门资讯

原创 2... #春日生活好物种草季#近年来,笔记本电脑市场迎来技术爆发期,尤其在手机厂商跨界入局后,轻薄本在性能、...
5个AI模特生成软件推荐 当前AI模特生成软件市场提供了多样化的解决方案,以下是几款备受推崇的工具: 触站AI:强烈推荐!...
2023年CentOS与Ubu... CentOS与Ubuntu的市场格局与技术特性探讨 在服务器操作系统领域,CentOS与Ubuntu...
苹果macOS 15.1:允许... 苹果公司在其最新的macOS 15.1版本中,推出了一项引人注目的新功能——允许用户将Mac App...
AMD锐龙AI 9 HX 37... 2024年6月3日,AMD正式发布全新的锐龙AI 300系列处理器。该系列处理器一经发布就引发大家的...
骁龙本这么猛?联想YOGA A... 在人人都是自媒体的时代,一部手机可以解决出镜拍摄问题,而商务出差、大量码字、图像处理等需求用笔记本则...
原创 华... 想在竞争残酷的市场中发力,必须要带来一些激进的卖点,但是随着功能特性的提升,硬件也必须要进行给力才可...
原创 苹... 前言 IQUNIX在做好看的桌面产品上,一直都给我留下非常深刻的印象。而且早期和苹果产品的设计风格...
支持 AI 扩图,华为 Pur... 2024-07-28 09:05:02作者:姚立伟 华为Pura 70 Pro手机今日推出鸿蒙Ha...