Java基础

1.容器*

《Java常用的一些容器》,作者:朝向远方,来源:博客园

2.图

2.1存储方式*

无所谓性能:邻接矩阵(数组)
高校存储:邻接表(链表)

2.2遍历方式*

BFS广度优先遍历:利用队列,用来求非带权单源最短路径
DFS深度优先遍历:递归

2.3最小生成树(求最少边的连通子树)

Prim
Kruskal

2.4最短路径*

djkstra:正权值有向图

3.4.1 Floyd

  • 正负有无向图,但不能有带负权值的回路
  • 思路:用邻接矩阵表示初始的距离,每两点的距离都是直连距离,连自己为0,无连线的为无穷大;每次找中转站,如果加入了中转站距离变短,那么两点之间的距离就更新。
  • 材料:三重循环、2个二维数组
  • 易错点:无穷大的那个数字设置得不对

3.DP(动态规划)

状态压缩DP
普通DP:暴力递归(容易超时),用数组保留中间结果进行DP,滚动数组(空间复杂度很低)
根据目前做过的题目来看,动态规划一般是求最好的结果的问题、从前往后推的问题(用树可以表示)

posted @ 2022-01-14 17:05  猪猪猪猪侠  阅读(20)  评论(0编辑  收藏  举报