码迷,mamicode.com
首页 > 编程语言 > 详细

算法第3章上机实践报告

时间:2018-11-04 22:55:00      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:题解   for   体会   scan   题目   编译   [1]   复杂   空间   

  1. 实践题目:数字三角形
  2. 问题描述:给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。
  3. 算法描述:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int a[150][150];
    int dp[150][150];
    int main()
    {
    int n;
    scanf("%d", &n);
    int i, j;
    for(i =1;i <= n;i++){
    for(j = 1;j <=i;j++){
    scanf("%d", &a[i][j]);
    }
    }
    for(i =1;i <= n;i++){
    dp[n][i] = a[n][i];
    }
    for(i = n;i > 1;i--){
    for(j = 1; j<= i;j++){
    if(dp[i][j] > dp[i][j+1]){
    dp[i-1][j] = a[i-1][j] + dp[i][j];
    }else {
    dp[i-1][j] = a[i-1][j] + dp[i][j+1];
    }
    }
    }
    printf("%d\n", dp[1][1]);



    return 0;
    }

  4. 算法时间及空间复杂度分析(要有分析过程):O(n^2)
  5. 心得体会(对本次实践收获及疑惑进行总结):本次上机实践由于一些知识没有搞明白,在课上并没有把问题解决,在回到宿舍看着网上的一些代码,自己慢慢分析再进行打代码编译成功的,不过这样我认为对自己的帮助还是很大的,至少我能在最后理解了这个问题的思想。

算法第3章上机实践报告

标签:题解   for   体会   scan   题目   编译   [1]   复杂   空间   

原文地址:https://www.cnblogs.com/Hall/p/9906126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!