数据结构与算法大学没学明白的来

如题所述

数据结构大学生怎么学数据结构?五大脉络图

数据结构

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

相关术语

在数据结构与算法中,数据、数据对象、数据元素、数据项有一些同学搞不懂其中的关系。通过画一张图来捋一捋:

数据三要素

数据结构三要素分为:逻辑结构、存储结构、数据的运算。逻辑结构分为线性结构和非线性结构;存储结构分为顺序存储、链式存储、索引存储、散列存储:数据运算包括定义和实现。

数据结构学习步骤

单链表(带头结点、不带头结点)设计与实现(增删改查),双链表设计与实现

栈设计与实现(数组和链表),队列设计与实现(数组和链表)

二又树概念学习,二又树前序、中序、后序遍历递归、非递归实现 ,层序遍历

二又排序树设计与实现(插入删除)

堆(优先队列、堆排序)

AVL(平衡)树设计与实现(四种自旋方式理解实现)

伸展树、红黑树原理概念理解

B、B+原理概念理解

哈夫曼树原理概念理解(贪心策略)

哈希(散列表)原理概念理解(几种解决哈希冲突方式)

并查集/不相交集合(优化和路径压缩)

图论拓扑排序

图论dfs深度优先遍历、bfs广度优先遍历

最短路径Diikstra算法、Floyd算法、spfa算法

最小生成树prim算法、kruskal算法

其他数据结构线段树、后缀数组等等

经典算法学习步骤

递归算法(求阶乘、斐波那契、汉诺塔问题)

二分查找

分治算法(快排、归并排序、求最近点对等问题)

贪心算法(使用较多,区间选点问题,区间覆盖问题)

常见动态规划(LCS(最长公共子序列) LIS(最长上升子序列)背包问题等等

回溯算法(经典八皇后问题、全排列问题)

位运算常见问题(参考剑指offer和LeetCode问题)

快速幂算法(快速求幂乘、矩阵快速幂)

kmp等字符串匹配算法

一切其他数论算法(欧几里得、拓展欧几里得、中国剩余定理等等)

温馨提示:答案为网友推荐,仅供参考