从零开始学习算法-概述
写在最前面:开始算法的学习,基本的学习顺序如下:
数据结构部分:花费3天时间,将基本的数据结构了解一下,包括C++和python的实现代码。
算法部分:根据AcWing的视频进行学习,整理好模板
题目部分:在学习后进行刷题,整理题型和优解
下面介绍一下学习的整体框架,为后面具体的学习和实践打好基础。
数据结构的基本概念
基本概念和术语
数据结构三要素
算法和算法评价
注:算法是求解问题的一种步骤描述,但是一个问题往往有很多解法,对此要学会对算法进行优化。在实际的算法比赛里也是根据通过的数据量判断成绩,所以算法的效率很关键。
线性表
线性表的定义
基本操作
注:对于算法的代码实现时,函数的命名要有具体含义,便于理解。
线性表的顺序表示
顺序表的定义
顺序表的基本操作
线性表的链式表示
单链表
双链表
循环链表
静态链表
顺序表与链表比较
栈
栈的基本概念
栈的顺序存储结构
栈的链式存储结构
队列
队列的基本概念
队列的顺序存储结构
队列的链式存储结构
双端队列
树
树的基本概念
树的定义
基本术语
树的性质
二叉树
定义与主要特性
二叉树的存储结构
图
图的定义
图的存储与基本结构
图的遍历
图的应用
散列表
散列表的基本概念
散列函数的构造
写在最后:上面只是对数据结构进行一些基本的介绍和整理,在整体上有一个印象。还需要深入的学习和实践才可以真正掌握。同时数据结构是算法的基础,要在掌握基本数据结构的基础上进行算法的学习和实践。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Qidangge的小小世界!