- 浏览: 30250 次
- 性别:
- 来自: 杭州
文章分类
最新评论
class Triangle {
private int[][] num;
private int lineNums;
private int[][] lineTotal;
public Triangle(int num) {
this.lineNums = num;
init();
}
private void init() {
System.out.println("请输入金字塔数字:");
Scanner s = new Scanner(System.in);
lineTotal = new int[lineNums][lineNums];
num = new int[lineNums][lineNums];
for (int i = 0; i < lineNums; i++) {
for (int j = 0; j <= i; j++) {
num[i][j] = s.nextInt();
}
}
}
/**
* 从TOP TO BUTTOM进行遍历
*/
public void track() {
lineTotal[0][0] = num[0][0];
int left = 0;
int right = 0;
int leftTotal = 0;
int rightTotal = 0;
int maxIndex = 0;
for (int i = 1; i < 4; i++) {
maxIndex = i - 1;
for (int j = 0; j <= i; j++) {
left = j - 1;
right = left + 1;
if (left <= maxIndex && left > -1) {
leftTotal = lineTotal[i-1][left] + num[i][j];
} else { //如果左结点不在则认为不可达
leftTotal = Integer.MAX_VALUE;
}
if (right <= maxIndex) {
rightTotal = lineTotal[i-1][right] + num[i][j];
} else { //同左结点
rightTotal = Integer.MAX_VALUE;
}
lineTotal[i][j] = leftTotal < rightTotal ? leftTotal : rightTotal;
System.out.println("i=" + i + ", j=" + j + " is " + lineTotal[i][j]);
}
}
}
public void getMinSum() {
int min = Integer.MAX_VALUE;
for (int i = 0; i < 4; i++) {
if (min > lineTotal[3][i]) {
min = lineTotal[3][i];
}
}
System.out.println("top to button 最短路径:" + min);
}
}
控制台输入输出显示:
请输入金字塔数字:
2
3 4
6 5 7
4 1 8 3
i=1, j=0 is 5
i=1, j=1 is 6
i=2, j=0 is 11
i=2, j=1 is 10
i=2, j=2 is 13
i=3, j=0 is 15
i=3, j=1 is 11
i=3, j=2 is 18
i=3, j=3 is 16
top to button 最短路径:11
private int[][] num;
private int lineNums;
private int[][] lineTotal;
public Triangle(int num) {
this.lineNums = num;
init();
}
private void init() {
System.out.println("请输入金字塔数字:");
Scanner s = new Scanner(System.in);
lineTotal = new int[lineNums][lineNums];
num = new int[lineNums][lineNums];
for (int i = 0; i < lineNums; i++) {
for (int j = 0; j <= i; j++) {
num[i][j] = s.nextInt();
}
}
}
/**
* 从TOP TO BUTTOM进行遍历
*/
public void track() {
lineTotal[0][0] = num[0][0];
int left = 0;
int right = 0;
int leftTotal = 0;
int rightTotal = 0;
int maxIndex = 0;
for (int i = 1; i < 4; i++) {
maxIndex = i - 1;
for (int j = 0; j <= i; j++) {
left = j - 1;
right = left + 1;
if (left <= maxIndex && left > -1) {
leftTotal = lineTotal[i-1][left] + num[i][j];
} else { //如果左结点不在则认为不可达
leftTotal = Integer.MAX_VALUE;
}
if (right <= maxIndex) {
rightTotal = lineTotal[i-1][right] + num[i][j];
} else { //同左结点
rightTotal = Integer.MAX_VALUE;
}
lineTotal[i][j] = leftTotal < rightTotal ? leftTotal : rightTotal;
System.out.println("i=" + i + ", j=" + j + " is " + lineTotal[i][j]);
}
}
}
public void getMinSum() {
int min = Integer.MAX_VALUE;
for (int i = 0; i < 4; i++) {
if (min > lineTotal[3][i]) {
min = lineTotal[3][i];
}
}
System.out.println("top to button 最短路径:" + min);
}
}
控制台输入输出显示:
请输入金字塔数字:
2
3 4
6 5 7
4 1 8 3
i=1, j=0 is 5
i=1, j=1 is 6
i=2, j=0 is 11
i=2, j=1 is 10
i=2, j=2 is 13
i=3, j=0 is 15
i=3, j=1 is 11
i=3, j=2 is 18
i=3, j=3 is 16
top to button 最短路径:11
发表评论
-
NIO 简单实现的服务端和客户端通信
2015-06-29 11:35 685服务端代码如下: import java.io.IOExcep ... -
aaaaaaaaaaaa
2014-08-30 09:01 0111111111111111 -
struts2与checkbox的关系
2014-03-25 15:35 623Struts2 框架对checkbox的处理 1、 对于htm ... -
doc命令之关机管理
2014-03-21 09:26 686@echo off set /p p=是否关机(1:关机 2: ... -
汉诺塔递归算法
2014-03-15 10:49 580class Hanio { private int st ... -
回溯算法之八皇后
2014-03-13 13:27 607public class EightQueens { ... -
xml的基本学习
2014-03-04 15:17 8771、 XML的概念 允许开发 ... -
软件生命三大测试的概念和区别
2014-02-17 22:01 0根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和 ... -
Session处理同账号管理
2013-10-22 17:19 772首先使用HttpSessionAttributeListene ... -
线程概念
2013-03-20 21:06 0线程对可共享的、可改变的状态变量进行访问,需要实现协同,否则数 ... -
KMP算法
2013-03-20 14:10 919package zl.character.compare; ... -
parseInt惹的祸
2013-03-04 17:57 812今天项目在实施的过程中,出现了让我懊恼的事情: 卡的金额读不出 ... -
Unable to retrieve metadata for procedure
2013-03-01 13:51 3911第一次用jdbc调用mysql存储过程的过程中犯了一个严重的错 ... -
JDK动态代理和CGLIB动态代理的学习
2012-10-08 17:25 0JDK动态代理是基于java.lang.reflect.Pro ... -
log4j输出spring框架的信息
2012-10-08 17:00 0log4j.logger.org.springframewor ... -
ReadWriteLock多线程下操作
2012-09-06 17:45 999ReadWriteLock是实现多线程环境下同步的一种方式。与 ... -
WIN7 BCompare 启动应用程序发生错误
2012-08-24 11:26 1121WIN7下寻找: 把C:\用户\[用户名]\AppData\S ... -
ant
2012-08-24 11:15 0当使用-jar执行可执行Jar包时,JVM将Jar包所在目录设 ... -
java 学习
2012-08-14 21:18 626使用final声明的类不能有子类 使用final声明的方法不能 ... -
spring框架后处理器的学习
2012-07-27 09:22 730spring框架对容器管理bean和容器本身提供了额外增强功能 ...
相关推荐
斐波那契堆是一种合并友好的堆数据结构,常用于实现高效的最短路径算法,如Dijkstra算法或Floyd-Warshall算法。 此外,金字塔数据结构可能与图像处理或数据分析有关,比如在图像金字塔中,原始图像被降采样多次,...
- A*算法保证找到最短路径的条件是启发函数必须满足“允许性”(即h(n) ≤ 实际从n到目标的成本)和“一致性”(对于任意两个相邻节点n和m,h(n) ≤ cost(n,m) + h(m))。 - 高效性和可扩展性强,适用于多种应用...
6. **最短路径问题**:图像分割中经常涉及到寻找像素之间的最短路径。4通路和8通路分别指的是在4个相邻像素和8个相邻像素之间寻找最短路径。试题中还提到了m通路,这是更一般的情况,可能涉及到更多方向的连接。 7....
- **最短路径问题**:如Floyd-Warshall算法解决所有顶点对之间的最短路径,Dijkstra算法和Bellman-Ford算法解决单源最短路径问题。 4. **动态规划设计流程**: - **定义状态**:确定影响问题解的关键变量。 - **...
A*搜索算法是一种在图中寻找最短路径的算法,它结合了最佳优先搜索和Dijkstra算法的优点,通过评估函数来估算从当前节点到目标节点的代价,从而决定下一个访问的节点。A*算法广泛应用于路径查找和图遍历问题,尤其是...
5. **图论问题**:图论在算法中占有重要地位,包括最短路径问题(Dijkstra算法、Floyd-Warshall算法)、最小生成树(Prim算法、Kruskal算法)、拓扑排序和网络流问题等。这些算法在解决网络规划、资源分配等问题时...
地球表面两点间的最短路径不是直线,而是两点所在大圆的劣弧。在M点飞到N点的问题中,由于两点都在60°N纬线上,最短航程是先向东北飞,然后向东南飞,这是因为在同纬度的大圆航线上,航向改变能缩短飞行距离。 ...
该算法的基本思想是逐步扩展搜索范围,直到找到所有像素的最短路径。 **2. 高效逐行扫描算法**:这类算法基于逐行扫描图像,利用预先计算的表格来加速计算过程。这种方法适用于较大的图像尺寸,可以显著提高计算...
14. 圆柱与曲线最短路径:第十四题是一个实际应用问题,利用圆柱的几何特性,求解最短路径,需要理解圆柱侧面积和曲线长度的关系。 15. 圆的切线性质与角度计算:第十五题中,利用圆的切线性质和角度关系,求解特定...
填空题5要求找到从正方体A到M的最短路径,这是典型的最短路径问题,通常可以通过找到两个平面之间的垂直距离来解决。这里,最短路径是通过正方体内部的对角线AC1,然后通过CM,总长度是AC1+CM,由于M是棱CC1的中点,...
飞机从①地飞往②地的最短路径需要考虑地球的曲率。由题目可知,①地和②地位于同一纬线上,因此最短路线应先向一个方向偏离,然后向相反方向返回,即先向东北,后向东南。 2. 地球表面距离计算 从②地出发,先向...
这些网络的算法涉及图论,包括最短路径搜索(Dijkstra、A*算法)、连通性分析、网络流等。C++中,可以利用图数据结构和优先队列实现这些算法。 这个压缩包很可能是包含了一系列C++源代码文件,用于演示和实践上述...
可用解决方案列表简单的票价购买捆绑阿姆斯特朗数寻宝帮助科迪 打印你好世界 使用循环打印号码 用自然数学习用户输入 通过循环/递归学习阶乘 几周 最短路径算法(简单) 有条件的二十一点 通过循环/递归学习素数 ...
5. **最短路径问题**:在正三棱锥中,蚂蚁从顶点出发沿着侧面爬行一周回到顶点,求最短路径。这涉及到球面几何中的最短路径问题,通常最短路径是沿着侧面的弧线加上底面的对角线。 6. **直线与平面的关系**:线面...
空间属性数据则存储在数据库服务器中,而应用程序服务器则执行网络分析功能,如最短路径计算和公交路线规划等复杂操作。 多服务器的集成方案使得系统能够更好地应对高并发访问,确保服务的连续性和可靠性。Ajax的...
7. **最短路径原理**:第七题通过河道改直的例子,体现了两点之间,线段最短的数学原理,选项C正确。 8. **方程的解**:第八题是一个含有未知数m的方程,代入x的值可解得m=-8,选项B正确。 9. **利润计算**:第九...
“Algotiyhmsch03-Dynamic Programming.pdf”很可能涵盖了动态规划,这是一个强大且广泛应用的算法思想,常用于优化问题,如最短路径、背包问题和矩阵链乘法等。动态规划的特点是将问题分解为子问题,并存储子问题的...
蚂蚁在长方体表面上从点A到点C1的最短路径可以通过将长方体展开来计算,展示了实际问题中几何知识的应用。 总的来说,这部分内容涵盖了棱柱、棱锥、棱台的基本性质、识别方法以及它们之间的关系。学生需要理解并...
“零距离”是指快速满足用户需求,通过柔性生产线和全国配送中心,实现从生产到交付的最短路径。“零营运资本”则是通过现款现货交易,降低资金占用,使企业进入良性运作状态。 5. **核心竞争力的构建**: 物流...