距离结束还剩:01天16小时
关注公众号 领VIP会员
下次再说
数据结构严蔚敏C语言版-手把手教你实现数据结构视频课程

首发

下载课程

下载学院APP

缓存视频离线看

微信公众号
收藏(1016)

数据结构严蔚敏C语言版-手把手教你实现数据结构视频课程

课程目标: 1、摒弃传统课件授课,我以代码实现为核心2、教会你如何使用一本好书3、让你理解概...

4.9分 共83课时 共47小时6分钟 更新时间: 30天前

学习人数榜1

价  格

¥239.20

¥299.00

优惠活动

春日正当宜

2424小时内答疑

课时永久观看

退15分钟内无条件退款

  1. 仅限付费视频课程适用
  2. 购买后15分钟内可以找到客服进行沟通退款
  3. 下载资料后不再享有退款特权
  4. 客服(Tel:400-101-1651)
  5. 最终解释权归51CTO学院所有

专属资料下载

课程介绍

课程大纲

学习资料

学员评价

课程目标
1、摒弃传统课件授课,我以代码实现为核心2、教会你如何使用一本好书3、让你理解概念的同时还知道数据结构在编程时该如何实现4、本课程几乎实现了书中的所有结构,弥补了学校课时不足以及至讲解概念的缺陷5、本课程对有志向从事IT工作,以及找工作、自学数据结构的同学有莫大帮助,让你知其然而知其所以然
适用人群
C/C++语言学习者,数据结构学习者,从事计算机编程工作者,以及计算机专业求职者
课程简介
  • 目录

    主要内容:主要介绍数据结构课程所要讲解的内容,以及学习过程中所要注意的事项,以及课程章节安排和介绍

  • 绪论

    主要内容:数据结构概念、数据结构的分类、ADT类型概念、算法的基本概念、衡量算法好坏的指标(时间复杂度、空间复杂度)

  • 线性表之顺序表实现_1

    主要内容:顺序表编程实现的框架搭建

  • 线性表之顺序表实现_2

    主要内容:顺序表方法实现     [1]push_back [2]push_fornt [3]show_list [4]pop_back     [5]pop_front [6]insert_pos [7]find     [8]lenght

  • 线性表之顺序表实现_3

    主要内容:顺序表方法实现     [9]delete_pos [10]delete_val [11]sort         [12]resver   [13] clear   [14*]destroy

  • 线性表之顺序表实现_4

    主要内容:对顺序表进行增量配置,以及merge函数的实现

  • 线性表之单链表实现_1

    主要内容:链表的概念与理解、单链表的创建、头结点的作用

  • 线性表之单链表实现_2

    主要内容:单链表的管理模式,单链表的实现框架创建

  • 线性表之单链表实现_3

    主要内容:单链表的菜单方法实现     [1] push_back [2] push_front [3] show_list [4] pop_back     [5] pop_front [6] insert_val [7] find     [8] length

  • 线性表之单链表实现_4

    主要内容:单链表的菜单方法实现     [9] delete_val [10] sort   [11] resver     [12] clear   [13*] destroy

  • 线性表之单链表实现_5

    主要内容:单链表的方法改进,主要引进迭代器的简单思想,以及引人_buynode函数, 对代码进行简化操作

  • 线性表之静态链表实现

    主要内容:静态链表的概念,表示与实现、完成初始化函数、插入函数、删除函数

  • 线性表之单循环链表实现_1

    主要内容:单循环链表的概念与理解,框架搭建

  • 线性表之单循环链表实现_2

    主要内容:单循环链表的菜单方法实现     [1] push_back [2] push_front [3] show_list [4] pop_back     [5] pop_front [6] insert_val [7] find     [8] length

  • 线性表之单循环链表实现_3

    主要内容:单循环链表的菜单方法实现     [9] delete_val [10] sort   [11] resver     [12] clear   [13*] destroy

  • 线性表之双链表实现_1

    主要内容:双链表的概念与理解,框架搭建

  • 线性表之双链表实现_2

    主要内容:双链表的菜单方法实现     [1] push_back [2] push_front [3] show_list [4] pop_back     [5] pop_front [6] insert_val [7] find     [8] length

  • 线性表之双链表实现_3

    主要内容:双链表的菜单方法实现     [9] delete_val [10] sort   [11] resver     [12] clear   [13*] destroy

  • 线性表之双向循环链表实现_1

    主要内容:双向循环链表的概念与理解,框架搭建

  • 线性表之双向循环链表实现_2

    主要内容:双向循环链表的菜单方法实现     [1] push_back [2] push_front [3] show_list [4] pop_back     [5] pop_front [6] insert_val [7] find     [8] length

  • 线性表之双向循环链表实现_3

    主要内容:双向循环链表的菜单方法实现     [9] delete_val [10] sort   [11] resver     [12] clear   [13*] destroy

  • 栈结构之顺序栈实现

    主要内容:栈概念的理解,以及栈的顺序实现完成Inc(),InitStack(),IsFull(),IsEmpty(),Push(),Pop(),GetTop(),Length(),Clear(),Destroy(),Show()

  • 栈结构之链栈实现

    主要内容:链栈的理解以及链表形式实现完成InitStack(),IsFull(),IsEmpty(),Push(),Pop(),GetTop(),Length(),Clear(),Destroy(),Show()

  • 栈结构之栈的应用

    主要内容:利用栈实现数制转换、括号的匹配检测、文本行编辑程序

  • 队列之链队列实现

    主要内容: 队列概念的理解,队列的链式结构实现,完成队列的函数方法 void InitQueue(LinkQueue *Q); void EnQueue(LinkQueue *Q, ElemType x); void ShowQueue(LinkQueue *Q); void DeQueue(LinkQueue *Q); ...

  • 队列之顺序队列实现

    主要内容:队列的顺序表示方法实现,完成队列的函数方法 void InitQueue(Queue *Q); void EnQueue(Queue *Q, ElemType x); void ShowQueue(Queue *Q); void DeQueue(Queue *Q); void GetHdad(Queue *Q, Ele...

  • 队列之循环队列实现

    主要内容:循环队列的概念,以及循环队列的顺序实现

  • 串结构的定义

    主要内容:串的概念以及串结构的定义实现

  • 串结构之顺序存储实现

    主要内容:串结构之顺序存储结构实现 1、顺序结构存储理解 2、实现顺序存储串操作函数 void InitString(SString S); void PrintString(SString S); void StrAssign(SString S, char *str); void StrCopy(SString S, SString ...

  • 串结构之堆分配存储实现

    主要内容:1、对分配存储理解 2、实现堆分配串操作函数 void InitString(HString *S); void PrintString(HString *S); void StrAssign(HString *S, char *str); void StrCopy(HString *S, HString *T); bool StrEmpty(HStri...

  • 串的模式匹配算法

    主要内容:   1、模式匹配的定义理解   2、实现模式匹配算法   3、利用模式匹配算法完成替换操作   int StrIndex(SString S, SString T, int pos);   void StrReplace(SString S, SString T, SString V);

  • 矩阵的压缩存储实现

    主要内容:主要讲解数组、矩阵的概念,分析稀疏矩阵的三元组存储结构,并实现矩阵的三元组存储结构,实现方法:void CreateMatrix(SMatrix *M);void PrintMatrix(SMatrix *M);void CopyMatrix(SMatrix *M, SMatrix *T);void AddMatrix(SMatrix *M, SMatrix *N, SMat...

  • 矩阵的快速转置算法实现

    主要内容:矩阵的三元组快速转置算法实现void FastTransposeMatrix(SMatrix *M, SMatrix *T);

  • 广义表的存储及创建实现

    主要内容:广义表的概念、广义表的存储结构、以及实现广义表的创建,实现方法:void CreateGenList(GenList &gl, char *str);

  • 广义表表头分割函数算法实现

    主要内容:实现函数表头分割函数bool sever(char *sub, char *hsub),以此实现广义表的创建

  • 广义表遍历_长度_深度算法实现

    主要内容:对广义表的遍历、求长度、深度算法的分析与实现void ShowGenList(GenList &gl);bool GenListEmpty(GenList &gl);int GenListLength(GenList &gl);int GenListDepth(GenList &gl);

  • 树及二叉树之概念与性质

    主要内容:树与二叉树的概念二叉树的定义与二叉树性质的理解

  • 二叉树之二叉树的创建

    主要内容:利用不同创建方式创建二叉树 void CreateBinTree_1(BinTree *bt); void CreateBinTree_1(BinTree *bt, BinTreeNode **t); void CreateBinTree_2(BinTree *bt); void CreateBinTree_2(BinTree *bt, BinTreeNode *&t); void...

  • 二叉树之递归遍历

    主要内容:1、遍历的理解2、递归实现前序、中序、后序遍历3、借助队列结构,实现层次遍历

  • 二叉树之方法实现

    主要内容: 针对二叉树的以下方法实现 int Size(BinTree *bt); int Height(BinTree *bt); BinTreeNode* Search(BinTree *bt, ElemType key); BinTreeNode* Parent(BinTree *bt, BinTreeNode *p); BinTreeNode* LeftChild(BinTr...

  • 二叉树之非递归遍历

    主要内容:借助栈结构完成二叉树的前、中、后序的非递归实现

  • 二叉树之恢复实现(VLR_LVR_LRV)

    主要内容:1、根据前序序列和中序序列创建二叉树2、根据中序序列和后序序列创建二叉树

  • 线索化二叉树之创建

    主要内容:1、创建二叉树2、针对二叉树进行中序线索化

  • 线索化二叉树之方法实现

    主要内容:利用线索信息,完成以下方法编写 BinTreeNode* First(BinTree *bt); BinTreeNode* Last(BinTree *bt); BinTreeNode* Next(BinTree *bt, BinTreeNode *cur); BinTreeNode* Prio(BinTree *bt, BinTreeNode *cur); void InO...

  • 树与森林以及与二叉树的转换概念

    主要内容:树的存储结构、树与二叉树的转化、森林与二叉树的相互转化

  • 孩子兄弟树的实现

    主要内容:实现树的方法 void InitTree(Tree *tree,ElemType ref); void CreateTree(Tree *tree, char *str); void CreateTree(Tree *tree, TreeNode *&t, char *&str); TreeNode* Root(Tree *tree); TreeNode* FirstChild(Tree...

  • 图之图的定义与概念

    主要内容:主要讲解与图相关的概念、以及图的存储结构

  • 图之邻接矩阵表示法实现_1

    主要内容:利用矩阵方式实现图的表示,实现方法   void InitGraph(GraphMtx *g);   int GetVertexPos(GraphMtx *g, T v);   void ShowGraph(GraphMtx *g);   void InsertVertex(GraphMtx *g, T v);   void InsertEdge(GraphMtx *g, T v1, T v2);

  • 图之邻接矩阵表示法实现_2

    主要内容:利用矩阵方式实现图的表示,实现方法   void RemoveVertex(GraphMtx *g, T v);   void RemoveEdge(GraphMtx *g, T v1, T v2);   void DestroyGraph(GraphMtx *g);   int GetFirstNeighbor(GraphMtx *g, T v);   int GetNextNeighbor(GraphMtx *g, T v, T w);

  • 图之邻接表表示法实现_1

    主要内容:利用链表方式实现图的表示,实现方法   void InitGraph(GraphLnk *g);   int GetVertexPos(GraphLnk *g, T v);   void ShowGraph(GraphLnk *g);   void InsertVertex(GraphLnk *g, T v);   void InsertEdge(GraphLnk *g, T vertex1, T vertex2);

  • 图之邻接表表示法实现_2

    主要内容:利用链表方式实现图的表示,实现方法   void RemoveEdge(GraphLnk *g, T vertex1, T vertex2);   void RemoveVertex(GraphLnk *g, T vertex);   void DestroyGraph(GraphLnk *g);   int GetFirstNeighbor(GraphLnk *g, T vertex);   int GetNextNeighbor(GraphLnk *g, T vertex1, T vertex2);

  • 图之4种存储结构的比较

    主要内容:主要对邻接矩阵表示法、邻接表表示法、十字链表表示法、邻接多重表表示法进行相应信息的比较,强调出各种结构的适应场景

  • 图之深度优先遍历与广度优先遍历

    主要内容:主要讲解图的遍历方式(深度优先遍历、广度优先遍历)   实现其相应遍历函数   void DFS(GraphLnk *g, T vertex);   void DFS(GraphLnk *g, int v, bool visited[]);   void BFS(GraphLnk *g, T vertex);

  • 图之非连通图遍历以及最小生成树概念

    主要内容:主要讲解非连通图的遍历,以及最小生成树的概念实现非连通图的遍历函数void Components(GraphLnk *g);

  • 图之最小生成树Prim算法实现

    主要内容:主要讲解最小生成树的Prim算法,并在邻接矩阵的基础上实现Prim算法void MinSpanTree_Prim(GraphMtx *g, T vertex);

  • 图之最小生成树Kruskal算法实现

    主要内容:主要讲解最小生成树的Kruskal算法,并在邻接矩阵的基础上实现Kruskal算法void MinSpanTree_Kruskal(GraphMtx *g);

  • 图之拓扑排序算法实现

    主要内容:主要讲解拓扑排序的概念和用途,并在邻接表的基础上实现图的拓扑排序算法void TopologicalSort(GraphLnk *g);

  • 图之关键路径求解算法实现

    主要内容:主要讲解关键路径的概念和用途,并在邻接矩阵的基础上实现关键路劲求解算法void CriticalPath(GraphMtx *g);

  • 图之最短路径求解Dijkstra算法实现

    主要内容:主要讲解图的最短路劲概念和用途,以及分析了求解最短路劲的方法,并通过Dijkstra算法实现求解最短路径函数void ShortestPath(GraphMtx *g, T vertex, E dist[], int path[]);

  • 查找之二叉搜索树实现_1

    主要内容:   主要讲解BST树的概念,以及实现BST树的相关方法   void InitBSTree(BST *bst);   BOOL InsertBSTree(BST *bst, T x);   T Min(BST *bst);   T Max(BST *bst);   void Sort(BST *bst);

  • 查找之二叉搜索树实现_2

    主要内容:主要针对BST树,实现以下方法   BSTNode* Search(BST *bst, T key);   BOOL RemoveBSTree(BST *bst, T key);   void MakeEmptyBSTree(BST *bst);

  • 查找之AVL树概念

    主要内容:主要讲解平衡二叉树的相关概念以及其用途,并提出如何针对不平衡的二叉搜索树进行平衡化旋转

  • 查找之AVL树插入函数实现

    主要内容:主要实现AVL树的插入函数的框架搭建BOOL InsertAVL(AVLTree *avl, Type x);

  • 查找之AVL树单旋转算法实现

    主要内容:主要实现平衡化旋转函数中的单旋转函数   void RotateR(AVLNode *&ptr);   void RotateL(AVLNode *&ptr);

  • 查找之AVL树双旋转算法实现

    主要内容:主要实现平衡化旋转函数中的双旋转函数   void RotateLR(AVLNode *&ptr);   void RotateRL(AVLNode *&ptr);

  • 查找之AVL树删除算法实现_1

    主要内容:主要实现AVL树删除算法的函数框架搭建BOOL RemoveAVL(AVLTree *avl, Type key);

  • 查找之AVL树删除算法实现_2

    主要内容:主要通过旋转函数实现AVL树删除算法BOOL RemoveAVL(AVLTree *avl, Type key);

  • 查找之Hash表概念

    主要内容:主要讲解Hash表的相关概念,提出构造Hash函数的方式,以及解决冲突的方法

  • 查找之Hash表实现

    主要内容:主要通过除留余数法和链地址法实现Hash表   void InsertHashTable(HashTable &ht, ElemType x)   void ShowHashTable(HashTable &ht)   HashNode* SearchHashTable(HashTable &ht, ElemType key)   bool RemoveHashTable(HashTable &ht, ElemType key)

  • 查找之Hash表溢出桶算法实现

    主要内容:主要讲解Hash表的另一种结构,提出常用的桶结构和溢出桶结构,主要实现其插入函数int Insert_new_element(int x)

  • 排序之概述

    主要内容:主要讲解排序的相关概念、稳定与不稳定的划分,内排与外排的区分,以及排序的分类

  • 排序之插入排序_直接插入排序算法实现

    主要内容:主要讲解直接插入排序的算法与分析,实现函数void InsertSort(SqList &L, int n)

  • 排序之插入排序_折半插入排序算法实现

    主要内容:主要讲解折半插入排序的算法与分析,实现函数void BInsertSort(SqList &L, int n)

  • 排序之插入排序_2路插入排序算法实现

    主要内容:主要讲解2路插入排序的算法与分析,实现函数void TWayInsertSort(SqList &L, int n)

  • 60_排序之插入排序_表插入排序算法实现

    主要内容:主要讲解表插入排序的算法与分析,实现函数void TableInsertSort(Table &t, int n)

  • 排序之插入排序_希尔排序算法实现

    主要内容:主要讲解希尔排序的算法与分析,实现函数void ShellInsert(SqList &L, int n, int dk)

  • 排序之交换排序_冒泡排序算法实现

    主要内容:主要讲解冒泡排序的算法与分析,实现函数void BubbleSort(SqList &L, int n)

  • 排序之交换排序_快速排序算法实现

    主要内容:主要讲解快速排序的算法与分析,实现函数   void QuickSort(SqList &L, int low, int high)   int Partition(SqList &L, int low, int high)

  • 排序之选择排序_简单选择排序算法实现

    主要内容:主要讲解简单选择排序的算法与分析,实现函数   void SelectSort(SqList &L, int n)   int SelectMinKey(SqList &L, int k, int n)

  • 排序之选择排序_树形选择排序算法实现

    主要内容:主要讲解树形选择排序的算法与分析,实现函数   void TreeSelectSort(SqList &L, int n)   void Select(T e[], int n, int p)   void Play(T e[], int n, int p)

  • 排序之选择排序_堆排序算法实现

    主要啊内容:主要讲解堆排序的算法与分析,实现函数   void HeapSort(SqList &L, int n)   void siftDown(T heap[], int n, int p)

  • 排序之归并排序算法实现

    主要内容:主要讲解归并排序的算法与分析,实现函数   void MergeSort(SqList &L, SqList &TP, int left, int right)   void Merge(SqList &L, SqList &TP, int left, int mid, int right)

  • 排序之基数排序算法实现

    主要内容:主要讲解基数排序的算法与分析,实现函数   void RadixSort(SqList &L, int n)   void Distribute(SqList &L, int n, List (<)[10], int k)   void Collect(SqList &L, List(<)[10])

加载中
所属章节 资料名称 文件大小 下载
相关资料推荐

暂时还没有学习资料~

5

    1
    非常糟

    2
    很差

    3
    一般

    4
    很好

    5
    非常好

    • 0%
    • 0%
    • 0%
    • 0%
    • 0%
    加载中
    没有了哦~

    讲师介绍

    鲍松山

    鲍松山

    讲师评分:4.9

    C/C++/Linux高级讲师,4年培训经验,共培训学生600余名,培训经验丰富

    学院服务

    关注公众号领取
    免费VIP会员

    添加学院管家微信进入
    学习社群

    316382人学习过

    订阅专栏更多

    推荐图书

    7日学霸榜 有316382人与你一起学习

    课程介绍

    课程大纲

    学习资料

    学员评价

    ¥299.00

    ¥ 239.20

    课程评价

    发表客观评价,上限可得35学分(会员可得70学分)

    数据结构严蔚敏C语言版-手把手教你实现数据结构视频课程

    该课程已有 人评价

    课程与描述相符

    老师的讲解表达

    老师的答疑服务

    匿名

    在线
    客服
    在线
    客服

    下载Android客户端

    下载iphone 客户端

    关注官方微信

    返回
    顶部