- 浏览: 428850 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
代码如下:
运行结果如下:
package com.chapterOne.exercise; import java.util.LinkedList; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; /** * Created by yangjianzhou on 2014/8/18 21:36. * TODO :给定一个大小为N*M的迷宫,迷宫由通道和墙壁组成,每一步可以向邻接的上下左右四 * 格的通道移动。求从起点到终点所需的最小步数。 */ public class Maze { private static final int INF = 100000; private static final int N = 10; private static final int M = 10; private static char[][] mazeMatrix = { {'#', 'S', '#', '#', '#', '#', '#', '#', 'o', '#'}, {'o', 'o', 'o', 'o', 'o', 'o', '#', 'o', 'o', '#'}, {'o', '#', 'o', '#', '#', 'o', '#', '#', 'o', '#'}, {'o', '#', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o'}, {'#', '#', 'o', '#', '#', 'o', '#', '#', '#', '#'}, {'o', 'o', 'o', 'o', '#', 'o', 'o', 'o', 'o', '#'}, {'#', '#', '#', '#', '#', '#', '#', '#', 'o', '#'}, {'o', 'o', 'o', '#', 'o', 'o', 'o', 'o', 'o', 'o'}, {'o', '#', '#', '#', '#', 'o', '#', '#', '#', 'o'}, {'o', 'o', 'o', 'o', '#', 'o', 'o', 'o', 'G', '#'} }; ; private static int xs = 0; private static int ys = 1; private static int xe = 9; private static int ye = 8; private static int[][] distance = new int[N][M]; private static int[] xd = {1, 0, -1, 0}; private static int[] yd = {0, 1, 0, -1}; public static void main(String[] args) { initDistance(); Maze maze = new Maze(); int dis = maze.bfs(); System.out.println("shortest length is : " + dis); printDistance(); } private int bfs() { Queue<Point> que = new ConcurrentLinkedQueue<Point>(); que.add(new Point(xs, ys)); distance[xs][ys] = 0; while (que.size() > 0) { Point point = que.poll(); if (point.getX() == xe && point.getY() == ye) { break; } for (int i = 0; i < 4; i++) { int xp = point.getX() + xd[i]; int yp = point.getY() + yd[i]; if (0 <= xp && xp < N && 0 <= yp && yp < M && mazeMatrix[xp][yp] != '#' && distance[xp][yp] == INF) { que.add(new Point(xp, yp)); distance[xp][yp] = distance[point.getX()][point.getY()] + 1; } } } return distance[xe][ye]; } private static void initDistance() { for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { distance[i][j] = INF; } } } private static void printDistance() { for (int i = 0; i < N; i++) { System.out.println(); for (int j = 0; j < M; j++) { System.out.print("\t\t" + distance[i][j]); } } } class Point { int x; int y; public Point(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public int getY() { return y; } public void setX(int x) { this.x = x; } public void setY(int y) { this.y = y; } } }
运行结果如下:
shortest length is : 22 100000 0 100000 100000 100000 100000 100000 100000 13 100000 2 1 2 3 4 5 100000 13 12 100000 3 100000 3 100000 100000 6 100000 100000 11 100000 4 100000 4 5 6 7 8 9 10 11 100000 100000 5 100000 100000 8 100000 100000 100000 100000 8 7 6 7 100000 9 10 11 12 100000 100000 100000 100000 100000 100000 100000 100000 100000 13 100000 100000 100000 100000 100000 18 17 16 15 14 15 100000 100000 100000 100000 100000 18 100000 100000 100000 16 100000 100000 100000 100000 100000 19 20 21 22 100000
发表评论
-
spring boot应用测试框架介绍
2018-07-19 14:44 753个人原创博客:spring boot应用测试框架介绍 -
可执行jar包的配置与运行
2017-06-04 19:42 1008spring boot项目可以以jar包的形式执行运行。s ... -
多线程并发
2016-05-21 23:49 0Splitter.on('|').trimResults(). ... -
jdk动态代理实现原理
2016-05-09 23:12 775jdk的动态代理即使用反射来实现,具体由Proxy、Invoc ... -
spring常见注解
2016-05-01 23:33 12321.Autowired 通过spring的依赖注入功能来 ... -
spring常见配置作用
2016-04-29 23:08 936一般应用中常见spring的 ... -
数据来自两个系统时的内存分页算法
2016-04-24 23:12 843业务数据来自a-app与b-app,其中a-app中数据的业务 ... -
linux下java web开发环境搭建
2016-04-10 14:09 1134一般的java web开发涉及到的开发工具有:jdk、tomc ... -
linux下md5sum和DigestUtils.md5Hex的关系
2015-12-19 22:30 8525本文对linux下md5sum命令和java中DigestUt ... -
基于jersey的web service
2015-11-22 22:55 1010本文是基于jersey的web service 的两个小例子, ... -
面试总结----spring
2015-05-19 22:17 912spring在面试中经常被 ... -
面试总结----多线程
2015-05-18 22:10 899面试过程中,多线程被问到的概率非常大,差不多都会问的。 下面 ... -
面试总结----java虚拟机
2015-05-17 23:20 741在面试过程中,java虚拟机被问到的概率非常大,应该是每场面试 ... -
面试总结----java集合
2015-05-17 11:57 677春节刚过,打算换一份工作,于是就开始了一段准备面试的生活,准备 ... -
json串与对象之间转换的几种实现方式
2015-01-24 18:56 1878这里使用了gson,fastjson,jackson,json ... -
google关于事件的生产者消费者模式实现例子
2015-01-24 11:28 976google使用生产者/消费者模式实现了事件的产生传播处理过程 ... -
图形化显示---冒泡排序
2014-12-05 22:17 917代码: package com.thread.singal ... -
多线程----wait/notify
2014-11-06 22:06 687线程同步:两个线程依次对同一变量进行操作。 packag ... -
多线程-----阻塞队列
2014-11-05 22:43 851使用一个线程将一个指定目录下面的所有文件放在一个阻塞队列中,用 ... -
深度优先遍历------部分和问题
2014-08-15 20:15 518代码如下: package com.chapterO ...
相关推荐
"迷宫最短路径算法(dfs)" 迷宫最短路径问题是一个典型的搜索、遍历问题,程序设计思想在人工智能设计、机器人设计等事务中均有应用。该问题可以表述为:寻找从某一个给定的起始单元格(迷宫入口)出发,经由行...
本主题聚焦于使用Java实现求解迷宫最短路径的算法。在给定的压缩包中,包含两个文件:ShortPath.java和Position.java,它们分别代表了核心算法和坐标位置的数据结构。 首先,`Position.java`文件可能定义了一个类,...
### 迷宫最短路径算法 #### 一、引言 迷宫最短路径问题是一个典型的搜索问题,广泛应用于人工智能设计、机器人设计等领域。本文针对迷宫最短路径问题,介绍了一种新颖的算法,该算法相较于传统的深度优先搜索...
从给定的代码片段来看,这是一段使用C语言实现迷宫最短路径求解的程序,主要通过队列(Queue)与栈(Stack)的数据结构来完成算法的设计与实现。下面将对这段代码涉及的关键知识点进行详细解析。 ### C语言中的数据...
在IT领域,迷宫最短路径寻径算法是计算机科学中的一个重要话题,它涉及到图论、数据结构和算法设计。本项目聚焦于使用C++语言实现一个能够展示迷宫及最短路径的程序,允许用户自定义迷宫。其中,核心算法可能是A*(A...
在matlab虚拟环境,找到迷宫的最短路径
迷宫最短路径问题是一个典型的应用,涉及到数据结构如图和队列,以及算法如广度优先搜索(BFS)。这里我们将深入探讨这两个核心概念。 首先,数据结构是组织和存储数据的方式,以便更有效地进行访问和操作。在解决...
二维迷宫最短路径求解是计算机科学中的一个重要问题,主要涉及到算法设计和实现。在这个问题中,我们通常会利用图论和搜索算法来寻找从起点到终点的最短路径。VC(Visual C++)是一种常用的编程环境,用于编写控制台...
在IT领域,迷宫最短路径搜索是一种常见的问题,它涉及到算法设计与实现,特别是对于游戏开发、路径规划和网络寻径等应用。本项目采用C++编程语言,结合图形界面,提供了一种直观的方式来展示和解决这类问题。以下是...
本文将深入探讨“迷宫最短路径”这一主题,主要围绕如何找到从起点到终点的最短路径。 迷宫可以被视为一个二维网格,其中每个单元格代表一个节点,可以是可通行的空地或障碍物。迷宫问题的目标是从起点(通常标记为...
描述: 设计一个算法找一条从迷宫入口到出口的最短路径。 输入: 迷宫的行和列m n 迷宫的布局 输出: 最短路径 输入样例: 请输入迷宫的行和列:6 8 请输入迷宫的布局: 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1...
Eclipse下C++迷宫最短路径骨干程序,不完整
迷宫 最短路径 的C代码 算得上是有图形的
本项目以C#编程语言实现了一个迷宫小程序,能够自动寻找迷宫的入口和出口路径,并计算出最短路径。下面我们将详细探讨相关的知识点。 1. **C#编程语言**: C#是一种面向对象的、类型安全的编程语言,由微软开发并...
### 数据结构用队列求迷宫最短路径 #### 知识点概述 本文将详细介绍如何使用队列这种数据结构来解决迷宫最短路径问题。该方法利用广度优先搜索(BFS)策略,通过队列存储迷宫中的各个位置,并记录下每个位置的前驱...
根据给定的信息,本文将详细解释迷宫最短路径问题,并深入探讨其实现方式与算法原理。 ### 迷宫最短路径问题概述 在计算机科学领域,迷宫最短路径问题是一个经典的数据结构实验课题。它涉及到寻找一个二维网格迷宫...
《迷宫最短路径A*算法的C++实现详解》 在计算机科学中,寻找迷宫中的最短路径是一项常见的任务,A*算法是解决此类问题的高效算法之一。A*算法结合了最佳优先搜索(如Dijkstra算法)和启发式搜索策略,能够在保证...
"迷宫最短路径数据结构源码实验报告.pdf" 本实验报告主要关注迷宫最短路径问题的解决方案,通过数据结构和算法来实现迷宫最短路径的寻找。实验报告包括实验目的、实验要求、实现提示、算法设计、需求分析和概要设计...
给出一个迷宫 2维数组 求解迷宫的最短路径问题 例如 int mg[10][10]= { {1,1,1,1,1,1,1,1,1,1}, {1,0,0,1,0,0,0,1,0,1}, {1,0,0,1,0,0,0,1,0,1}, {1,0,0,0,0,1,1,0,0,1}, {1,0,1,1,1,0,0,0,0,1}, {1,0,0,0,...