当前位置: 首页 > news >正文

第二十八天

一、核心知识点梳理

1. 图的定义与本质:由顶点(Vertex)和边(Edge)组成的非线性数据结构,用于描述多对多的关联关系(区别于树的父子层级关系)。
2. 关键概念区分:

  • 有向图(边带方向,如社交软件的关注关系) vs 无向图(边无方向,如朋友关系);
  • 加权图(边含权重,如地图路径距离) vs 无权图;
  • 连通图(任意两顶点可达) vs 非连通图,环(顶点到自身的边)、度(顶点关联的边数)。
    3. 存储方式(重点):
  • 邻接矩阵:二维数组  graph[i][j]  表示顶点i与j的关联(有权值则存权重,无则存0/1),优点是查询快,缺点是空间复杂度O(n²)(n为顶点数);
  • 邻接表:数组+链表/ArrayList,数组存顶点,链表存该顶点的邻接顶点,优点是空间高效,适合稀疏图,缺点是查询需遍历链表。
    4. 核心算法(含代码思路):
  • 遍历算法:
  • 深度优先搜索(DFS):递归/栈实现,“一条路走到底再回溯”,适合路径查找、连通性判断;
    代码框架(邻接表): void dfs(int v, boolean[] visited) { visited[v] = true; for (int neighbor : adj[v]) { if (!visited[neighbor]) dfs(neighbor, visited); } }
  • 广度优先搜索(BFS):队列实现,“逐层遍历”,适合最短路径(无权图)、层级遍历;
    代码框架(邻接表): Queue q = new LinkedList<>(); q.add(start); visited[start] = true; while (!q.isEmpty()) { int v = q.poll(); for (int neighbor : adj[v]) { if (!visited[neighbor]) { visited[neighbor] = true; q.add(neighbor); } } }
  • 最短路径:迪杰斯特拉算法(加权图,无负权边)、弗洛伊德算法(多源最短路径)。

二、实践案例与问题

1. 动手实现:用Java实现无向图的邻接表存储,完成DFS和BFS遍历(顶点为整数,边通过addEdge方法添加)。
2. 遇到的问题:

  • 递归实现DFS时,顶点编号从0还是1开始容易混淆,需统一初始化逻辑;
  • BFS中队列的入队时机需配合visited数组,避免重复访问。
    3. 解决方案:定义顶点编号从0开始,初始化visited数组时长度与顶点数一致;入队前先标记visited为true,防止同一顶点多次入队。

三、总结与明日计划

1. 今日收获:明确图的应用场景(地图导航、社交网络、拓扑排序),掌握两种存储方式的优缺点及适用场景,能独立写出DFS和BFS的核心代码。
2. 待巩固点:加权图的存储的实现、迪杰斯特拉算法的代码落地。

http://www.jsqmd.com/news/37785/

相关文章:

  • 当世人 逐渐将英雄遗忘 我最终展露了疯狂 与烧灼许久的欲望 已无人描绘 我的画像
  • 关于IP、TCP、UDP的校验和计算
  • 元叙事提示注入:突破AI安全边界的攻击技术
  • 【计算机网络表格图表解析】网络体系结构、资料链路层、网络层、传输层、应用层、网络安全、故障排查
  • PWM妙用:解锁LED亮度调节与呼吸灯的LuatOS开发之旅
  • python项目跟练 外星人入侵 01 3个位置
  • ONES 重磅升级|全新内核,深度可配置,适配复杂业务流
  • 类的继承
  • CUDA安装注意事项
  • 豆包Seed-Coder编程能力小试
  • 数据类型 标识符 键盘录入
  • 102302145 黄加鸿 数据采集与融合技术作业2
  • 2025-11-11 早报新闻
  • 详细介绍:Spring Boot
  • echarts获取坐标上的点距离顶部底部高度
  • K8S(九)—— Kubernetes持久化存储深度解析:从Volume到PV/PVC与StorageClass动态存储 - 教程
  • JAVA 随机函数
  • GPIO 也是一个接口,还有 QEMU GPIODEV 和 GUSE - 指南
  • Air780EPM系列低功耗模组USB设计进阶:硬件要点与LuatOS API开发赋能
  • 如何项目管理软件中计算预算?
  • Kimi会员双11砍价成功!0.99元首月链接分享
  • 实用指南:【Qt】9.信号和槽_信号和槽存在的意义
  • DI依赖注入
  • 解码LVGL定时器
  • ORACLE解析游标生成JSON
  • 习题解析之:鸡兔同笼
  • 如何选择锡林郭勒西林瓶灌装旋盖机?环境温湿度要求详解
  • DeepSeek权威测评榜单2025年11月最新geo优化公司推荐
  • ECB33-PGB2N4E32-I单板机智能交通监控应用方案解析
  • 北京GEO优化服务商2025权威推荐:抢占AI搜索流量新入口