GDPU 算法分析与设计 天码行空5

一、【实验目的】

(1)熟悉动态规划算法的基本思想.
(2)理解动态规划算法中子问题的划分和递推方程设计的基本方法.
(3)熟悉矩阵链乘法的基本思想并编程实现。

二、【实验内容】

输入:矩阵链Ai…j的输入为向量P=<Pi-1,Pi,…,Pj>,其中:1<=i<=j<=n.

输出:计算Ai…j的所需最小乘法运算次数m[i,j]和最后一次运算位置s[i,j]。

三、实验源代码

💖 Main.java

import java.util.Scanner;

public class Main {
    private static final int N = 101;
    private static int[][] m = new int[N][N];
    private static int[][] s = new int[N][N];
    private static int[] a = {30, 35, 15, 5, 10, 20};

    public static int recursiveMatrixChain(int[] a, int i, int j) {
        if (i == j) {
            m[i][j] = 0;
            s[i][j] = i;
            return m[i][j];
        }
        m[i][j] = Integer.MAX_VALUE;
        s[i][j] = i;
        for (int k = i; k < j; k++) {
            int q = recursiveMatrixChain(a, i, k) + recursiveMatrixChain(a, k + 1, j) + a[i - 1] * a[k] * a[j];
            if (q < m[i][j]) {
                m[i][j] = q;
                s[i][j] = k;
            }
        }
        return m[i][j];
    }

    public static void main(String[] args) {
        recursiveMatrixChain(a, 1, 5);
        System.out.println("The number of least multiplication operations:");
        System.out.println(m[1][5]);
        System.out.println("Position of the last operation:");
        System.out.println(s[1][5]);
        System.out.println("Array s:");
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= 5; j++) {
                System.out.print(s[i][j] + " ");
            }
            System.out.println();
        }
    }
}

👨‍🏫 Cpp版

四、【实验结果】

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/580501.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

美国站群服务器的国际网络环境在全球的影响力?

美国站群服务器的国际网络环境在全球的影响力? 美国站群服务器如何通过其技术优势和网络基础设施&#xff0c;塑造国际网络环境并对全球产生影响力? 在当今数字化时代&#xff0c;美国站群服务器在国际网络环境中扮演着至关重要的角色。作为全球互联网发展的领导者之一&…

在Windows 11中NotePad3的安装和配置详细教程

&#x1f4dd; 在Windows 11中NotePad3的安装和配置详细教程 文章目录 &#x1f4dd; 在Windows 11中NotePad3的安装和配置详细教程摘要引言正文1. NotePad3简介 &#x1f4d8;2. 安装前的准备工作 &#x1f6e0;️ 我已经给大家准备了一份安装包&#xff0c;微信搜索公众号&am…

K8S 部署和访问 Kubernetes 仪表板(Dashboard)

文章目录 部署 Dashboard UI浏览器访问登陆系统 Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中&#xff0c;也可以对容器应用排错&#xff0c;还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览…

推荐一款国内超级好用的低代码平台+商业开源低代码MES

一、低代码平台是什么&#xff1f; 低代码平台是一种应用程序&#xff0c;它为编程提供图形用户界面&#xff0c;从而以极快的速度开发代码&#xff0c;减少传统编程工作。 这些工具有助于快速开发代码&#xff0c;最大限度地减少手工编码的工作量。这些平台不仅有助于编码&a…

网络通信安全

一、网络通信安全基础 TCP/IP协议简介 TCP/IP体系结构、以太网、Internet地址、端口 TCP/IP协议简介如下&#xff1a;&#xff08;from文心一言&#xff09; TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff0c;传输控制协议/网际协议&#xff0…

基础环境:wsl2安装Ubuntu22.04 + miniconda

服务器相关信息&#xff1a; Thinkpad p1 gen5 64G 2T 3080ti&#xff0c;自带的有nvidia-smi显卡驱动。使用wsl2安装Ubuntu22.04 miniconda目标&#xff1a;安装gpu版本的PyTorch2.1.2&#xff08;torch2.1.2/cu117 torchvision0.16.2/cu117&#xff09; 处理器 12th Gen I…

【Linux-进程状态】

文章目录 1.进程状态1.运行状态2.阻塞状态3.挂起 2.Linux系统中的进程状态1.前台进程和后台进程深度睡眠 2.停止状态3.僵尸状态和死亡状态&#xff08;孤儿进程&#xff09; 1.进程状态 想要理解进程状态&#xff0c;我们要先看看课本中的进程有哪些状态。 进程状态用大白话说…

云渲染一张图多少钱

使用云渲染渲染一张效果图的价格没法确定多少钱一张&#xff0c;云渲染一张图的价格会受到多个因素的影响&#xff0c;如云渲染平台的定价策略、所选的渲染配置、优惠政策以及你提交的场景任务等。因此&#xff0c;无法给出确切的单一价格。 不同的云渲染平台会有不同的定价模…

《苍穹外卖》Day11部分知识点记录(数据统计——图像报表)

一、Apache ECharts 介绍 Apache ECharts是一款基于javascript的数据可视化图标库&#xff0c;提供直观、生动、可交互、可个性化定制的数据可视化图表。 官网地址&#xff1a;https://echarts.apache.org/zh/index.html 效果展示 柱形图饼图折线图 入门案例 1. 在 echart…

API安全尽释领先力,美创再获权威市场指南推荐

数字化时代&#xff0c;单位组织愈加依赖API实现系统间的数据共享和交互&#xff0c;但同时&#xff0c;因API引发的网络攻击风险也在不断升级&#xff0c;成为数据泄露的高发之地。 统计显示&#xff0c;过去的一年&#xff0c;API攻击增长已超过287%。Gartner研报预测&#x…

链动3+1模式:引领运营革命的创新之路与优势解析

在数字化浪潮的席卷之下&#xff0c;企业为寻求持续发展&#xff0c;已将商业模式创新视为核心驱动力。其中&#xff0c;链动31模式以其独特的运营理念&#xff0c;成功引领了一场革命性的运营变革&#xff0c;使得众多企业和个人在激烈的市场竞争中崭露头角。接下来&#xff0…

Docker 容器操作

容器创建 就是将镜像加载到容器的过程。 新创建的容器默认处于停止状态&#xff0c;不运行任何程序&#xff0c;需要在其中发起一个进程来启动容器。 格式&#xff1a;docker create [选项] 镜像 常用选项&#xff1a; -i&#xff1a;让容器开启标准输入 -t&#xff1a;让…

RLDRAM简介

说明 RLDRAM&#xff08;Reduced Latency DRAM&#xff0c;减少延迟动态随机访问存储器&#xff09;是一种专为解决延迟问题而设计的DRAM架构&#xff0c;主要由美光和英飞凌公司开发。它的出现主要是为了满足对更低延迟、更高带宽的SRAM市场的需求。 随着技术的不断发展&…

上位机图像处理和嵌入式模块部署(树莓派4b与mcu固件升级)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在一个系统当中&#xff0c;可能不止需要树莓派4b一个设备。有的时候还需要搭载一个mcu&#xff0c;做一些运动控制的事情。比如说&#xff0c;图像…

电脑处于局域网,怎么查询电脑公网IP

当你购买了云服务器&#xff0c;要设置安全组的时候&#xff0c;就是限制能访问你的服务器的网络IP&#xff0c;比如限制只有你的电脑能连接你的服务器 那么一般就是要就要开放服务器的22号端口&#xff0c;端口范围就是你要开放的服务器的端口&#xff0c;如上图所示授权对象就…

【JAVA】探究Java依然屹立的25个理由

1.生态系统成熟 Java 具有广泛的生态系统&#xff0c;我们可以自由选择库、构建工具和框架。 2.一次编写&#xff0c;到处运行 Java 具有跨平台特性&#xff0c;一次编写&#xff0c;到处运行。 3. 向后兼容性 Java 承诺永远向后兼容&#xff0c;非常nice。 4. JAVA强类型…

与Apollo共创生态:Apollo7周年大会自动驾驶生态利剑出鞘

前言 4月22日&#xff0c;百度Apollo在北京车展前夕举办了以“破晓•拥抱智变时刻”为主题的智能汽车产品发布会&#xff0c;围绕汽车智能化&#xff0c;发布了智驾、智舱、智图等全新升级的“驾舱图”系列产品。 1、7周年大会 自2013年百度开始布局自动驾驶&#xff0c;201…

盲人安全过马路:科技赋能,独立出行不再难

作为一位资深记者&#xff0c;我长期关注特殊群体的生活现状与科技助力下的改善举措。今天&#xff0c;我要讲述的是盲人朋友在独立出行&#xff0c;尤其是过马路时面临的挑战&#xff0c;以及一款叫做蝙蝠避障的创新辅助应用如何通过实时避障与拍照识别功能&#xff0c;显著提…

vue2[黑马笔记]

vue基础 是什么—javascript框架 构建用户界面的前端框架 1.构建用户界面用vue往html页面中填充数据 2.框架现成的解决方案&#xff0c;遵守框架的规范去实现自己的业务功能学习vue 就是学习vue框架中规定的用法vue的指令组件&#xff08;对ul结构的复用&#xff09;&#x…

袁庭新ES系列16节|Elasticsearch客户端高级操作

前言 上一章节袁老师主要带领大家学习了Elasticsearch客户端基础部分的内容&#xff0c;Elasticsearch客户端还有很多高级相关的操作&#xff0c;这一章节主要带领大家来学习Elasticsearch客户端高级相关的操作。接下来就跟上袁老师的节奏继续探讨Elasticsearch的相关知识。 一…