`
zjxs_sky100
  • 浏览: 30250 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

金字塔最短路径

阅读更多
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
分享到:
评论

相关推荐

    金字塔 数据结构

    斐波那契堆是一种合并友好的堆数据结构,常用于实现高效的最短路径算法,如Dijkstra算法或Floyd-Warshall算法。 此外,金字塔数据结构可能与图像处理或数据分析有关,比如在图像金字塔中,原始图像被降采样多次,...

    十五个经典算法

    - A*算法保证找到最短路径的条件是启发函数必须满足“允许性”(即h(n) ≤ 实际从n到目标的成本)和“一致性”(对于任意两个相邻节点n和m,h(n) ≤ cost(n,m) + h(m))。 - 高效性和可扩展性强,适用于多种应用...

    数字图像处理模拟试题4套(附答案)

    6. **最短路径问题**:图像分割中经常涉及到寻找像素之间的最短路径。4通路和8通路分别指的是在4个相邻像素和8个相邻像素之间寻找最短路径。试题中还提到了m通路,这是更一般的情况,可能涉及到更多方向的连接。 7....

    acm动态规划总结竞赛

    - **最短路径问题**:如Floyd-Warshall算法解决所有顶点对之间的最短路径,Dijkstra算法和Bellman-Ford算法解决单源最短路径问题。 4. **动态规划设计流程**: - **定义状态**:确定影响问题解的关键变量。 - **...

    程序员编程艺术系列之经典算法研究 电子书【高清中文带书签】

    A*搜索算法是一种在图中寻找最短路径的算法,它结合了最佳优先搜索和Dijkstra算法的优点,通过评估函数来估算从当前节点到目标节点的代价,从而决定下一个访问的节点。A*算法广泛应用于路径查找和图遍历问题,尤其是...

    算法分析各种高校试卷.zip

    5. **图论问题**:图论在算法中占有重要地位,包括最短路径问题(Dijkstra算法、Floyd-Warshall算法)、最小生成树(Prim算法、Kruskal算法)、拓扑排序和网络流问题等。这些算法在解决网络规划、资源分配等问题时...

    黑龙江省大庆十中2018_2019学年高一地理下学期期末考试试题含解析

    地球表面两点间的最短路径不是直线,而是两点所在大圆的劣弧。在M点飞到N点的问题中,由于两点都在60°N纬线上,最短航程是先向东北飞,然后向东南飞,这是因为在同纬度的大圆航线上,航向改变能缩短飞行距离。 ...

    2D Euclidean Distance Transform Algorithms

    该算法的基本思想是逐步扩展搜索范围,直到找到所有像素的最短路径。 **2. 高效逐行扫描算法**:这类算法基于逐行扫描图像,利用预先计算的表格来加速计算过程。这种方法适用于较大的图像尺寸,可以显著提高计算...

    甘肃省民乐一中2020-2021学年高一创新实验班招生考试数学试题 .doc

    14. 圆柱与曲线最短路径:第十四题是一个实际应用问题,利用圆柱的几何特性,求解最短路径,需要理解圆柱侧面积和曲线长度的关系。 15. 圆的切线性质与角度计算:第十五题中,利用圆的切线性质和角度关系,求解特定...

    2015高中数学1.1.1柱锥台球的结构特征课后巩固作业新人教A版必修2

    填空题5要求找到从正方体A到M的最短路径,这是典型的最短路径问题,通常可以通过找到两个平面之间的垂直距离来解决。这里,最短路径是通过正方体内部的对角线AC1,然后通过CM,总长度是AC1+CM,由于M是棱CC1的中点,...

    吉林省白城市通榆县第一中学2020届高三地理上学期第三次月考试题202002250156

    飞机从①地飞往②地的最短路径需要考虑地球的曲率。由题目可知,①地和②地位于同一纬线上,因此最短路线应先向一个方向偏离,然后向相反方向返回,即先向东北,后向东南。 2. 地球表面距离计算 从②地出发,先向...

    关于几何的典型算法 关于c++几何算法,有多边形,面积,三维几何,圆,网络等等各种算法的实现。

    这些网络的算法涉及图论,包括最短路径搜索(Dijkstra、A*算法)、连通性分析、网络流等。C++中,可以利用图数据结构和优先队列实现这些算法。 这个压缩包很可能是包含了一系列C++源代码文件,用于演示和实践上述...

    my-dcoder-solutions:我在Ruby中的Dcoder解决方案

    可用解决方案列表简单的票价购买捆绑阿姆斯特朗数寻宝帮助科迪 打印你好世界 使用循环打印号码 用自然数学习用户输入 通过循环/递归学习阶乘 几周 最短路径算法(简单) 有条件的二十一点 通过循环/递归学习素数 ...

    河南省豫西名校2020-2021学年高一数学上学期第二次联考试题

    5. **最短路径问题**:在正三棱锥中,蚂蚁从顶点出发沿着侧面爬行一周回到顶点,求最短路径。这涉及到球面几何中的最短路径问题,通常最短路径是沿着侧面的弧线加上底面的对角线。 6. **直线与平面的关系**:线面...

    基于多服务器的WebGIS的设计与实现.pdf

    空间属性数据则存储在数据库服务器中,而应用程序服务器则执行网络分析功能,如最短路径计算和公交路线规划等复杂操作。 多服务器的集成方案使得系统能够更好地应对高并发访问,确保服务的连续性和可靠性。Ajax的...

    佛山市禅城区2015-2016学年七年级上期末数学试卷含答案解析.doc

    7. **最短路径原理**:第七题通过河道改直的例子,体现了两点之间,线段最短的数学原理,选项C正确。 8. **方程的解**:第八题是一个含有未知数m的方程,代入x的值可解得m=-8,选项B正确。 9. **利润计算**:第九...

    王晓茹课件.zip北邮王晓茹老师的算法中文课件

    “Algotiyhmsch03-Dynamic Programming.pdf”很可能涵盖了动态规划,这是一个强大且广泛应用的算法思想,常用于优化问题,如最短路径、背包问题和矩阵链乘法等。动态规划的特点是将问题分解为子问题,并存储子问题的...

    2019_2020学年新教材高中数学第八章立体几何初步8.1.1棱柱棱锥棱台的结构特征课时作业新人教A版必修第二册

    蚂蚁在长方体表面上从点A到点C1的最短路径可以通过将长方体展开来计算,展示了实际问题中几何知识的应用。 总的来说,这部分内容涵盖了棱柱、棱锥、棱台的基本性质、识别方法以及它们之间的关系。学生需要理解并...

    1海尔的现代物流革命.pdf

    “零距离”是指快速满足用户需求,通过柔性生产线和全国配送中心,实现从生产到交付的最短路径。“零营运资本”则是通过现款现货交易,降低资金占用,使企业进入良性运作状态。 5. **核心竞争力的构建**: 物流...

Global site tag (gtag.js) - Google Analytics