自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python学习笔记day1--序列、集合、字典

序列、集合、字典(单个数据->成组数据)序列 列表list、元组tuple、字符串str 列表list 创建 [] [1,2,3] ['a','b','c'] [1,'abc',True] ['纵火盛宴','破碎护盾','电子鱼叉','恒温灼烧'] [0] >> '纵火盛宴' [-1] >> '恒温灼烧' #从右数第一个 索引 for index ,item in enumerate(['纵火盛宴'

2022-04-04 22:16:52 1042

原创 Python学习笔记day1--变量、运算符、表达式

变量、运算符、表达式变量 A = 'hello' B = 'python' A*10 + B*3 + A >> hellohellohellohellohellohellohellohellohellohellopythonpythonpython color = ['red','blue','green'] 变量是一种标识符 变量名、函数名、方法名、类名 由字母、数字、下划线组成,不能以数字开头(大小写区分) 不能使用保留字、不建议使用内置函数名 值类型

2022-04-04 22:16:06 665

原创 Python学习笔记day1--基本数据类型

Python学习笔记day1–基本数据类型注释 单行注释 #注释内容 多行注释 """这里是一些多行注释"""基础数据类型 数值 整数 int 小数、浮点数 float short int long float double type(1) int type(1+1.0) float type(2/2) 1.0 float type(2//2) 1 int 1//2 0 进制 0b二进制 0b10 >> 2 0o八进制 0o10 &

2022-04-04 22:14:49 1001

原创 算法设计与分析分支限界算法之迷宫问题

分支限界算法之迷宫问题问题描述如下图所示,给出一个N*M的迷宫图和一个入口、一个出口。编一个程序,打印一条从迷宫入口到出口的路径。这里黑色方块的单元表示走不通(用-1表示),白色方块的单元表示可以走(用0表示)。只能往上、下、左、右四个方向走。如果无路则输出“no way.”。算法分析只要输出一条路径即可,所以是一个经典的回溯算法问题,本例给出了回溯(深搜)程序和广搜程序。实现见参考程...

2019-11-01 09:01:21 1644

原创 算法设计与分析分支限界算法之最小步数问题

分支限界算法之最小步数问题问题描述在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢下围棋,知道这件事后觉得很有趣,就想试一试,在一个(100*100)的围棋盘上任选两点A、B,A点放上黑子,B点放上白子,代表两匹马。棋子可以按“日”字走,也可以按“田”字走,俩人一个...

2019-11-01 08:51:57 584

原创 算法设计与分析分支限界算法之细胞问题

分支限界算法之细胞问题问题描述【例】一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如:阵列4 100234500067103456050020456006710000000089有4个细胞。0234500067 按照上下左右的顺序进行检查,并将符合条件的依次入队1034560500 解...

2019-11-01 08:42:59 345

原创 算法设计与分析回溯算法之装载问题

回溯算法之装载问题问题描述给定n个集装箱要装上一艘载重量为c的轮船,其中集装箱i的重量为wi。集装箱装载问题要求确定在不超过轮船载重量的前提下,将尽可能多的集装箱装上轮船(贪心算法中的装载问题讨论的是装载件数;本题讨论的是最大装载重量。)由于集装箱问题是从n个集装箱里选择一部分集装箱,假设解向量为X(x1, x2, …, xn),其中xi∈{0, 1}, xi =1表示集装箱i装上轮船, x...

2019-10-23 08:46:17 2104

原创 算法设计与分析回溯算法之n个整数全排列

回溯算法之n个整数全排列问题描述设有n个整数的集合{1,2,…,n},从中取出任意r个数进行排列(r<n),试列出所有的排列。算法分析代码#include<cstdio>#include<iostream>#include<iomanip>using namespace std;int num=0,a[10001]={0},n,r;b...

2019-10-23 08:30:29 869

原创 算法设计与分析回溯算法之素数环问题

回溯算法素数环问题问题描述素数环:从1到20这20个数摆成一个环,要求相邻的两个数的和是一个素数。算法分析【算法流程】1、数据初始化;2、递归填数:判断第i个数填入是否合法;A、如果合法:填数;判断是否到达目标(20个已填完):是,打印结果;不是,递归填下一个;(剪枝条件)B、如果不合法:选择下一种可能;代码#include<cstdio>#include&lt...

2019-10-23 08:23:52 1266

原创 算法设计与分析贪心算法之汽车加油问题

汽车加油问题问题描述一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应哪些加油站停靠加油,使沿途加油次数最少。对于给定的n(n <= 5000)和k(k <= 1000)个加油站位置,编程计算最少加油次数。要求:输入:第一行有2个正整数n和k,表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1行中,有k+1个整数,表示第k个加油站与第k-1个...

2019-10-16 08:24:05 786

原创 算法设计与分析贪心算法之删数问题

删数问题问题描述给定n位正整数a,去掉其中任意k≤n个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案(顺序不改变)。输入第1行是1个正整数a,第2行是正整数k。输出对于给定的正整数a,编程计算删去k个数字后得到的最小数。给定n位正整数a,去掉其中任意k≤n个数字后,剩下的数字按原次序排列组成一个新的...

2019-10-16 08:16:59 1395

原创 算法设计与分析贪心算法之活动安排问题

活动安排问题问题描述设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<fi。如果选择了活动i,则它在半开时间区间[si ,fi )内占用资源。若区间[si ,fi )与区间[sj,fj )不相交,则称活动i与活动j是相容的。当 si ≥ f...

2019-10-16 08:11:05 497

原创 算法设计与分析之取余运算

算法设计与分析之取余运算问题描述输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整形数。【输入样例】mod.in2 10 9【输出样例】mod.out2^10 mod 9=7算法分析本题主要的难点在于数据规模很大(b,p都是长整型数),对于b^p显然不能死算,那样的话时间复杂度和编程复杂度都很大。显然对于任何一个自然数P,有P=2 * P/2 + P%2,...

2019-10-09 09:05:18 1039

原创 算法设计与分析之整数因子分解

算法设计与分析之整数因子分解问题描述大于1的正整数n可以分解为:问题分析当n=12时,共有8种不同的分解式:对于给定的正整数n,编程计算n共有多少种不同的分解式。当n=12时,整数因子分解方案代码#include<iostream>#include <string>#include <set>using namespace std;...

2019-10-09 08:44:30 798

原创 算法设计与分析之半数集问题

算法设计与分析之半数集问题问题描述要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(n<=500),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数字的一半;3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.如输入6,则有6162612636136问题分析输入6可以得...

2019-10-09 08:33:28 473

原创 算法设计与分析之输油管道问题

输油管道问题问题描述某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n口油井的油田。从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连。如果给定n口油井的位置,即它们的x坐标(东西向)和y坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置?给定n口油井的位置,编程计算各油井到主管道之间的输油管道最小长度总和。输入第1...

2019-09-25 09:08:59 1664

原创 算法设计与分析之众数和重数

分治策略:众数和重数问题描述给定含有n个元素的多重集合S,每个元素在S中的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。众数为2,其重数为3。任务:对于给定的由n个自然数组成的多重数集S,编程计算S的众数及其重数。问题分析将第一个数作为轴值,对序列进行分割,得到两个子序列(不包括轴值),并统计出现次数cout如果cout大于分割得到的两...

2019-09-25 08:40:07 2060 2

原创 算法设计与分析之线性时间选择

选择问题:线性时间选择问题描述元素选择问题:给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素。解决方法:方法1. 排序时间复杂度O(nlogn)方法2:优先队列时间复杂度O(nlogn)对于给定的n个元素的数组a[0:n—1],要求从中找出第k小的元素。输入;输入有多组测试例。对每一个测试例有2行,第一行是整数n和k(1≤k<n≤1000),第二...

2019-09-25 08:35:51 1644

原创 算法设计与分析分治策略之棋盘覆盖

分治策略:棋盘覆盖问题描述在一个2k×2k个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。覆盖任意一个2k×2k的特殊棋盘,用到的骨牌数恰好为(4K-1)/3。说明:L型骨牌进行旋转之后,形状是一致的。问题:对...

2019-09-25 08:15:32 494

原创 算法设计与分析分治策略之循环赛日程表

分治策略:循环赛日程表问题描述循环赛日程表问题,设有n=2k个选手要进行循环赛,设计一个满足以下要求的比赛日程表:1.每个选手必须与其他n-1个选手各赛一次;2.每个选手一天只能赛一次;3.循环赛一共进行n-1天。问题分析行标(或列标)作为运动员编号整个表格(n*n)的表格是对称的结构i行(18行)j(17列,行标除外)表示第i个选手第j天的比赛对手代码#include ...

2019-09-25 08:09:07 597

原创 算法设计与分析之整数划分问题

递归算法:整数划分问题描述将正整数n表示成一系列正整数之和:n=n1+n2+…+nk,其中n1≥n2≥…≥nk≥1,k≥1。正整数n的这种表示称为正整数n的划分。求正整数n的不同划分个数。例如:正整数6有如下11种不同的划分:6;5+1;4+2,4+1+1;3+3,3+2+1,3+1+1+1;2+2+2,2+2+1+1,2+1+1+1+1;1+1+1+1+1+1。分析...

2019-09-22 13:39:30 1393

原创 算法设计与分析之全排列问题

递归算法之全排列问题问题描述设计一个递归算法生成n个元素{r1,r2,…,rn}的全排列(n!种)。设R={r1,r2,…,rn}是要进行排列的n个元素,Ri=R-{ri}。集合X中元素的全排列记为perm(X)。(ri)perm(X)表示在全排列perm(X)的每一个排列前加上前缀得到的排列。分析当n=1时,perm®=®,其中r是集合R中唯一的元素;当n>1时,per...

2019-09-22 13:21:57 663

原创 算法设计与分析递归算法之正序输出一个正整数

递归算法七:正序输出一个正整数分析如果n/10==0,则输出n;否则先对n/10进行相同处理之后,cout<<n%10;代码void Reverse( int n){ if(n/10==0) cout<<n; else{ Reverse(n/10); cout<<n%10; }}main(){ Revers...

2019-09-22 13:17:54 624

原创 算法设计与分析递归算法之逆序输出一个正整数

递归算法六:逆序输出一个正整数分析如果n/10==0,则输出n;否则输出n%10,然后,对n/10进行相同处理代码void Reverse( int n){ if(n/10==0) cout<<n; else{ cout<<n%10; Reverse(n/10); }}main(){ Reverse(12345);}...

2019-09-22 13:16:20 1010

原创 算法设计与分析递归算法之十进制转任意进制

递归算法五:十进制转任意进制分析边界条件十进制数除以要转换的进制数等于零时,可直接输出这个十进制数递归条件根据除基数,取余数,结果倒排序的规则进行处理,直到商为0结束代码#include <iostream>using namespace std;void change(int a, int radix){ if(a!=0) { change(a/radix,r...

2019-09-22 13:14:30 491

原创 算法设计与分析递归算法之猴子摘桃

递归算法四:猴子摘桃问题描述猴子第一天采摘了一些桃子,第二天吃了第一天的一半多一个,第三天吃了第二天的一半多一个…直到第十天就剩下一个。问:猴子第一天摘了多少桃子?分析边界条件第十天剩一个桃子,即peachesNumber(10) = 1递归条件peachesNumber(day) = peachesNumber(day-1)/2 - 1;转化一下peachesNumber(da...

2019-09-22 13:10:46 1452

原创 算法设计与分析递归算法之汉诺塔问题

汉诺塔移动规则:每次只能移动一个圆盘;圆盘可以插在A、 B和C中的任何一个塔座上;任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。分析边界条件只有一个圆环时,只需将圆环从第一座塔移到第三座塔递归条件1、从第一座塔把n-1个圆环移到第二座塔,用第三座塔做辅助2、从第一座塔把第n个圆环移到第三座塔3、从第二座塔把n-1个圆环移到第三座塔,用第一座塔做辅助代码void mo...

2019-09-22 13:06:45 526

原创 算法设计与分析递归算法之Fibonacci数列

递归算法二:Fibonacci数列无穷数列1,1,2,3,5,8,13,21,34,55,…,被称为Fibonacci数列。分析第n个Fibonacci数可递归地计算如下:代码int fibonacci(int n){ if (n <= 1) return 1; return fibonacci(n-1)+fibonacci(n-2); }...

2019-09-22 13:04:07 555

原创 算法设计与分析递归算法之阶乘

递归算法一:阶乘分析n=0 时,n!=1为边界条件n>0 时,n!=n(n-1)!为递归方程边界条件与递归方程是递归函数的二个要素,递归函数只有具备了这两个要素,才能在有限次计算后得出结果。代码int factorial(int num){ if(num == 1 || num == 0) return 1; return factorial(num-1)*nu...

2019-09-22 13:01:33 619

空空如也

空空如也

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

TA关注的人

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