自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 surfaceview

使用surfaceview步骤如下:第一步:继承SurfaceView并实现SurfaceHolder.Callback接口第二步: SurfaceView.getHolder()获得SurfaceHolder对象第三步:SurfaceHolder.addCallback(callback)添加回调函数第四步:SurfaceHolder.lockCanvas

2015-07-31 18:07:48 468

原创 javaweb之过滤器

开发Filter        想要开发一个过滤器需要如下两个步骤:            (1)写一个类实现特定的接口Filter                生命周期:当服务器启动时,web应用加载后,立即创建这个web应用中的所有的过滤器,过滤器创建出来后立即调用init方法执行初始化的操作.                创建出来后一直驻留在内存中为后续的拦截进行服务.每

2015-07-19 11:09:09 355

原创 Servlet监听器

监听器:Servlet规范定义三门技术之一 Servlet、监听器、过滤器javaee提供了八种监听器,分为了三类:(1)写一个类去实现监听器接口(2)在web.xml中注册监听器1.用来监听三大作用于创建和销毁的监听器ServletContextListener:监听ServletContex域创建和销毁的监听器 生命周期:web应用加载后立即创建代表当前

2015-07-18 23:18:39 365

原创 事务

事务    事务的概念:事务是指逻辑上的一组操作,这组操作要么同时完成要么同时不完成.          事务的管理:默认情况下,数据库会自动管理事务,管理的方式是一条语句就独占一个事务.                如果需要自己控制事务也可以通过如下命令开启/提交/回滚事务                start transaction;

2015-07-18 17:35:21 331

原创 JDBC

JDBC数据库驱动:数据库厂商为了方便开发人员从程序中操作数据库而提供的一套jar包,通过导入这个jar包就可以调用其中的方法操作数据库,这样的jar包就叫做数据库驱动JDBC:sun定义的一套标准,本质上是一大堆的操作数据库的接口,所有数据库厂商为java设计的数据库驱动都实现过这套接口,这样一来同一了不同数据库驱动的方法,开发人员只需要学习JDBC就会使用任意数据库驱动了

2015-07-18 17:09:34 384

原创 JSP

JSP    1.jsp技术        jsp是sun提供动态web资源开发技术。为了解决在Servlet中拼写html内容css、js内容十分不方便的问题,sun提供了这样一门技术。如果说Servlet是在java中嵌套HTML,则jsp就是在HTML中嵌套java代码,从而十分便于组织html页面                jsp页面在第一次被访问到时会被jsp翻译引擎

2015-07-18 11:51:39 404

原创 提取访问百度次数最多的ip

先遍历一遍ip,将ip按照前多少位进行分段,比如前5位,则会产生32个ip文件,统计每个文件的最大次数,最后比较32个文件的最大次数就得到了想要的结果。怎样判断海量数据中是否有某一个数呢?用位图的方法将遍历海量数据将对应的位置1,如果要查询的数标志位为1,则有这个数,反之则无。

2015-06-30 18:28:20 406

原创 判断回文的方法总结

什么是回文?      回文就是一个字符串正反两种读取方式结果都一样。判断回文的方法:1.两个指针分别指向字符串的首和尾,看两端所指内容是否相等,如过一直相等,则是回文。时间O(n),空间O(1)2.使用一个链表,通过快慢指针找到中点和尾部,将后半部分链表逆转,然后从头和中间遍历链表,如果一直相等则是回文。3.使用栈,先将回文入栈,然后出栈和 原字符串比较,如果相等则是

2015-06-30 18:08:51 889

原创 动态规划三部曲之解决最长公共子序列问题(三)

#includeusing namespace std;//该函数输出位置矩阵,返回最长长度int LCS(char s1[],int m,char s2[],int n,int **&results) { int **c=(int**)malloc(sizeof(int*)*(m+1)); int **result=(int**)malloc(sizeof(int*)*(m+1

2015-06-30 17:18:12 378

原创 动态规划三部曲之01背包问题的分析和实现(二)

用w[i]表示第i件物品的重量用v[i]表示第i件物品的价值用f[i][j]表示用能 装下总重量为j的背包去装前i件物品能够装最大的价值思考动态规划的第一点----最优子结构:       对于前i件物品,以及给定的包容量,要么第i件物品装进去,要么不装进去,f[i][j]必然存在于二者之一。思考动态规划的第二点----子问题重叠:       对于任意前k

2015-06-30 10:28:13 495

转载 动态规划三部曲之一个故事教你透彻理解动态规划(一)

通过金矿模型介绍动态规划         对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出

2015-06-29 20:35:39 4646 6

原创 多路归并对1000 万无序数排序(外排序)

算法思路:首先根据内存要求将排序文件分成k份,然后循环读这k个文件分别进行排序。  然后用同时打开这k个文件,读出每个文件的第一个数字,找出其中最小的数字写到result.txt文件中并且让这个具有最小数字的文件读取下一个数字,继续找k个文件中的最小数字,直到k个文件都被读取完为止,result 中就是最后排完序的结果。多路归并,时间复杂度为O(k*n/k*logn/k )这种方法由于频繁进行

2015-06-29 18:03:56 562

原创 位图排序1000万的无序数(内存小于1M)

#include #include #include #include using namespace std; const int max_each_scan = 5000000; int main() { clock_t begin = clock(); bitset bit_map; bit_map.rese

2015-06-29 17:29:55 435

原创 如何产生1000万个无序数

#include #include #include using namespace std; const int size = 10000000; int num[size]; int main() { int n; FILE *fp = fopen("data.txt", "w"); assert(fp);

2015-06-29 17:22:54 361

原创 判断两链表相交的问题(分有环和无环,以及求第一个相交结点)

首先用一个函数判断两个链表是否有环  1.如果两个链表都没有环,则判断最后一个结点是否相等,如果相等,则相交,如果不等,则不想交  2.如果只有一个有环,则不相交  3.如果两个都有环,则看其中一个环里的点在另一个环里是否出现,如果出现则相交,否则不相交//判断是否有环,如果有返回true和环中结点,无返回false和最后一个结点typedef ElemType int

2015-06-29 16:33:51 454

原创 求子数组最大和

#includeusing namespace std;#define INF 9999;int method1(int a[],int n){ int max=-INF; int sum=0; for(int i=0;i<n;i++) { for(int j=i;j<n;j++) { for(int k=i;k<=j;k++) sum+=a[k];

2015-06-29 11:07:59 318

原创 求数组中和为某个值的一个组合

#include#includeusing namespace std;//给定一个和,求数组中和为这个值的一组数,O(n)bool findTwoNumOfSum(int a[],int n,int sum,int &num1,int &num2){ int i=0,j=n-1; while(i<j) { if(a[i]+a[j]>sum) j--; if(a[

2015-06-28 15:54:00 897

原创 c语言常见函数自编写

//1.子字符串查找,如果找到返回第一个字符下标,找不到返回-1 复杂度O(m*n)int strfind(const char * str,const char* substr){ if(str==NULL||substr==NULL) { return -1; } int len1=strlen(str); int len2=strlen(substr); if(len

2015-06-28 11:40:33 381

原创 四.求一组数据中最大的K个数

和上篇求最小的K个数有所区别的是,本篇用的是最小堆,其他类似。时间复杂度同样为n*logK;#includeusing namespace std;void adjustHeap(int b[],int s,int k){ int temp=b[s]; for(int i=2*s+1;i<=k;i=i*2+1) { if((i+1)b[i+1]) i++;

2015-06-27 10:37:19 351

原创 三.最小堆统计文章中频率前K个最高的词汇

算法思路:首先将文章中的单词进行哈希函数计算映射到哈希表,哈希表的每个节点包含了关键词以及出现次数,将哈希表记录成文件的形式。接着把哈希表前K个关键字按出现频率构成一个最小堆,然后遍历哈希表,当哈希表中元素的计数大于堆顶元素时,将其赋值给堆顶,同时调整最小堆,直到哈希表被遍历完,这样最终最小堆里面存储的关键词就是出现频率最高的Top K流程图如下:#include #

2015-06-26 16:19:10 594

原创 二.用最小堆方法找出海量数据中最小的k个数

思路:用数组b模拟海量数据的数组,数组a存放最小的k个数,首先将数组b的前k个数赋值给a,对a建最大堆,则此时a[0]存放a的最大元素,然后遍历b中k以后的数据和a[0]比较,如果比a[0]小,则赋值给a[0],并且对a进行重新的调整是a[0]仍然最大,这样知道把b遍历完为止。调整堆用时logk,遍历b用时n,时间复杂度nlogb#includeusing names

2015-06-26 12:21:20 445

原创 一.字符串左旋转问题

举个例子,abcef向左旋转两位得到cefab#includeusing namespace std;char* invert(char* start,char* end){ char *temp=start; char t; while(start<end&&start!=NULL&&end!=NULL) { t=*start; *start=*end;

2015-06-26 11:01:45 319

原创 最小生成树的 克鲁斯卡尔算法

#includeusing namespace std;//该算法的时间复杂度为O(elge);Kruskal算法的时间主要取决于边数,它较适合于稀疏图。#define MAX_VERTEX_SIZE 15#define MAX_EDGE_SIZE 15typedef char vertex;typedef struct edge{ int m; int n; int w;

2015-06-24 17:56:01 369

原创 最小生成树的prim算法实现

MST(Minimum Spanning Tree,最小生成树)问题有两种通用的解法,Prim算法就是其中之一,它是从点的方面考虑构建一颗MST,大致思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到V中任意一点的权值最小,此时将b点也加入集合V;以此类推,现在的集合V={a,b},再从集合U-V中找到另一点c使得点c到V中任

2015-06-24 15:11:27 400

原创 各种排序算法

#includeusing namespace std;#define MAXSIZE 10//1.冒泡排序void bubble_sort(int a[],int n){ for(int i=0;i<n-1;i++) { for(int j=i;j<n;j++) { if(a[i]>a[j]) swap(a[i],a[j]); } }}//2.

2015-06-16 16:36:33 382

原创 哈希表的创建查询插入删除销毁

#includeusing namespace std;#define M 5//定义数据类型typedef int ElemType ;//定义哈希表上挂的链表的结点typedef struct Node{ ElemType data; struct Node *next;}Node,*pNode;//定义哈希表上的表槽typedef struct HashN

2015-06-15 17:52:42 1431

原创 查找二叉树的创建插入查找删除

#includeusing namespace std;typedef int ElemType;typedef struct Node{ ElemType data; struct Node *lchild; struct Node *rchild;}*BSTree;bool search_BSTree(BSTree pTree,int key,BSTree par

2015-06-15 11:46:49 641

原创 二分查找

#includeusing namespace std;//二分查找等于某个数的坐标int bs1(int a[],int size,int v){ int low=0; int high=size-1; int mid; while(low<=high) { mid=low+(high-low)/2; cout<<low <<mid <<high<<endl; i

2015-06-14 13:03:25 295

转载 图的广度优先遍历BFS(分别以邻接矩阵和邻接链表实现)

算法描述:          设图G的初始状态是所有顶点均未被访问过,在G中的任选一顶点vi为初始出发点,则广度优先遍历 可定义如下:首先,访问初始出发点vi,接着依次访问vi的所有邻接点w1,w2,...,wk;然后,依次访问w1,w2,...,wk 的邻接的所有未被访问过的顶点,依次类推,直到图中所有的和初始点vi有路径相通的顶点都被访问过为止。算法实现:         

2015-06-13 17:05:34 3419

原创 图的深度优先遍历DFS(分别以邻接矩阵和邻接表实现)

#includeusing namespace std;#define MAX_VEX_NUM 50typedef char VertexType; typedef enum{ UDG,DG}GraphType;typedef struct Graph{ VertexType name[MAX_VEX_NUM]; int adjMatrix[MAX_VEX_NUM][M

2015-06-13 12:07:03 4982

原创 二叉树的创建,以及递归前中后序以及层次遍历

#includeusing namespace std;typedef char ElemType ;typedef struct Node{ElemType data;struct Node *lChild;struct Node *rChild;}Node,*BtTree;void init(BtTree &bt){bt=NU

2015-06-11 20:54:43 445

转载 ListView异步加载网络数据

很多情况,我们需要从网络加载数据,这个时候我们需要异步的方法去加载,并且实现数据缓存到本地的功能。在主界面定义定义一个listview控件main.xml代码xml version="1.0" encoding="utf-8"?>  LinearLayout xmlns:android="http://schemas.android.com/apk/re

2015-06-07 18:37:55 458

原创 Handler

Handler是Android消息模型最重要的一个组件,使用它可以在线程之间相互发送消息,实现线程之间的通信。处理使用Handler发送消息以外,通常需要继承Handler类,并重写handleMessage(Message msg) 方法, 接收消息并处理消息。下面通过一个实例来说明Handler的使用方法。例子的主要功能是:通过线程修改界面Button的内容,完整的代码如下:

2015-06-07 18:02:03 329

转载 Android Fragment 真正的完全解析(下)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上)。本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity

2015-06-01 10:43:34 279

转载 Android Fragment 真正的完全解析(上)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37970961自从Fragment出现,曾经有段时间,感觉大家谈什么都能跟Fragment谈上关系,做什么都要问下Fragment能实现不~~~哈哈,是不是有点过~~~本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,

2015-06-01 10:20:22 419

转载 Android 分析android 客户端保持session 不过期的方式

首先要知道session和cookie,session是存在服务器的的用来区分不同的会话的,是一种服务器机制,cookie 是客户端登陆服务器以后,服务器需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否包含了一个session标识-称为session id,如果已经包含一个session id则说明以前已经为此客户创建过session,服务器就按照sessi

2015-05-30 13:53:39 2030

转载 Android studio集成genymotion

Genymotion是一款功能强大的Android模拟器,不仅速度流畅而且还功能齐全,支持windows、linux和Mac OS等操作系统。对于Android开发来说,使用这款模拟器也是很不错的选择。本文将会对Android Studio如何集成Genymotion做一下简单的描述。1、下载安装Genymotion及VirtualBox由于Genymotion的运行是基于

2015-05-27 19:02:47 445

转载 Android图片上传的客户端和服务端代码

在之前一段的项目中,使用Java模仿Http Post方式发送参数以及文件,单纯的传递参数或者文件可以使用URLConnection进行相应的处理。          但是项目中涉及到既要传递普通参数,也要传递多个文件(不是单纯的传递XML文件)。在网上寻找之后,发现是使用HttClient来进行响应的操作,起初尝试多次依然不能传递参数和传递文件,后来发现时因为当使用HttpClient时

2015-05-24 12:11:40 584

转载 Android图片上传,可以选择多张图片,缩放预览,拍照上传等

仿照微信,朋友圈分享图片功能 。可以进行图片的多张选择,拍照添加图片,以及进行图片的预览,预览时可以进行缩放,并且可以删除选中状态的图片 。很不错的源码,大家有需要可以下载看看 。微信微信微信微信下载地址 : 微信上传图片源码//部分代码如下[java] view pla

2015-05-24 12:09:37 1366

转载 Android仿微信底部菜单栏+顶部菜单栏(附源码)

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka        本文要实现仿微信微信底部菜单栏+顶部菜单栏,采用ViewPage来做,每一个page对应一个XML,当手指在ViewPage左右滑动时,就相应显示不同的page(其实就是xml)并且同时改变底部菜单按钮的图片变暗或变亮,同时如果点击底部菜单按钮,左右滑动page(其实

2015-05-23 11:35:48 843

空空如也

空空如也

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

TA关注的人

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