数据结构和算法大学不懂。

数据结构大学生如何学习数据结构?五个上下文图

数据结构

数据结构是计算机存储和组织数据的方式。数据结构是指相互之间具有一种或多种特定关系的数据元素的集合。通常,精心选择的数据结构可以带来更高的操作或存储效率。

相关术语

在数据结构与算法中,有些同学不理解数据、数据对象、数据元素、数据项之间的关系。通过绘画来描边:

数据的三个要素

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

数据结构学习步骤

单链表的设计与实现(领导节点和非领导节点)(添加、删除、更改),以及双链表的设计与实现。

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

第二,学习树的概念,第二,递归和非递归地遍历前序、中序和后序,遍历序列。

二维排序树(插入和删除)的设计与实现

堆(优先级队列,堆排序)

AVL(平衡)树的设计和实现(四种旋转方式的理解和实现)

伸展树和红黑树原理的概念理解

理解B and B+原理的概念

霍夫曼树原理(贪婪策略)的概念理解

理解哈希(哈希表)原理的概念(解决哈希冲突的几种方法)

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

图论拓扑排序

图论dfs深度优先遍历和bfs广度优先遍历。

最短路径Diikstra算法,Floyd算法,spfa算法。

最小生成树Prim算法和kruskal算法

其他数据结构,线路树,后缀数组等。

经典算法学习步骤

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

二进位检索

分治算法(快速排序、合并排序、寻找最近点等价问题)

贪婪算法(广泛应用,区间选择问题,区间覆盖问题)

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

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

bit操作常见问题(参考剑指献与LeetCode问题)

快速乘幂算法(快速乘幂,快速矩阵乘幂)

Kmp和其他字符串匹配算法

所有其他数论算法(欧几里德,扩展欧几里德,中国剩余定理等。)