数据结构和算法大学不懂。
数据结构
数据结构是计算机存储和组织数据的方式。数据结构是指相互之间具有一种或多种特定关系的数据元素的集合。通常,精心选择的数据结构可以带来更高的操作或存储效率。
相关术语
在数据结构与算法中,有些同学不理解数据、数据对象、数据元素、数据项之间的关系。通过绘画来描边:
数据的三个要素
数据结构的三要素分为逻辑结构、存储结构和数据操作。逻辑结构分为线性结构和非线性结构;存储结构分为顺序存储、链式存储、索引存储和散列存储。数据操作包括定义和实现。
数据结构学习步骤
单链表的设计与实现(领导节点和非领导节点)(添加、删除、更改),以及双链表的设计与实现。
堆栈设计和实现(数组和链表),队列设计和实现(数组和链表)
第二,学习树的概念,第二,递归和非递归地遍历前序、中序和后序,遍历序列。
二维排序树(插入和删除)的设计与实现
堆(优先级队列,堆排序)
AVL(平衡)树的设计和实现(四种旋转方式的理解和实现)
伸展树和红黑树原理的概念理解
理解B and B+原理的概念
霍夫曼树原理(贪婪策略)的概念理解
理解哈希(哈希表)原理的概念(解决哈希冲突的几种方法)
并集/不交集(优化和路径压缩)
图论拓扑排序
图论dfs深度优先遍历和bfs广度优先遍历。
最短路径Diikstra算法,Floyd算法,spfa算法。
最小生成树Prim算法和kruskal算法
其他数据结构,线路树,后缀数组等。
经典算法学习步骤
递归算法(阶乘、斐波那契、汉诺塔问题)
二进位检索
分治算法(快速排序、合并排序、寻找最近点等价问题)
贪婪算法(广泛应用,区间选择问题,区间覆盖问题)
常见的动态规划(LCS(最长公共子序列)LIS(最长上升子序列)背包问题等等。
回溯算法(经典的八皇后问题,全排列问题)
bit操作常见问题(参考剑指献与LeetCode问题)
快速乘幂算法(快速乘幂,快速矩阵乘幂)
Kmp和其他字符串匹配算法
所有其他数论算法(欧几里德,扩展欧几里德,中国剩余定理等。)