Java教程

数据结构与算法

本文主要是介绍数据结构与算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据结构

  • 单链表(带头结点、不带头结点)设计与实现(增删改查),双链表设计与实现
  • 栈设计与实现(数组和链表),队列设计与实现(数组和链表)
  • 二叉树概念学习,二叉树前序、中序、后序遍历递归、非递归实现 ,层序遍历
  • 二叉排序树设计与实现(插入删除)
  • 堆(优先队列、堆排序)
  • AVL(平衡)树设计与实现(四种自旋方式理解实现)
  • 伸展树、红黑树原理概念
  • B、B+原理概念
  • 哈夫曼树原理概念(贪心策略)
  • 哈希(散列表)原理概念(几种解决哈希冲突方式)
  • 并查集/不相交集合(优化和路径压缩)
  • 图论拓扑排序
  • 图论dfs深度优先遍历、bfs广度优先遍历
  • 最短路径Dijkstra算法、Floyd算法、spfa算法
  • 最小生成树prim算法、kruskal算法
  • 其他数据结构线段树、后缀数组等

经典算法

  • 递归算法(求阶乘、斐波那契、汉诺塔问题)
  • 二分查找
  • 分治算法(快排、归并排序、求最近点对等问题)
  • 贪心算法(使用较多,区间选点问题,区间覆盖问题)
  • 常见动态规划(LCS(最长公共子序列) LIS(最长上升子序列)背包问题等等)
  • 回溯算法(经典八皇后问题、全排列问题)
  • 位运算常见问题(参考剑指offer和LeetCode问题)
  • 快速幂算法(快速求幂乘、矩阵快速幂)
  • kmp等字符串匹配算法
  • 一切其他数论算法(欧几里得、拓展欧几里得、中国剩余定理等等)
这篇关于数据结构与算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!