从零开始学习算法-概述
写在最前面:开始算法的学习,基本的学习顺序如下:
数据结构部分:花费3天时间,将基本的数据结构了解一下,包括C++和python的实现代码。
算法部分:根据AcWing的视频进行学习,整理好模板
题目部分:在学习后进行刷题,整理题型和优解
下面介绍一下学习的整体框架,为后面具体的学习和实践打好基础。
数据结构的基本概念
基本概念和术语

数据结构三要素

算法和算法评价

注:算法是求解问题的一种步骤描述,但是一个问题往往有很多解法,对此要学会对算法进行优化。在实际的算法比赛里也是根据通过的数据量判断成绩,所以算法的效率很关键。
线性表
线性表的定义

基本操作

注:对于算法的代码实现时,函数的命名要有具体含义,便于理解。
线性表的顺序表示
顺序表的定义

顺序表的基本操作

线性表的链式表示
单链表



双链表

循环链表

静态链表

顺序表与链表比较


栈
栈的基本概念

栈的顺序存储结构

栈的链式存储结构

队列
队列的基本概念

队列的顺序存储结构

队列的链式存储结构

双端队列

树
树的基本概念
树的定义

基本术语

树的性质

二叉树
定义与主要特性

二叉树的存储结构

图
图的定义

图的存储与基本结构

图的遍历

图的应用


散列表
散列表的基本概念

散列函数的构造

写在最后:上面只是对数据结构进行一些基本的介绍和整理,在整体上有一个印象。还需要深入的学习和实践才可以真正掌握。同时数据结构是算法的基础,要在掌握基本数据结构的基础上进行算法的学习和实践。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Qidangge的小小世界!



