数据结构与算法大学没学明白的来
数据结构大学生怎么学数据结构?五大脉络图
数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。
相关术语
在数据结构与算法中,数据、数据对象、数据元素、数据项有一些同学搞不懂其中的关系。通过画一张图来捋一捋:
数据三要素
数据结构三要素分为:逻辑结构、存储结构、数据的运算。逻辑结构分为线性结构和非线性结构;存储结构分为顺序存储、链式存储、索引存储、散列存储:数据运算包括定义和实现。
数据结构学习步骤
单链表(带头结点、不带头结点)设计与实现(增删改查),双链表设计与实现
栈设计与实现(数组和链表),队列设计与实现(数组和链表)
二又树概念学习,二又树前序、中序、后序遍历递归、非递归实现 ,层序遍历
二又排序树设计与实现(插入删除)
堆(优先队列、堆排序)
AVL(平衡)树设计与实现(四种自旋方式理解实现)
伸展树、红黑树原理概念理解
B、B+原理概念理解
哈夫曼树原理概念理解(贪心策略)
哈希(散列表)原理概念理解(几种解决哈希冲突方式)
并查集/不相交集合(优化和路径压缩)
图论拓扑排序
图论dfs深度优先遍历、bfs广度优先遍历
最短路径Diikstra算法、Floyd算法、spfa算法
最小生成树prim算法、kruskal算法
其他数据结构线段树、后缀数组等等
经典算法学习步骤
递归算法(求阶乘、斐波那契、汉诺塔问题)
二分查找
分治算法(快排、归并排序、求最近点对等问题)
贪心算法(使用较多,区间选点问题,区间覆盖问题)
常见动态规划(LCS(最长公共子序列) LIS(最长上升子序列)背包问题等等
回溯算法(经典八皇后问题、全排列问题)
位运算常见问题(参考剑指offer和LeetCode问题)
快速幂算法(快速求幂乘、矩阵快速幂)
kmp等字符串匹配算法
一切其他数论算法(欧几里得、拓展欧几里得、中国剩余定理等等)
2024-11-30 广告