实验一
实验名称:递归与分治算法设计
实验室名称:906
实验台号:11
学生姓名: 周唯唯
专业班级: 15-计科-1
指导教师:李艳娟
实验日期:2017-9-18
一、 实验目的
通过棋盘覆盖问题或合并排序问题及集合最大元问题,掌握分治算法的基本思想,掌握分治算法的设计步骤及用递归技术实现分治策略。
二、实验仪器及环境:
PC计算机;windows XP操作系统、Visual C++6.0
二、 实验内容及结果
1、 棋盘覆盖问题
在一个2k ×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。
#include
using namespacestd;
int tile = 1;//全局变量骨牌编号
intBoard[4][4];//棋盘
voidChessBoard(int tr,int tc,int dr,int dc,int size);
int main()
{
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
{
Board[i][j] = 0;
}
}
ChessBoard(0,0,0,1,4);
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
{
cout<
}
cout<
}
}
/**
* tr : 棋盘左上角的行号,tc棋盘左上角的列号
* dr : 特殊方格左上角的行号,dc特殊方格左上角的列号
* size :size = 2^k 棋盘规格为2^k*2^k
*/
voidChessBoard(int tr,int tc,int dr,int dc,int size)
{
if(size == 1)
{
return;
}
int t = tile++;//L型骨牌编号
int s = size/2;//分割棋盘
//覆盖左上角子棋盘
if(dr
{
ChessBoard(tr,tc,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖右下角
Board[tr+s-1][tc+s-1] = t;
//覆盖其余方格
ChessBoard(tr,tc,tr+s-1,tc+s-1,s);
}
//覆盖右上角子棋盘
if(dr
=tc+s)//特殊方格在此棋盘中
{
ChessBoard(tr,tc+s,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖左下角
Board[tr+s-1][tc+s] = t;
//覆盖其余方格
ChessBoard(tr,tc+s,tr+s-1,tc+s,s);
}
//覆盖左下角子棋盘
if(dr>=tr+s && dc
{
ChessBoard(tr+s,tc,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖右上角
Board[tr+s][tc+s-1] = t;
//覆盖其余方格
ChessBoard(tr+s,tc,tr+s,tc+s-1,s);
}
//覆盖右下角子棋盘
if(dr>=tr+s && dc>=tc+s)//特殊方格在此棋盘中
{
ChessBoard(tr+s,tc+s,dr,dc,s);
}
else//特殊方格不在此棋盘中
{
//用编号为t的骨牌覆盖左上角
Board[tr+s][tc+s] = t;
//覆盖其余方格
ChessBoard(tr+s,tc+s,tr+s,tc+s,s);
}
}
输入:
4*4的矩阵 特殊位置是(0,1)
输出:如图
2、合并排序问题
对n个元素组成的序列进行排序。
基本思想:将待排序元素分成大小大致相同的两个子集合,分别对两个集合进行排序,最终将排序好的子集合合并成所要求的排好序的集合。
#include
#include
void Merge(int *c ,int *d,int l,intm,int r)
{
int i=l;
int j=m+1;
int k=l;
while((i<=m)&&(j<=r))
{
if(c[i]<=c[j])
{
d[k++]=c[i++];
}
else
{
d[k++]=c[j++];
}
}
int q;
if(i
{
for(q=i;q<=m;q++)
{
d[k++]=c[q];
}
}
else
{
for(q=j;q<=r;q++)
{
d[k++]=c[q];
}
}
}
void MergeSort(int *a,int *b,intleft,int right)
{
if(left
{
int i=(left+right)/2;
MergeSort(a,b,left,i);
MergeSort(a,b,i+1,right);
Merge(a,b,left,i,right);//合并到b
int j;
for(j=left;j<=right;j++)//每次合并一次就给a更新
{
a[j]=b[j];
}
}
}
int main()
{
int n,i;
printf("请输入数组元素的个数:");
scanf("%d",&n);
int *a=(int *)malloc(sizeof(int)*n);
int *b=(int *)malloc(sizeof(int)*n);//临时数组
printf("请输入要排序的数组:");
for(i=0;i
{
scanf("%d",&a[i]);
}
MergeSort(a,b,0,n-1);
//排序后
for(i=0;i
{
printf("%d ",a[i]);
}
return 0;
}
输入:
数组元素个数6
待排序的数组元素为:0 4 8 2 6 9
输出:
合并排序后结果为:0 2 4 6 8 9
3、集合最大元问题
在规模为n的数据元素集合中找出最大元。当n=2时,一次比较就可以找出两个数据元素的最大元和最小元。当n>2时,可以把n个数据元素分为大致相等的两半,一半有n/2个数据元素,而另一半有n/2个数据元素。 先分别找出各自组中的最大元,然后将两个最大元进行比较,就可得n个元素的最大元
#include
#include
int cal(int *a,int left,int right)
{
if(left==right)
return a[left];
else if(left+1==right)
returna[left]>a[right]?a[left]:a[right];
else
{
intmax_left=cal(a,left,(left+right)/2);
intmax_right=cal(a,(left+right)/2+1,right);
returnmax_left>max_right?max_left:max_right;
}
}
int main()
{
int n;
printf("请输入数组的个数:");
scanf("%d",&n);
int *a=(int*)malloc(sizeof(int)*n);
printf("请输入原始数据:");
int i;
for(i=0;i
{
scanf("%d",&a[i]);
}
printf("最大的数为:%d",cal(a,0,n-1));
return 0;
}
输入:
请输入数组的个数:6
请输入原始数据:04 8 2 1 3
输出:
最大的数为:8
四、实验心得体会:(包括遇到的问题及解决办法)
1.棋盘覆盖
注意0为初始化的矩阵值
tile从1开始
2.合并排序:
问题(1):一开始不知道临时数组b该在哪里声明
解决:int *b=(int *)malloc(sizeof(int)*n);//临时数组应在调用Mergesort()之前就开辟空间,然后调用合并排序传参,这样可以节省空间。
问题(2):什么时候将数组复制
全部分好以后,每次合并一次就给a更新,然后再继续合并
3.集合最大元:
问题:动态开辟内存空间应该怎么传递参数
解决:直接将指针作为参数传递,使函数中的指针临时指向所开辟的内存
五、指导教师意见及成绩
签名:
年月日
你可能感兴趣的:(算法设计与分析)
算法设计与分析 合并排序的递归实现算法
Jxcupupup
算法 算法 算法设计与分析
合并排序的递归实现算法。输入:先输入进行合并排序元素的个数,然后依次随机输入(或随机生成)每个数字。输出:元素排序后的结果,数字之间不加任何标识符。示//完整代码在GitHub上//https://github.com/Jxcup/Course_Algorithm_Analysis-Design/blob/main/MergeSort_iteration.cpp//合并排序递归#includeus
算法设计与分析期末复习题汇总
wisdom_zhe
Java题库 算法
文章目录1、选择题1.1选择题11.2选择题22、判断题2.1判断题12.2判断题23、填空题3.1算法填空3.2填空题24、简答题1、选择题1.1选择题11、下列不是动态规划算法基本步骤的是(A)。A、找出最优解的解空间B、构造最优解C、算出最优解D、定义最优解2、最大效益优先是(A)的一搜索方式。A、分支界限法B、动态规划法C、贪心法D、回溯法3、最长公共子序列算法利用的算法是(B)。A、分支
算法设计与分析第一堂课笔记复习
海海不掉头发
习题 每天学习一点点 笔记all 算法 笔记
算法是解决问题的一种方法或一个过程,是由若干条指令组成的又穷序列,算法的性质输入:有零个或多个输出:“至少一个”确定性:组成算法的每条指令清晰无歧义有限性:算法中每条指令和执行次数和执行时间都是有限的。算法与程序的区别:程序是算法用某种程序设计语言额具体实现的,可以不满足有限性。1.2算法的复杂性分析算法的复杂性分为**时间复杂性**和空间复杂性三种情况下的时间复杂性,可操作性最好最有实际价值的是
Leetcode刷题记录分享——数据结构(队列) #200 岛屿数量
三年买房不是梦
Leetcode数据结构 leetcode 数据结构 队列 bfs
Leetcode刷题记录分享——数据结构(队列)PS:刷题两周了,每周天会专门抽出一段时间来刷Leetcode,这学期在学算法设计与分析,根据课程内容,第一周刷动态规划题目,第二周刷的贪心算法。打算从这周开始刷数据结构。数据结构是大二上学期学的了,过去了一年,当时学的也不扎实,现在通过Leetcode理论+实践重新学习一下。我刷Leetcode会先看一下优质解答,肚里没货硬刚也刚不出来,主要是学习
算法设计与分析学习(6)——数论
罗塞菈桔梨萝柚
算法学习 算法 线性代数
数论整除基本概念若aaa和bbb为整数,且a≠0a≠0a=0若存在整数qqq使得b=aqb=aqb=aq,那么就说aaa可以整除bbb或是bbb被aaa整除,记作a∣ba|ba∣b。aaa也被称为bbb的约数,bbb也被称为a的倍数。若bbb不能被aaa整除,则记作a∤ba\not{|}ba∣b。整数p≠0,±1p≠0,±1p=0,±1,且除了±1,±p±1,±p±1,±p外没有其他的约数
【Rust】——采用发布配置自定义构建
Y小夜
Rust(官方文档重点总结) rust 开发语言 后端
博主现有专栏:C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等主页链接:Y小夜-CSDN博客今日学习推荐:在当今这个飞速发展的信息时代,人工智能(AI)已经成为了一个不可或
【Rust】——高级类型
Y小夜
Rust(官方文档重点总结) rust 开发语言 后端
博主现有专栏:C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等主页链接:Y小夜-CSDN博客目录为了类型安全和抽象而使用的newtype模式类型别名用来创建类型同义词不返回
educoder算法设计与分析 实验六 分支限界法拓展
xingcheng--dp
笔记 算法
实验六分支限界法拓展第1关:装载问题(FIFO优先队列法)第2关:装载问题(最优队列法)第1关:装载问题(FIFO优先队列法)//装载问题队列式分支限界法求解#include"Queue.h"#includeusingnamespacestd;intN=0;templateclassQNode{public:QNode*parent;//指向父节点的指针boolLChild;//左儿子标识Type
深入探索数据结构技术:理论、实践与应用
小码快撩
数据结构
导语数据结构作为计算机科学的基础核心领域,不仅深刻影响着算法的设计与效率,而且在软件开发、数据分析、人工智能等诸多领域中扮演着关键角色。本文旨在全面梳理数据结构的技术学习点,涵盖理论知识、实际应用、算法设计与分析等方面,为读者提供一个系统化的学习路径,助力提升对数据结构的理解与应用能力。一、数据结构基本概念数据结构基本概念是理解计算机科学中数据存储、组织和管理方式的基础。以下是对数据结构基本概念的
【Rust】——Vector集合
Y小夜
Rust(官方文档重点总结) rust 开发语言 后端
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【算法分析】实验 3. 基于动态规划方法求解0-1背包问题
weixin_30657541
数据结构与算法 python
目录实验内容实验目的实验结果步骤1步骤2步骤3步骤4步骤5步骤6实验结果实验总结实验内容本实验要求基于算法设计与分析的一般过程(即待求解问题的描述、算法设计、算法描述、算法正确性证明、算法分析、算法实现与测试),在针对0-1背包问题求解的实践中理解动态规划(DynamicProgramming,DP)方法的思想、求解策略及步骤。作为挑战:可以考虑基于跳跃点的改进算法,以及对连续型物品重量/背包容量
【算法设计与分析】有效的字母异位词
五敷有你
算法分析与设计 java 开发语言 leetcode 数据结构 算法
个人主页:五敷有你系列专栏:算法分析与设计⛺️稳中求进,晒太阳题目给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。示例示例1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false思路首先判断两个字符串长度是否相等,不相等则直接返回false若
【Rust】——猜数游戏
Y小夜
Rust(官方文档重点总结) 游戏 rust
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【Rust】——Hello_cargo
Y小夜
Rust(官方文档重点总结) rust 开发语言 后端
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【Linux】——期末复习题(四)
Y小夜
Linux linux 运维 服务器
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【MySQL题】——基础概念论述(二)
Y小夜
MySQL mysql 数据库
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【算法设计与分析】求根节点到叶节点数字之和
五敷有你
算法分析与设计 算法 数据结构
个人主页:五敷有你系列专栏:算法分析与设计⛺️稳中求进,晒太阳题目给你一个二叉树的根节点root,树中每个节点都存放有一个0到9之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径1->2->3表示数字123。计算从根节点到叶节点生成的所有数字之和。叶节点是指没有子节点的节点。示例示例示例1:输入:root=[1,2,3]输出:25解释:从根到叶子节点路径1->2代表
【算法设计与分析】最小覆盖字串
五敷有你
算法分析与设计 算法 leetcode 数据结构 java
个人主页:五敷有你系列专栏:算法分析与设计⛺️稳中求进,晒太阳题目给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果s中存在这样的子串,我们保证它是唯一的答案。示例示例1:输入:s="ADOBECODEBANC",t="ABC"输出:"BANC
算法设计与分析-习题-动态规划法求解多段图的最短路径问题(动态规划法)
呆毛小叮
算法设计与分析 算法
问题描述用动态规划法求解如图所示多段图中从顶点0到9的最短路径。问题求解图中顶点编号已经按照多段图的分段顺序编号,用动态规划法求解该多段图的过程如下:最后,得到最短的路径为0、2、6、7、9,费用是97。
【Rust】——基础Hello_world
Y小夜
Rust rust 开发语言 后端
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【MySQL】——数据定义
Y小夜
MySQL mysql 数据库
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【Rust】——rust前言与安装rust
Y小夜
Rust rust 开发语言 后端
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【MySQL】——忘记密码后如何修改密码
Y小夜
MySQL mysql 数据库
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【Linux】——期末复习题(二)
Y小夜
Linux linux 运维 服务器
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
【MySQL】——用SQL语句实现数据库和基本表的创建
Y小夜
MySQL 数据库 mysql
个人专栏:算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客Java基础:Java基础_IT闫的博客-CSDN博客c语言:c语言_IT闫的博客-CSDN博客MySQL:数据结构_IT闫的博客-CSDN博客数据结构:数据结构_IT闫的博客-CSDN博客C++:C++_IT闫的博客-CSDN博客C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客基于HTML5的网页设计
跳跃表解决01背包问题
当当小螳螂
背包问题 跳跃点
跳跃表解决01背包问题挺有意思的题目看算法设计与分析有跳跃点实现,解决空间复杂度,感觉好烧脑,就实现了一下结果代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.InteropServices.ComTypes;usingSystem.Text;usingSystem.Threadin
nefu算法设计与分析实验三【python】
xw喜欢编程
python 人工智能
最优服务次序问题(1)问题描述:设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti,1=0:n=n-t[i]else:n=sn=n-t[i-1]c=c+1print(k-c)读题没看明白,一定要认真读题。
算法设计与分析实验:堆排序与分治
长安er
算法分析与设计 算法 最小堆 分治 堆排序
目录一、合并K个升序链表1.1采用堆排序的思路1.2采用优先队列的思路1.3采用分治的思路及具体测试二、数据流中的中位数编辑2.1具体思路2.2代码实现2.3测试结果三、数组中的第k个最大元素3.1采用分治思路3.2采用最小堆四、最小K个数4.1采用快速排序思路4.2采用堆的思想一、合并K个升序链表力扣第23题1.1采用堆排序的思路具体思路首先,我们遍历链表数组,将每个链表的头节点添加到一个列表中
算法设计与分析实验:并查集与生成树
长安er
算法分析与设计 python 算法 数据结构 编程 并查集 哈希表 动态规划
目录一、情侣牵手1.1采用并查集的思想1.2采用动态规划的思想二、账户合并2.1具体思路2.2思路呈现2.3代码实现2.4复杂度分析三、连接所有点的最小费用3.1思路一:最小生成树3.2思路二:并查集鸡汤一、情侣牵手力扣第765题1.1采用并查集的思想(1)具体思路问题是给定一组情侣的座位,其中有些座位配对正确,有些座位需要进行交换来使情侣并肩坐在一起。我们思路一使用并查集来解决这个问题。首先,我
算法设计与分析实验:滑动窗口与二分查找
长安er
算法分析与设计 算法 滑动窗口 二分查找 递归 迭代
目录一、寻找两个正序数组的中位数1.1具体思路1.2流程展示1.3代码实现1.4代码复杂度分析1.5运行结果二、X的平方根2.1具体思路2.2流程展示2.3代码实现2.4代码复杂度分析2.5运行结果三、两数之和II-输入有序数组3.1采用二分查找的思想3.2采用滑动窗口的思想四、二叉搜索树中的插入操作4.1采用递归的思想4.2采用迭代的思想一、寻找两个正序数组的中位数力扣第四题1.1具体思路本题采
插入表主键冲突做更新
a-john
有以下场景:
用户下了一个订单,订单内的内容较多,且来自多表,首次下单的时候,内容可能会不全(部分内容不是必须,出现有些表根本就没有没有该订单的值)。在以后更改订单时,有些内容会更改,有些内容会新增。
问题:
如果在sql语句中执行update操作,在没有数据的表中会出错。如果在逻辑代码中先做查询,查询结果有做更新,没有做插入,这样会将代码复杂化。
解决:
mysql中提供了一个sql语
Android xml资源文件中@、@android:type、@*、?、@+含义和区别
Cb123456
@+ @ ? @*
一.@代表引用资源
1.引用自定义资源。格式:@[package:]type/name
android:text="@string/hello"
2.引用系统资源。格式:@android:type/name
android:textColor="@android:color/opaque_red"
数据结构的基本介绍
天子之骄
数据结构 散列表 树、图 线性结构 价格标签
数据结构的基本介绍
数据结构就是数据的组织形式,用一种提前设计好的框架去存取数据,以便更方便,高效的对数据进行增删查改。正确选择合适的数据结构,对软件程序的高效执行的影响作用不亚于算法的设计。此外,在计算机系统中数据结构的作用也是非同小可。例如常常在编程语言中听到的栈,堆等,就是经典的数据结构。
经典的数据结构大致如下:
一:线性数据结构
(1):列表
a
通过二维码开放平台的API快速生成二维码
一炮送你回车库
api
现在很多网站都有通过扫二维码用手机连接的功能,联图网(http://www.liantu.com/pingtai/)的二维码开放平台开放了一个生成二维码图片的Api,挺方便使用的。闲着无聊,写了个前台快速生成二维码的方法。
html代码如下:(二维码将生成在这div下)
? 1
&nbs
ImageIO读取一张图片改变大小
3213213333332132
java IO image BufferedImage
package com.demo;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
/**
* @Description 读取一张图片改变大小
* @author FuJianyon
myeclipse集成svn(一针见血)
7454103
eclipse SVN MyEclipse
&n
装箱与拆箱----autoboxing和unboxing
darkranger
J2SE
4.2 自动装箱和拆箱
基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。虽然为您打包基本数据类型提供了方便,但提供方便的同时表示隐藏了细节,建议在能够区分基本数据类型与对象的差别时再使用。
4.2.1 autoboxing和unboxing
在Java中,所有要处理的东西几乎都是对象(Object)
ajax传统的方式制作ajax
aijuans
Ajax
//这是前台的代码
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+
只用jre的eclipse是怎么编译java源文件的?
avords
java eclipse jdk tomcat
eclipse只需要jre就可以运行开发java程序了,也能自动 编译java源代码,但是jre不是java的运行环境么,难道jre中也带有编译工具? 还是eclipse自己实现的?谁能给解释一下呢问题补充:假设系统中没有安装jdk or jre,只在eclipse的目录中有一个jre,那么eclipse会采用该jre,问题是eclipse照样可以编译java源文件,为什么呢?
&nb
前端模块化
bee1314
模块化
背景: 前端JavaScript模块化,其实已经不是什么新鲜事了。但是很多的项目还没有真正的使用起来,还处于刀耕火种的野蛮生长阶段。 JavaScript一直缺乏有效的包管理机制,造成了大量的全局变量,大量的方法冲突。我们多么渴望有天能像Java(import),Python (import),Ruby(require)那样写代码。在没有包管理机制的年代,我们是怎么避免所
处理百万级以上的数据处理
bijian1013
oracle sql 数据库 大数据 查询
一.处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 o
mac 卸载 java 1.7 或更高版本
征客丶
java OS
卸载 java 1.7 或更高
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
成功执行此命令后,还可以执行 java 与 javac 命令
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
成功执行此命令后,还可以执行 java
【Spark六十一】Spark Streaming结合Flume、Kafka进行日志分析
bit1129
Stream
第一步,Flume和Kakfa对接,Flume抓取日志,写到Kafka中
第二部,Spark Streaming读取Kafka中的数据,进行实时分析
本文首先使用Kakfa自带的消息处理(脚本)来获取消息,走通Flume和Kafka的对接 1. Flume配置
1. 下载Flume和Kafka集成的插件,下载地址:https://github.com/beyondj2ee/f
Erlang vs TNSDL
bookjovi
erlang
TNSDL是Nokia内部用于开发电信交换软件的私有语言,是在SDL语言的基础上加以修改而成,TNSDL需翻译成C语言得以编译执行,TNSDL语言中实现了异步并行的特点,当然要完整实现异步并行还需要运行时动态库的支持,异步并行类似于Erlang的process(轻量级进程),TNSDL中则称之为hand,Erlang是基于vm(beam)开发,
非常希望有一个预防疲劳的java软件, 预防过劳死和眼睛疲劳,大家一起努力搞一个
ljy325
企业应用
非常希望有一个预防疲劳的java软件,我看新闻和网站,国防科技大学的科学家累死了,太疲劳,老是加班,不休息,经常吃药,吃药根本就没用,根本原因是疲劳过度。我以前做java,那会公司垃圾,老想赶快学习到东西跳槽离开,搞得超负荷,不明理。深圳做软件开发经常累死人,总有不明理的人,有个软件提醒限制很好,可以挽救很多人的生命。
相关新闻:
(1)IT行业成五大疾病重灾区:过劳死平均37.9岁
读《研磨设计模式》-代码笔记-原型模式
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* Effective Java 建议使用copy constructor or copy factory来代替clone()方法:
* 1.public Product copy(Product p){}
* 2.publi
配置管理---svn工具之权限配置
chenyu19891124
SVN
今天花了大半天的功夫,终于弄懂svn权限配置。下面是今天收获的战绩。
安装完svn后就是在svn中建立版本库,比如我本地的是版本库路径是C:\Repositories\pepos。pepos是我的版本库。在pepos的目录结构
pepos
component
webapps
在conf里面的auth里赋予的权限配置为
[groups]
浅谈程序员的数学修养
comsci
设计模式 编程 算法 面试 招聘
浅谈程序员的数学修养
批量执行 bulk collect与forall用法
daizj
oracle sql bulk collect forall
BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎。通常可以在SELECT INTO、
FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT。本文将逐一描述BULK COLLECT在这几种情形下的用法。
有关FORALL语句的用法请参考:批量SQL之 F
Linux下使用rsync最快速删除海量文件的方法
dongwei_6688
OS
1、先安装rsync:yum install rsync
2、建立一个空的文件夹:mkdir /tmp/test
3、用rsync删除目标目录:rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。
Yii CModel中rules验证规格
dcj3sjt126com
rules yii validate
Yii cValidator主要用法分析:
yii验证rulesit 分类: Yii yii的rules验证 cValidator主要属性 attributes ,builtInValidators,enableClientValidation,message,on,safe,skipOnError
 
基于vagrant的redis主从实验
dcj3sjt126com
vagrant
平台: Mac
工具: Vagrant
系统: Centos6.5
实验目的: Redis主从
实现思路
制作一个基于sentos6.5, 已经安装好reids的box, 添加一个脚本配置从机, 然后作为后面主机从机的基础box
制作sentos6.5+redis的box
mkdir vagrant_redis
cd vagrant_
Memcached(二)、Centos安装Memcached服务器
frank1234
centos memcached
一、安装gcc
rpm和yum安装memcached服务器连接没有找到,所以我使用的是make的方式安装,由于make依赖于gcc,所以要先安装gcc
开始安装,命令如下,[color=red][b]顺序一定不能出错[/b][/color]:
建议可以先切换到root用户,不然可能会遇到权限问题:su root 输入密码......
rpm -ivh kernel-head
Remove Duplicates from Sorted List
hcx2013
remove
Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return&
Spring4新特性——JSR310日期时间API的支持
jinnianshilongnian
spring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
浅谈enum与单例设计模式
247687009
java 单例
在JDK1.5之前的单例实现方式有两种(懒汉式和饿汉式并无设计上的区别故看做一种),两者同是私有构
造器,导出静态成员变量,以便调用者访问。
第一种
package singleton;
public class Singleton {
//导出全局成员
public final static Singleton INSTANCE = new S
使用switch条件语句需要注意的几点
openwrt
c break switch
1. 当满足条件的case中没有break,程序将依次执行其后的每种条件(包括default)直到遇到break跳出
int main()
{
int n = 1;
switch(n) {
case 1:
printf("--1--\n");
default:
printf("defa
配置Spring Mybatis JUnit测试环境的应用上下文
schnell18
spring mybatis JUnit
Spring-test模块中的应用上下文和web及spring boot的有很大差异。主要试下来差异有:
单元测试的app context不支持从外部properties文件注入属性
@Value注解不能解析带通配符的路径字符串
解决第一个问题可以配置一个PropertyPlaceholderConfigurer的bean。
第二个问题的具体实例是:
 
Java 定时任务总结一
tuoni
java spring timer quartz timertask
Java定时任务总结 一.从技术上分类大概分为以下三种方式: 1.Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务; 说明: java.util.Timer定时器,实际上是个线程,定时执行TimerTask类 &
一种防止用户生成内容站点出现商业广告以及非法有害等垃圾信息的方法
yangshangchuan
rank 相似度计算 文本相似度 词袋模型 余弦相似度
本文描述了一种在ITEYE博客频道上面出现的新型的商业广告形式及其应对方法,对于其他的用户生成内容站点类型也具有同样的适用性。
最近在ITEYE博客频道上面出现了一种新型的商业广告形式,方法如下:
1、注册多个账号(一般10个以上)。
2、从多个账号中选择一个账号,发表1-2篇博文