自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 Windows环境使用和管理镜像(Docker)

目录获取镜像列出镜像删除镜像镜像仓库获取镜像镜像是容器的基础,在运行容器之前,必须获得容器的镜像。在Docker CLI命令(命令大全地址),我们可以通过docker pull命令从网上下载需要的镜像,例如拉去一个Ubuntu系统(基于 Debian 的 Linux 操作系统)的镜像到本地镜像库中:在cmd中运行以下命令docker pull ubuntu或docker pull ubuntu:latest查看本地镜像可以看到,已经安装了最新版的Ubuntu运行容器,并且可以通过

2021-01-03 16:33:39 574

原创 动态规划之图像压缩问题

图像压缩1 问题描述2 问题分析5 递归子结构4 例题5 递归计算最优值6 核心代码1 问题描述2 问题分析没有分段之前,固定的 每8位二进制 截取为一个像素点;现在分段之后,看到一串二进制,我首先要知道多少位截取一个像素点,即告诉我像素点的存储位数 (需3位二进制即可);在此基础上,还要告诉我从什么位置开始像素点的存储位数开始出现变化,即告诉我目前这种存储位数的像素点有多少个 (需8位二进制即可)。5 递归子结构4 例题划分3段的这种方案比前面划分4段的方案少

2020-12-07 23:00:26 1000

原创 动态规划之凸多边形最优三角剖分

凸多边形最优三角剖分1 问题定义2 问题分析3 递归结构4 核心代码5 举例1 问题定义凸多边形:把一个多边形任意一边向两方无限延长成为一条直线,如果多边形的其他各边均在此直线的同旁,那么这个多边形就叫做凸多边形。。除去自身A点,以及和自己连接的 2 个点之外,A点和余点间都存在一条弦,即n-3条;这n-3条弦能划分出n-2个三角形2 问题分析3 递归结构4 核心代码和矩阵连乘的代码一样template<class Type>void MinW

2020-12-07 20:23:47 779

原创 动态规划之最大子段和问题

最大子段和问题1问题定义2 问题分析思路一:穷举法思路二:分治法思路三:动态规划4 核心代码5 例题1问题定义2 问题分析思路一:穷举法int MaxSum(int n,int a,int &besti,int&bestj){ int sum=0; for(int i=1; i<=n; i++){ int thissum=0; for(int j=i; j<=n; j++){ t

2020-12-07 19:26:47 356

原创 动态规划之最长公共子序列

最长公共子序列1 问题定义2 问题分析1 问题定义子序列的含义是 Z中的所有元素都按照顺序出现在X中,此处的按照顺序不要求必须连续,只要先后出现的顺序没有改变即可。2 问题分析从后往前推,如果两个序列中的最后一元素相等,则这个元素一定在最长公共子序列中...

2020-12-07 17:50:54 136

原创 动态规划之矩阵连乘问题

矩阵连乘1 问题定义2 问题分析3 举例4 核心算法1 问题定义每计算出一个元素,需要q次乘法,最终得到的矩阵是p * r矩阵,有p * r个元素,因此,计算C需要的乘法次数为q * p * r.2 问题分析3 举例分步思路是沿从左上至右下的对角线进行。首先计算m[1][1], m[2][2],…,m[6][6];然后计算m[1][2], m[2][3],…,m[5][6];再后计算m[1][3], m[2][4],m[3][5],m[4][6];再后计

2020-12-07 11:42:47 425

原创 计算机算法设计与分析笔记(二)——递归与分治

二 递归与分治1.递归1.1 定义1.2 双递归函数1.递归1.1 定义递归函数:用函数自身定义的函数递归函数的两个要素:边界条件与递归方程递归算法:直接或间接调用自身的算法1.2 双递归函数当一个函数及它的一个变量是由函数自身定义时,则称这个函数为双递归函数;例如:Ackerman函数,其定义如下:A(1,0)=2A(0,m)=1 m≥0A(n,0)=n+2

2020-12-06 22:39:13 333

原创 分治法之棋盘覆盖问题

棋盘覆盖1.问题描述2.问题分析3.分治算法4 时间复杂性5 代码1.问题描述4k为总的方格数, 1为特殊方格, 每个L型骨牌有3个方格,所以除以3。2.问题分析对于2k*2k的棋盘有以下特点棋盘为正方形,则可以考虑将问题分为规模相等的子问题、棋盘上有一个残缺的方格,则分解后的子问题中也应该有一个残缺的方格3.分治算法4 时间复杂性5 代码#include <iostream>using namespace std;# define N 1

2020-12-06 18:59:16 502

原创 分治法之二分搜索技术

二分搜索技术1 问题定义2 基本思想3 核心算法4 时间复杂性5 金块问题1 问题定义给定已按升序排好序的n个元素a[0:n-1],现要在这n个元素中找出一特定元素x。例如:设n=6,a=[1 3 5 7 9],要找出特定元素x=9;2 基本思想3 核心算法int function binary-search(Type a[ ], const Type & x, int n) { int left = 0; int right = n-1;

2020-12-06 17:33:20 1122

原创 递归之整数划分问题

整数划分1 问题定义2.问题分析3 核心算法4 具体代码1 问题定义2.问题分析最大加数等于6的划分个数有1个;最大加数等于5的划分个数有1个;最大加数等于4的划分个数有2个;最大加数等于3的划分个数有3个;最大加数等于2的划分个数有3个;最大加数等于1的划分个数有1个;解题思路:对于数据n,递归计算最大加数等于x的划分个数+最大加数不大于x-1的划分个数,最大加数x从n开始,逐步变小为n-1,…,1,从而求解出问题m=1,最大加数不大于1,意味着小于等于1,但是不可能小于

2020-12-06 11:09:19 162

原创 递归之全排列问题

全排列问题1.问题定义2 核心算法3. 算法分析4 实现代码1.问题定义2 核心算法Template<class type>void Perm(Type list[ ], int k, int m){//产生list[ ]数组中从k到m元素的全排列. if (k==m) {//只剩下一个元素 for (int i=0;i<=m;i++) cout<<list[i];

2020-12-06 10:19:34 211

原创 编译原理及实现笔记一(清华出版社出版)

编译原理及实现(清华出版社出版)引论引论编译程序与解释程序的区别编译程序:生成一个与源程序等价的目标程序,它可以完全取代源程序,目标程序可运行任意多次,不必依赖编译程序。解释程序对源程序的每次执行都伴随着重新翻译的工作,效率较低。...

2020-12-01 22:24:00 228

原创 计算机算法设计与分析笔记(一)——算法概述

一  算法概述1.算法的性质2.程序与算法的区别与内在联系3.算法复杂性分析3.1 时间复杂性3.2 复杂性的渐进性态3.2.1 定义3.2.2 大O表示法 (算法运行时间的上限 )3.2.3 大Ω表示法 (算法运行时间的下限)3.2.4 θ表示法4.例题1.算法的性质输入:由外部提供的量作为算法的输入,0个或多个输出:算法产生至少一个量作为输出确定性:组成算法的每条指令都是清晰的,无歧义的有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的2.程序与算法的区别与内在联系

2020-12-01 22:16:32 417

原创 浙大PTA基础编程题目集(编程题)

7.1厘米换算英尺英寸如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170输出样例:5 6题目不难,唯一算是难点的地方在于:解答者容易陷入题目所给公式的误区里,总想着把公式倒过来便

2020-11-29 22:12:22 4088

原创 Java核心技术笔记(三)

第3章 Java的基本程序设计结构1.命名规范2.注释3. 数据类型1.命名规范前言:这部分如果有C++基础,则很容易理解public class FirstSample{ public static void main(String[] args) { System.out.println(“We will not use’Hello, World!’”); }}对于上述这段代码,有几个需要注意的地方Java区分大小写,如果大小写出错,则程序很可能无法运行。Java定

2020-11-25 11:30:39 80

原创 Java核心技术笔记(一)

Java核心技术(Ⅰ卷)第一章Java的特性1. 简单性2. 面向对象3. 分布式4. 健壮性5. 安全性6. 体系结构中立7. 可移植性8. 解释型9. 高性能10. 多线程11. 动态性关于Java的常见误解1. Java是 HTML 的扩展2. 使用 XML, 所以不需要 Java3.Java 是解释型的, 因此对于关键的应用程序速度太慢了4. 所有的 Java 程序都是在网页中运行的5. JavaScript 是 Java 的简易版第一章Java的特性1. 简单性Java 语法是 C++

2020-11-23 11:32:08 240 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除