自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (22)
  • 收藏
  • 关注

原创 从拼图游戏开始(七)_数据模块框架实现

代码第二版,主要添加了一些数据库相关的处理,具体的实现以下功能: 1.添加图片剪裁功能,支持任意具体长宽比的图片的自动剪裁。 2.添加问题完成与否检测及提示。 3.完成问题列表主界面、缩略图、当前移动步数。 4.游戏状态的持久化。 程序运行效果:

2013-12-27 14:35:25 1400

原创 AndoidTips(个人总结,持续更新)

1.在代码中为组件设置背景色时,注意使用0xXXXXXXXX,而不是0xXXXXXX。2.在布局文件中可以使用<include/>和<merge/>标签来实现布局,其中<merge/>和<includ/>的不同之处在于,merge能够在嵌套时过滤调用用<merge>修饰的组件。详见:http://stackoverflow.com/questions/8834898/what-is-the-purpose-of-androids-merge-tag-in-xml-layoutshttp://write.

2013-12-27 10:14:14 1553 1

原创 排序算法(三)_计数排序、基数排序的Java实现

继续排序相关的内容,上次聊了几个theta(nlgn)的比较型排序,今天聊一下线性时间theta(n)甚至theta(lgn)的排序算法。都比较简单,大部分内容来自<算法导论>公开课视频。两个算法分别是计数排序、基数排序,如果不看书的话,真的很难凭空想到。 计数排序:设有待排序数组A,辅助数组B,结果数组C。计数排序的关键有两点: 一、在于辅助数组的设计,辅助数组C上元素的索引对应数组A中的某个具体的元素。而C上的元素C[i],则表示了A中有C[i]个元素小于等于值i。

2013-12-27 08:38:46 1402

原创 排序算法(二)_希尔排序、快速排序、归并排序的Java实现

希尔排序(Shell Sort):希尔排序其实就是一种特殊处理过的插入排序,是按指定的间隔增量进行插入排序,所以希尔排序也叫增大间隔插入排序。相对于普通的插入排序而言,希尔排序会对排序的过程加以控制,从而避免了一些极端输入情况(如一个倒序输入数列)对于算法运行时间的影响。 归并排序(Merge Sort):归并排序是通过分治法思想来实现的。通过不断将问题切割成两个规模更小的子问题,知道基本情况(Base Case),然后将这些子问题的解整合起来合成问题的解。一般情况下归并排序优于希尔排序

2013-12-25 09:30:09 1459

原创 从拼图游戏开始(六)_游戏主体的Android实现

好的,要开始正式编码了。说实话目前为止笔者也不知道这个东西该怎么写,只是觉得能够完成它,于是就写了。以至于这种边想边写的程序,必然会存在一些需要优化的地方,但是这里笔者也仅是抛砖引玉,不敢自称高手。 今天写的是游戏主体的实现,因为不想一上来就摆一大堆实体类、字段名,看的人头大。所以本文论述的仅仅是游戏主题的实现,暂时不考虑数据持久化时的字段等细节,而诸如字段这样的细节,会在后面的文章中统一论述。 先上效果图,代码可在本文最后下载:

2013-12-24 13:14:16 1836

原创 从拼图游戏开始(五)_Android版功能及界面设计

框架基于需求,下面是这个拼图游戏需要实现的功能:基础功能:1、正常的生成可解问题,用户进行求解问题,判断结果,反馈用户。2、支持移动步数记录,支持原图查看功能。3、只是用户切换问题规模,现暂定有3x3及4x4两种问题规模可供选择。4、支持图片的在线获取。5、支持问题的重置、暂停保存、恢复继续功能。扩展功能:1、支持好友蓝牙连接游戏。2、支持社区分享。下面是界面设计初稿:

2013-12-23 09:27:39 2080

原创 从拼图游戏开始(四)_IDA*算法求解Java实现

终于,在学习了完深搜和广搜、Dijkstra、二叉堆和优先队列以及A*算法之后,可以看一下IDA*算法了。因为求解4x4的拼图游戏所要搜素的节点数很大,所以应该采用IDA*算法,而3x3的拼图游戏则可以采用A*算法。 IDA*算法是A*的一个变形,和A*算法不同的是他不保存之前的搜索状态(意味着同一个节点可能会被搜索多次),它的搜索效率会稍微低于A*算法。笔者对于IDA*的翻译是迭代深度的A*算法,它是一种有信息提示的搜索(informed search),但其实现思想是基于无信息提示的ID

2013-12-20 08:11:37 5546 5

原创 从拼图游戏开始(三)_可行解的讨论

讨论一下拼图游戏(算法中的名称是15puzzle)中可行解的问题,实际上随机生成的15puzzle大约有%50是无解的,本文将就随机生成的谜题的可解性加以讨论。设有如下矩阵:12 1 10 27 11 4 145 x 9 158 13 6 3将其排成水平的,有:12,1,10,2,7,11,4,14,5,X,9,15,8,13,6,3。并记该序列为A定义:”倒置变量值“ T,Ti表示序列A中位于第i位之后比Ai小

2013-12-19 07:21:25 2524 3

原创 IDDFS(Iterative deepening depth-first search)的Java实现

IDDFS,本人译作迭代深度的深度优先搜索。其实上就是深度优先搜索,只不过它对搜索深度进行了限制,使得在搜索到限制深度后必须开始新的搜索路径。以至于看上去像是广搜(总是先完成第n的所有节点的搜索,再开始第n+1的节点的搜索。放在这里的话,n指的就是当前的限制深度)。代码如下:

2013-12-17 20:36:14 2940 2

原创 变形的杨辉三角问题的一种解法

这个问题也没有用到任何算法思想(可能是本人解这道题时,还太水了吧),而是通过数学观察解的题,解题过程也没有什么可参考、启发的。代码及题目如下:package com.wly.algorithmproblem;/** * 变形的杨辉三角 * 题目详情: 1 1 1 1 1 2 3 2 11 3 6 7 6 3 1以上三角形

2013-12-17 08:03:36 1413

原创 数字覆盖问题的一种解法

数字覆盖问题,没什么解题思想,如果说有的话,就是数学观察,,

2013-12-17 07:56:44 2105

原创 Android无限循环轮转广告页组件实现

新项目一个,不过又是首页广告栏组件,第三次写这个组件了。虽然也可以拷贝以前的代码整理一下完成任务,但还是打算封装一下,重构一下代码,也算是自己近段时间学习的一个检验吧。不错不错~~先上效果图吧:

2013-12-14 16:48:59 2785

原创 数据结构_链表实现无限循环的"环"结构/循环队列

简单的数据结构应用,因为在另外一篇博客中用到,这里就单独领出来。使用链表实现了"环"结构,用以模拟Android的广告栏组件中图片的无限滚动实体类。代码如下:package com.wly.algorithmbase.datastructure;/** * 链表实现无限循环的"环",结构从左(head)到右(tail) * @author wly * @param 实体类 */c

2013-12-13 15:00:16 2446

原创 A*算法搜索地图的Java实现

写了下A*(读作A星,或者A Star)算法的地图搜索,作为一个算法新手来说,感觉真的很好啊,因为据说如果存在最优解,那么在使用一个合理的估价函数的前提下A*算法能够得到最优解。我会说在检查完运行结果后,我的内心不经涌起了一股成就感吗? 什么是A*算法,个人觉得A*算法是基于Dijkstra算法的一种优化,同样是基于广搜,并有一个当前列表检索列表,并不断的从优先队列中移除已完成节点。但是A*算法中多了一个开放队列,我想正是因为这个开放队列的存在,才使得A*算法能够求的最优解,因为最优解总是会包含在这个开放

2013-12-12 16:58:07 3804 1

原创 数据结构_使用二叉堆实现优先队列

本文将先简单的介绍一下二叉堆,然后再使用二叉堆实现优先队列。1、二叉堆实际上就是一种完全二叉树,即除了树的最后一层节点不需要是满的,其他的每一层从左到右都是完全满的。2、常见的二叉堆有最大堆和最小堆,区别在于根节点是树中的最大值还是最小值。3、在使用二叉堆实现的优先队列中进行数据的插入、删除的时间复杂度为O(logN)。4、堆是弱序的,或者说堆是基本无序的。因为不像二叉搜索树一样中节点的右子节点都大于左子结点,在堆中只需要满足从根节点到任意个页节点的路径是单调递增或单调递减的即可。这意味着,堆不能很

2013-12-10 21:11:29 4996 1

原创 从拼图游戏开始(二)_带优先搜索的地图路线搜索java实现

昨晚想着到目前为止这个拼图游戏的算法求解还是没有思路,想着先写一个简单的地图路线搜索来体会一下也许能找到一点感觉,于是就有了本文。这里的搜索考虑了从起点到终点的优先搜索(即以起点和终点的坐标差为依据,每一次搜索都以靠近终点的方向为优先搜索方向,当所有能够更加靠近终点的方向都不同时,才尝试搜索远离终点的方向)。这里的搜索是基于深搜的,所以路径是用栈来保存的,代码如下:

2013-12-10 09:16:10 1667

原创 Dijkstra算法的Java实现

迪科斯彻(Dijkstra)算法使用了广度优先搜索解决非负权有向图的单源最短路径问题,算法最终得到一个最短路径树。在一个有向非负权重的图中,可以知道如AC>AB,这AC+CB>AB,这一不等式有点贪心算法的思想,每次选择时都做出贪心选择。在迪科斯彻算法中就是使用了上面的原理进行求解的。具体的介绍可以wiki一下:http://zh.wikipedia.org/wiki/Dijkstra算法.里面已经包含了伪代码。下面是Java版的实现代码,需要注意的是这里没有使用伪代码中的优先队列,而是使用一个布尔类型的

2013-12-09 17:39:17 3960

原创 基于图的深度优先搜索和广度优先搜索java实现

为了解15puzzle问题,了解了一下深度优先搜索和广度优先搜索。先来讨论一下深度优先搜索(DFS),深度优先的目的就是优先搜索距离起始顶点最远的那些路径,而广度优先搜索则是先搜索距离起始顶点最近的那些路径。我想着深度优先搜索和回溯有什么区别呢?百度一下,说回溯是深搜的一种,区别在于回溯不保留搜索树。那么广度优先搜索(BFS)呢?它有哪些应用呢?答:最短路径,分酒问题,八数码问题等。言归正传,这里笔者用java简单实现了一下广搜和深搜。其中深搜是用图+栈实现的,广搜使用图+队列实现的,代码如下:

2013-12-06 16:49:06 10590 3

原创 数据结构_图(Graph)

图(Graph)是为了模拟解决一类现实中的问题的而设计的数据结构,个人觉得相对于二叉搜索树,它并没有什么算法操作的的优势,只是它可以很好的模拟显示中的图问题。图的表示可以用邻接矩阵和邻接表来表示,本文就使用邻接矩阵的方法实现了一下简单的无向图。

2013-12-06 09:55:10 2251

原创 数据结构_树结构

数据结构中的树,集成了数组中查找迅速和链表添删迅速的特性。

2013-12-05 13:08:47 1141

原创 从拼图游戏开始(一)_简单java模拟

今天看Android,看到一个开源库android-FlipView,然后看着看着就绕到了拼图游戏上,现在我打算写一个简单的拼图游戏。这将是我第二个连载的系列文章,今天是第一天,简单的用java命令行模拟一下拼图游戏的实现。代码:package com.wly.algorithmproblem;import java.util.Scanner;/** * 拼图游戏的简单模拟 * @

2013-12-03 18:32:14 3333 1

原创 OSChina_IOS版客户端笔记(七)_总结

第一次写连续的系列的文章,说实话现在觉得和刚开始的设想有很大的出入。刚开始时计划着写几篇好的文章,可是现在看来很是差强人意。本来还有"异常处理"和"不足讨论"两篇的,现在也给省略了。原因是公司新的项目要开始了,是个android的。当然主要的原因还是个人问题,耐心不够,,        几句话总结一下OSChina的这次学习:        一、了解了一个新的有UITabBarContro

2013-12-02 16:43:30 972

原创 OSChina_IOS版客户端笔记(六)_AFNetWorking的简单用法

AFNetWorking是一个iOS上的开源库,使用它可以简化网络数据请求方面的操作。本文只是简单的介绍一下AFNetWorking的常见使用,想要使用更多功能的朋友可以仔细看一下AFNetWorking的开发文档。常见的操作有哪些呢?比如在OSChina中,我们需要获取某个列表的数据,我们还需要提交自己的评论。现在就以这两个操作来简单的说明AFNetWorking的用法吧!列表数据的获取

2013-12-02 16:28:42 2203

原创 OSChina_IOS版客户端笔记(五)_账号登录验证以及账号加密保存

由于下一篇要介绍发表评论,需要用户登录后才能进行。所以将账号登录及保存相关的内容提前到这一篇。OSChina中账号登录用的是ASIHTTPRequest,而不是后面使用的AFNetworking。关于为什么不使用同一个类库,我网上查了下(原文地址:http://www.infoq.com/cn/articles/afn_vs_asi)AFN适合逻辑简单的应用,或者更适合开发资源尚不丰富的团

2013-12-02 16:27:26 1686

zdd_runboy.svga

svga animsvga

2019-11-26

Android 水平拖动交换位置组件

Android 拖动交换 组件

2014-10-11

Android头部停留及分页加载功能整合列表

仿支付宝账单列表,实现头部停留及分页数据加载功能

2014-03-18

拼图游戏最终稿

拼图游戏最终稿

2014-01-13

拼图游戏功能完善(一)

拼图游戏功能完善(一)

2014-01-06

Android文件多线程下载

Android中的文件多线程下载,支持自定义线程数、断点续传、下载任务的删除,添加等功能。

2014-01-03

puzzle15_v2代码

1.添加图片剪裁功能,支持任意具体长宽比的图片的自动剪裁。 2.添加问题完成与否检测及提示。 3.完成问题列表主界面、缩略图、当前移动步数。 4.游戏状态的持久化。

2013-12-27

拼图游戏主体单元

拼图游戏主体单元,包含自动求解机,包含求解算法,自定义组件等完整实现

2013-12-24

Afinal框架

Afinal框架

2013-12-17

Android广告栏组件

Android,无限循环,广告栏组件

2013-12-14

OSChina登录验证

OSChina登录验证,AES加密,OSChina登录验证,AES加密

2013-12-02

上拉加载更多和下拉刷新

上拉加载更多和下拉刷新

2013-11-26

OSChina框架

OSChina,简易框架

2013-11-24

OSChina iOS客户端工程

OSChina iOS客户端学习 源代码工程 OSChina iOS客户端学习 源代码工程

2013-11-23

使用Annotation和反射实现Bean转SQL语句Demo

使用Annotation和反射实现Bean转SQL语句Demo

2013-10-27

Afinal框架DB部分Demo

Afinal框架DB部分Demo,简单的实现了添删改查操作

2013-10-26

Java实现简易排序

使用Java实现了快速排序,插入排序,选择排序

2013-10-20

IOS代码中使用自定义UITableView

IOS代码中使用自定义UITableView,包含了一些开发过程中需要注意的地方

2013-10-15

iOS中SDWebImage指定缓存图片大小

在iOS中使用SDImageView实现缓存图片,可以自己指定缓存图片的大小

2013-09-29

无限自动滚动广告栏

实现了类似淘宝首页无限自动滚动广告栏,是在code4app的demo的基础上修改后的版本

2013-09-23

空空如也

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

TA关注的人

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