自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划练习题

动态规划分析并掌握“最长公共子序列” 问题的动态规划算法求解方法;最长公共子序列问题:若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。给定2个

2021-01-05 22:26:09 443

原创 动态规划

动态规划1.动态规划的基本概念在学习动态规划之前,先思考这样一个问题:什么是动态规划?为什么叫动态规划?当读者在试图探索这个问题的时候,不可避免的要了解动态规划的产生背景。动态规划是由 Dynamic Programming 翻译过来的。动态规划的概念是由美国数学家R.E.Bellman等人提出的,应用于工程领域。动态规划是是求解多阶段决策过程(decision process)的最优化问题一种方法。所谓多阶段决策过程是指这样一类决策过程:它可以把一一个复杂问题按时间(或空间)分成若干个阶段,每个

2021-01-03 22:42:21 233

原创 分支界限法

分支界限法基本思想分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树,裁剪那些不能得到最优解的子树以提高搜索效率。搜索策略在扩展结点处,先生成其所有的儿子结点(分支),然后再从当前的活结点表中选择下一个扩展结点。为了有效地选择下一个扩展结点,以加速搜索的进程,在每一活结点处,根据限界函数估算目标函数的可能取值(优先值),并根据这些已计算出的函数值,从当前活结点表中选择一个最有利的结点(使目标函数取得极值(极大/极小)的结点)作为扩展结点,优先进行广度优先搜索,使搜索朝着解空间

2021-01-02 23:04:35 1214

原创 贪心算法与动态规划算法的联系与区别

贪心算法与动态规划算法的连续与区别联系1.都是一种推导算法2.都是分解成子问题来求解,都需要具有最优子结构区别1.贪心:每一步的最优解一定包含上一步的最优解,上一步之前的最优解则不作保留;动态规划:全局最优解中一定包含某个局部最优解,但不一定包含前一个局部最优解,因此需要记录之前的所有的局部最优解2.贪心:如果把所有的子问题看成一棵树的话,贪心从根出发,每次向下遍历最优子树即可(通常这个“最优”都是基于当前情况下显而易见的“最优”);这样的话,就不需要知道一个节点的所有子树情况,于是构不成一棵

2021-01-01 22:01:01 752

原创 矩阵链相乘问题

矩阵链相乘问题输入样例:在这里给出一组输入。例如:530 35 15 5 10 20输出样例:在这里给出相应的输出。例如:11875代码:#include <iostream>#include<stdio.h>using namespace std;long long dp[101][101];int arr[102][2];int main(){ int n; cin>>n; cin>>arr[1][0];

2020-12-30 22:01:03 97

原创 JavaWeb的框架介绍

首先谈谈Java Web需要掌握哪些东西。这里是一些知识点的搜集,暂不做详细说明,欢迎各位博友补充指正。1.底层Java语言相关的就不说了,首先是JVM的结构和工作原理。比较重要的是Java内存模型,各种GC算法,Classloader的加载原理等。个人对底层的一些东西还算比较了解,所以不过多纠结,实际上程序编译链接过程以及二进制文件的处理还是很值得研究的。JVM监控及调优。作为一个开发人员并不一定需要非常熟悉JVM调优的方法,但如果具备JVM监控及调优的能力,将让你对程序运行状况了如指掌,对于问题定

2020-12-28 21:46:49 161

原创 回溯法

1.算法实现题:整数变换问题。整数i的两种变换定义为 , (向下取整);设计一个算法求给定两个整数a和b,用最少次数的 和 变换将整数a变换为b;例如实现提示:观察f和g两个操作可知,f总是使得i变大,g总是使得i变小。因此在决定让x执行哪个操作之前可以先判断i和目标值m之间的大小关系。如果x>m,就让其执行g操作;反之,执行f操作。问题的解分为两种情况,一种是有解,即n可以通过函数变换成m;另一种是无解,即n无法通过函数变换成m。有解的情况比较容易,只需要判断最后的i是否等于m即可。如果i

2020-12-27 21:49:36 107

原创 软件工程总结笔记

1.软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往

2020-12-26 22:21:54 114

原创 github设置仓库可见性

github设置仓库可见性关于仓库可见性创建仓库时,您可以选择将其设为公共、内部或私有。 公共仓库可供使用GitHub.com 的所有人访问,而私有仓库只有您和您与其共享的人员可访问。 内部仓库适用于 GitHub Enterprise Cloud 并且只有企业帐户的成员可访问。 更多信息请参阅“创建内部仓库”。仓库所有者、具有组织所拥有仓库管理员权限的人员和组织所有者均可更改仓库的可见性。对于组织拥有的仓库,如果组织所有者将更改仓库可见性的功能限制为仅组织所有者,则具有公共仓库管理员权限的人员无

2020-12-25 22:01:22 2627

原创 GitHub 教程(笔记)

GitHub 教程1 简介GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,在 GitHub 上托管的版本数量非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。2 目录

2020-12-24 22:11:06 144

原创 JavaWeb的框架介绍

JavaWeb的框架介绍1.底层Java语言相关的就不说了,首先是JVM的结构和工作原理。比较重要的是Java内存模型,各种GC算法,Classloader的加载原理等。个人对底层的一些东西还算比较了解,所以不过多纠结,实际上程序编译链接过程以及二进制文件的处理还是很值得研究的。JVM监控及调优。作为一个开发人员并不一定需要非常熟悉JVM调优的方法,但如果具备JVM监控及调优的能力,将让你对程序运行状况了如指掌,对于问题定位也会敏感得多。Java多线程。对于线程安全的理解,以及如何在自己的程序中避免

2020-12-23 22:11:24 2438

原创 【软件工程理论与实践】软件工程小组项目——Learning Path系统环境介绍、泳道图分析

Learning Path系统环境介绍一、软件系统环境二、软件功能规格1.系统角色(Actor)分析1.1 学生1.2 普通用户1.3 教师1.4 系统管理员2.系统用例图3.1 注册系统流程图3.3 班级系统3.4 单词识别查询3.5 生词库系统3.6 题库系统4.非功能性需求4.1 界面需求4.2 响应时间需求4.3 可靠性需求4.4 可扩展性需求4.5 系统安全性需求5. 需求变更一、软件系统环境        Le

2020-12-22 19:32:30 340

原创 【软件工程理论与实践】软件工程小组项目——Learning Path需求分析

一、 需求分析1. 项目背景在当今世界,英语仍然是被广泛使用的。目前,市场上的大部分词典软件所提供的拍照功能,同样是用了图片处理识别技术,但是市场上的大部分APP提供的仅是单句翻译或者全文翻译,这一点实际上并不利于英语学习者,因为这些APP所提供的翻译功能翻译出的结果比较模糊,若是优秀一些的翻译功能,智能识别出的翻译相对原意进行了一定的美化,这种功能并不利于英语学习者具体了解每一个单词的意思。英语学习者想要学习英语,更需要的是记住单词的意思,单词是句子的基础,句子才能够构建出文章,由此可知记单词的重要性

2020-12-21 22:18:28 229

原创 人工智能学习算法分类

一、人工智能学习算法分类人工智能算法大体上来说可以分类两类:基于统计的机器学习算法(Machine Learning)和深度学习算法(Deep Learning)总的来说,在sklearn中机器学习算法大概的分类如下:1.纯算法类 (1).回归算法 (2).分类算法 (3).聚类算法 (4)降维算法 (5)概率图模型算法 (6)文本挖掘算法 (7)优化算法 (8)深度学习算法2.建模方面 (1)模型优化 (2)数据预处理二、详细算法1.分类算法 (1).LR (Lo

2020-12-20 21:43:43 1566

原创 java生成验证码

java生成验证码package abc;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStrea

2020-12-19 23:58:03 87 1

原创 Java中int转String类型的三种方法

Java中int转String类型的三种方法1.String.valueOf(i)2.Integer.toString(i)3.i+" " //i+""也就是一个int型的常量,即+上个空的字符串istring类型的+int在java中他会去这样理解是string类型的字符串跟上个int类型的i代表的字符串(先把i转换为string),int+string型就是先将int型的i转为string然后跟上后面的string...

2020-12-18 21:03:46 2930 1

原创 &与&&

&与&&:a) & 和 && 都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。b) && 还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,& 还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。...

2020-12-17 23:30:04 191

原创 JTable设置单个单元格颜色

JTable设置单个单元格颜色今天在写JavaGUI时,想给表格的单个单元格填充颜色,找了好久 好像并没有看到很明确的方法,为了设置单个单元格的颜色,需要重载jTable对象中的prepareRenderer函数,根据单元格的行号和列号,设置对应的单元格。代码:String[][] display = {{"a", "b"}, {"c", "d"}};javax.swing.JTable jTable = new javax.swing.JTable(display, new String[] {

2020-12-16 21:45:48 1203 1

原创 Windows环境变量的配置

Windows环境变量的配置打开我的电脑–>属性高级系统设置–>环境变量配置以下二个环境变量:i. 新添加环境变量;变量名:JAVA_HOME(大写、下划线), 变量值:JDK的安装路径。ii. 在Path环境变量(系统已有)中加入JDK的安装路径,例如:C:\Program Files\Java\jdk1.8.0_144\bin目录,但是要注意加入环境变量值时用“;”分号隔开每个变量值。在windows里可以用%JAVA_HOME%来引用JAVA_HOME环境变量的值。%J

2020-12-15 21:52:43 248

原创 Java数组实现简单的队列

Java数组实现简单的队列代码:public class ArrayQueue { private final Object[] data; private final int maxSize; private int currentSize; private int front; private int tail; public ArrayQueue(int maxSize){ if (maxSize <= 0) {

2020-12-14 20:49:19 74

原创 贪心算法相关练习题

1、最优服务次序问题。问题描述:设有n个顾客同时等待一项服务,顾客i需要的服务时间为ti,(1<=i<=n)。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?(平均等待时间是n个顾客等待服务时间总和除以n)输入:第一行为一个正整数n,表示有n个顾客第二行为n个正整数,表示n个顾客需要的服务时间输出:最小平均等待时间。代码:#include<iostream>#include<algorithm>#include <iomanip>us

2020-12-13 21:52:49 649

转载 软件需求分析模板

软件需求分析模板软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。需求分析可分为需求提出、需求描述及需求评审三个阶段。需求提出主要集中

2020-12-12 22:32:45 701

转载 飞机大战的小游戏

飞机大战的小游戏(C语言)#include<stdio.h>#include<string.h>#include<conio.h>#include<windows.h>#include<stdlib.h>#define MAX 100long long int speed = 0;//控制敌机的速度 int position_x, position_y;//飞机的所在位置 int high, width;//地图的大小 int

2020-12-11 21:53:29 176 3

原创 随机生成字符数组并排序(Java)

【笔记】随机生成字符数组并排序import java.util.Random;import java.util.Arrays;public class SortRandomArray{ public static void main(String[] args) { char[] cc=new char[20]; Random r=new Random(); for(int i=0;i<cc.length;i++)

2020-12-10 21:40:33 258

原创 【计算机算法】月饼

【计算机算法】月饼月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5

2020-12-09 21:31:22 161

原创 【计算机算法】最优合并问题

【计算机算法】最优合并问题给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。输入格式:第一行有 1 个正整数k,表示有 k个待合并序列。 第二行有 k个正整数,表示 k个待合并序列的长度。输出格式:输出最多比较次数和最少比较次数。输入样例

2020-12-08 22:05:13 425

原创 【计算机算法】看电影

【计算机算法】看电影终于到周末了,明明是特别喜欢看电影。他想在一天内尽量多的看到完整的多部电影。 现在他把他喜欢的电影的播放时间表给你,希望你能帮他合理安排。输入格式:输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示明明喜欢的电影的总数。 接下来n行,每行输入两个整数si和ei(1<=i<=n),表示第i个电影的开始和结束时间,为了简化问题,每个时间都用一个正整数表示。 当n=0时,输入结束。输出格式:对于每组输入,输出能完整看到的电影的个数。输入样例:

2020-12-07 20:43:41 496

原创 英语和一个程序员的关系

英语和一个程序员的关系 英语和一个程序员的关系?是什么?很重要吗?    上了大学老师会告诉我们,既然我们是计算机专业的,那我们也一定要学好英语!而且…我们也开设了专业英语这门课,那么 英语和一个程序员的关系到底是怎样的呢?     作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪。但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的。所以,英语对于程序员十分

2020-12-06 21:32:01 302 1

原创 【计算机算法】喷水装置

【计算机算法】喷水装置 长L米,宽W米的草坪里装有n个浇灌喷头。每个喷头都装在草坪中心线上(离两边各W/2米)。我们知道每个喷头的位置(离草坪中心线左端的距离),以及它能覆盖到的浇灌范围。请问:如果要同时浇灌整块草坪,最少需要打开多少个喷头?输入格式:输入包含若干组测试数据。第一行一个整数T表示数据组数。每组数据的第一行是整数n、L和W的值,其中n≤10 000。接下来的n行,每行包含两个整数,给出一个喷头的位置和浇灌半径。如下图所示的示意图是样例输入的第一组数据所描述的情况:输出格

2020-12-05 21:08:00 256

原创 搭建一个简单的神经网络

搭建一个简单的神经网络搭建一个简单二分类神经网络。一个简单的三层网络,包括输入层,隐层,输出层。反向传播迭代更新。软件:PyCharmPython version:3.7代码:import numpy as npclass NeuralNetwork: def __init__(self): pass ##实现sigmode函数,同时通过True/False 来分别返回sigmode函数的导数和函数 def sigmode(self, x, deri

2020-12-04 11:36:07 320

原创 程序员的奔溃瞬间...

程序员的奔溃瞬间…①当我第一次启动我的单元测试②数据库的delete语句忘了使用限定词where③我的项目拿去给老师验收,开始运行:

2020-12-03 21:52:52 69

原创 【软件工程理论与实践】(笔记)

【软件工程理论与实践】(笔记)1.在选择编程语言时,通常要考虑哪些因素?答:在选择编程语言时,通常需考虑以下因素。(1)待开发系统的应用领域,即项目的应用范围。(2)用户的要求。(3)软件开发人员的喜好和能力。(4)系统的可移植性要求。(5)算法和数据结构的复杂性。2.对标识符命名时,要注意哪些原则?答:对标识符进行命名时,要注意以下几点。(1)按照标识符的实际意义命名,使其名称具有直观性,能够体现标识符的语义。这样可以帮助开发人员对标识符进行理解和记忆。(2)遵循一定的命名规则,比如缩

2020-12-02 21:41:45 671

原创 Javaweb入门知识点总结 ④

Javaweb入门知识点总结 ④文章目录Javaweb入门知识点总结 ④十七、常见的HTTP协议状态码十八、servlet的生命周期十九、servlet的常用方法二十、过滤器的生命周期及作用二十一、jQuery书写ajax的方式及参数说明二十二 、如何防止表单重复提交二十三、什么是JSON以及格式二十四、说说Tomcat的模块架构十七、常见的HTTP协议状态码2xx:表示请求已被成功接收200(成功)服务器已成功处理了这个请求。这个状态码对servlet是缺省的,如果没有调用setStatus

2020-12-01 20:26:48 100

原创 Javaweb入门知识点总结 ③

Javaweb入门知识点总结 ③文章目录Javaweb入门知识点总结 ③十、什么是JSONP十一、HTML、CSS、Javascript在Web开发中的作用十二、body中的onload事件和document.ready()有什么区别?十三、jQuery中有哪些选择器十四、JavaScript中null和undefined有什么区别十五、Servlet中的doPost和doGet方法有什么区别?传递和获取参数上有什么区别?十六、jQuery中get与eq方法的区别十、什么是JSONPJSONP是

2020-11-30 16:54:07 99

原创 Javaweb入门知识点总结 ②

Javaweb入门知识点总结 ②文章目录Javaweb入门知识点总结 ②五、session的工作原理1.什么是session2.session比cookie更安全3.session的生命周期4.注意事项六、客户端禁止cookie,session还能用吗七、forward和redirect的区别八、get和post请求区别九、如何实现跨域?五、session的工作原理1.什么是sessionsession是浏览器和服务器会话过程中,服务器分配的一块存储空间。服务器默认为浏览器在cookie中设置

2020-11-29 21:13:44 93

原创 Javaweb入门知识点总结①

Javaweb入门知识点总结 ①文章目录Javaweb入门知识点总结 ①一、jsp和servlet有什么区别二、jsp有哪些内置对象?作用分别是什么?三、Jsp的四种作用域四、session和cookie有什么区别一、jsp和servlet有什么区别Servlet:1.一种服务端的Java应用程序2.由Web容器加载和管理3.用于生成动态的Web内容。4.负责处理客户端请求。JSP:1.是Servlet的扩展,本质上还是Servlet2.每个Jsp页面就是一个Servlet实例3

2020-11-28 21:16:32 114

原创 【二路归并算法】

【二路归并算法】两路合并排序是时间复杂度为O(n* log2 n)的排序方法。基本思想:将有n个元素的序列看成是n个长度为1的有序序列,然后两两合并序列,得到 n/2个长度为2或1的有序序列,然后在进行两两合并,直到得到一个长度为n的有序序列。(1)eg:#include<stdio.h>#define MAXSIZE 5void Merging(int *list1, int list1Size, int *list2, int list2Size){ int i, j,

2020-11-27 20:22:09 1796

原创 【iomanip笔记】

【iomanip笔记】iomanip的作用比较多:主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文 件,就像C里面的格式化输出一样.以下是一些常见的控制函数的:dec 置基数为10 相当于"%d"hex 置基数为16 相当于"%X"oct 置基数为8 相当于"%o"setfill© 设填充字符为csetprecision(n) 设显示小数精度为n位setw(n) 设域宽为n个字符这个控制符的意思是

2020-11-26 15:56:10 198

原创 【计算机算法】装箱问题

【计算机算法】装箱问题输入样例:860 70 80 90 30 40 10 20输出样例:60 170 280 390 430 140 510 120 25代码(C++):#include <iostream>using namespace std;int main(){ int n,i; int array[1000],box[1000]; cin>>n; int sum=0; for(i=0;i<n

2020-11-25 22:00:19 464

转载 软件工程理论相关

软件工程理论相关一、软件开发流程:1)可行性研究:了解用户的要求,以及现实环境,2)需求分析:确定功能需求,性能需求,运行环境约束3)概要设计:定义各个功能模块的接口,设计全局数据库数据结构,设计约束,测试计划4)详细设计:对于上一步概要设计的功能模块做进一步的细化。5)编码:根据详细设计文档做进一步开发。6)测试:7)部署交付:8)维护二、软件开发模式:1)结构化生命周期法:瀑布模型。 严格遵循软件生命周期各个阶段的固定顺序。2)面向对象法:喷泉模型3)原型化方法:快速原型模型、

2020-11-24 21:30:02 216

空空如也

空空如也

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

TA关注的人

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