课程简介
数据结构是介于数学、计算机硬件和计算机软件之间的一门计算机科学与技术专业的核心课程,是高级程序设计语言、编译原理、操作系统、数据库等课程的基础。同时,数据结构技术也广泛应用于信息科学、系统工程、应用数学以及各种工程技术领域。数据结构课程集中讨论软件开发过程中的设计阶段、同时设计编码和分析阶段的若干基本问题。此外,为了构造出好的数据结构及其实现,还需考虑数据结构及其实现的评价与选择。
因此,数据结构的内容包括抽象、实现和评价三个层次,从数据表示和数据处理上看有五个基本组成“要素”分别是逻辑结构,存储结构、基本运算、算法及不同数据结构的比较与算法分析。
课程目录:
】:[1.1.1]--1-教学安排
[1.2.1]--2-数据结构主要内容
[1.2.2]--3-数据结构的4个逻辑结构
[1.2.3]--4-数据结构基本术语
[1.2.4]--4-2-数据结构基本术语
[1.2.5]--4-3-数据结构基本术语
[1.2.6]--4-4-数据结构基本术语
[1.3.1]--1-算法介绍
[1.3.2]--2-算法概念
[1.3.3]--3-1-渐进分析理论
[1.3.4]--3-2-渐进分析part1
[1.3.5]--3-3-渐进分析part2
[1.3.6]--3-4-渐进分析part3
[1.3.7]--4-复杂度分析例子
[2.1.1]--0-项目探讨
[2.1.2]--1-引子
[2.1.3]--2-线性表的基本概念
[2.2.1]--1-合并线性表
[2.2.2]--2-合并有序表
[2.3.1]--1-线性表的基本操作
[2.3.2]--2-线性表的顺序存储
[2.3.3]--3-线性表的顺序存储-插入操作
[2.3.4]--4-线性表的顺序存储-删除操作
[2.3.5]--5-线性表的链式存储
[2.3.6]--5-2-线性表的链式存储
[2.3.7]--5-3-线性表的链式存储
[2.3.8]--5-4-线性表的链式存储
[2.3.9]--5-5-线性表的链式存储
[2.3.10]--5-6-线性表的链式存储
[2.3.11]--5-7-线性表的链式存储
[2.4.1]--1-合并线性表分析
[2.4.2]--2-合并线性表程序
[2.4.3]--3-有序表的合并
[2.4.4]--4-讨论-线性表的更多应用
[2.5.1]--1-引子
[2.5.2]--2-栈的定义
[2.5.3]--3-顺序栈
[2.5.4]--4-链栈
[2.5.5]--5-栈的简单应用
[2.6.1]--1-队列的定义
[2.6.2]--2-顺序队列
[2.6.3]--3-链队列
[2.6.4]--4-队列的简单应用
[2.7.1]--1-顺序存储结构编程
[2.7.2]--2-顺序存储结构基本操作的测试
[2.7.3]--3-链式存储结构的编程
[3.1.1]--1-查找的基本概念
[3.2.2]--2-顺序查找例子
[3.3.1]--折半查找
[3.4.1]--1-索引查找
[3.4.2]--2-索引查找算法
[3.4.3]--3-三种查找算法比较
[3.5.1]--1-引子
[3.5.2]--2-常见的哈希函数
[3.5.3]--3-1-字符串的哈希
[3.5.4]--3-2-字符串的哈希
[3.5.5]--4-1-冲突处理办法
[3.5.6]--4-2-线性探测再散列例子
[3.5.7]--4-3-二次探测再散列例子
[3.5.8]--4-4-随机函数处理冲突例子
[3.5.9]--4-5-其他处理冲突方法
[3.5.10]--5-哈希查找过程
[3.5.11]--6-哈希查找性能分析
[4.1.1]--1-排序的基本概念
[4.2.1]--1-简单插入排序
[4.2.2]--2-1-希尔排序
[4.2.3]--2-2-希尔排序
[4.2.4]--2-3-希尔排序
[4.3.1]--1-简单选择排序
[4.3.2]--2-归并排序
[4.4.1]--1-冒泡排序
[4.4.2]--2-快速排序
[4.5.1]--1-基数排序
[4.5.2]--2-基数排序
[4.5.3]--3-基数排序
[4.6.1]--1-外部排序
[4.6.2]--2-外部排序
[4.6.3]--3-外部排序
[4.6.4]--4-外部排序
[4.6.5]--6-外部排序
[5.1.1]--1-递归定义
[5.1.2]--2-递归例子
[5.1.3]--3-fib例子
[5.2.1]--1-分治递归定义
[5.2.2]--2-分治递归适用条件
[5.3.1]--1-代换法
[5.3.2]--2-迭代法
[5.3.3]--3-主方法
[5.4.1]--1-打印全排列
[5.4.2]--2-大整数乘法
[5.4.3]--3-作业题目解说
[6.1.1]--引子
[6.2.1]--1-二叉树的定义
[6.2.2]--2-二叉树的存储
[6.2.3]--3-二叉树的遍历
[6.2.4]--4-二叉树的层次遍历
[6.2.5]--5-1-二叉树遍历应用
[6.2.6]--5-2-二叉树遍历应用
[6.2.7]--6-1-二叉树的复原
[6.2.8]--6-2-二叉树的复原程序
[6.3.1]--0-1-二叉排序树的定义与查找插入操作
[6.3.2]--0-2-二叉排序树的删除操作
[6.3.3]--1-AVL平衡二叉树
[6.3.4]--2-1-哈夫曼树理论
[6.3.5]--2-2-哈夫曼编码
[6.3.6]--2-3-哈夫曼程序
[6.3.7]--3-堆
[6.4.1]--1-树与森林的定义
[6.4.2]--2-树与二叉树的转换
[6.5.1]--AVL树的补充
[7.1.1]--0-引子
[7.1.2]--1-问题的提出
[7.1.3]--2-1-图的基本概念
[7.1.4]--2-2-图的基本概念
[7.1.5]--2-3-图的基本概念
[7.1.6]--2-3-图的顺序存储-邻接矩阵
[7.1.7]--2-4-图的链式存储-邻接表与逆邻接表
[7.1.8]--2-5-两种存储结构的比较
[7.1.9]--3-1-1深度优先遍历理论
[7.1.10]--3-1-2广度优先遍历理论
[7.1.11]--3-2-图的遍历
[7.2.1]--1-贪心算法引子
[7.2.2]--2-贪心算法要素
[7.2.3]--3-贪心算法应用-活动安排
[7.3.1]--1-1-最小生成树
[7.3.2]--1-2-prim算法
[7.3.3]--1-3-kruscal算法
[7.3.4]--2-最短路径
[7.3.5]--3-拓扑排序
[7.3.6]--4-1-关键路径
[7.3.7]--4-2-关键路径
[8.1.1]--引子
[8.2.1]--1-动态规划概述
[8.2.2]--2-动态规划基本步骤
[8.3.1]--1-1-矩阵连乘
[8.3.2]--1-2-矩阵连乘
[8.3.3]--1-3-矩阵连乘
[8.4.1]--动态规划要素
[8.5.1]--备忘录法
[8.6.1]--项目实战-防抄袭系统
[8.7.1]--小结
[8.7.2]--数据结构总结