- 浏览: 125453 次
- 性别:
- 来自: 北京
最新评论
文章列表
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
首先考虑下如何将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。
代码如下:
/**
* 将两个有序数列合并成一个有序数列
* @param a
* @param b
* @return
*/
public static int[] ...
有一个已经有序的数据序列,要求在这个已经排好序的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法。
插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序。
如下图所示:
算法描述
一般来说,具体算法描述如下:
1.从第一个元素开始,该元素可以认为已经被排序
2.取出下一个元素,在已经排序的元素序列中从前向后扫描
3.如果 ...
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
算法描述
比如在一个长度为N的无序数组中,在第一趟遍历N ...
冒泡排序(Bubble Sort),是计算机科学领域的一种较简单的排序算法。
它重复走访要排序的数列,一次比较两个元素。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。
如上图,为一趟冒泡排序的过程和结果,从中我们可以总结冒牌排序特点如下:
1.所谓冒泡,就是“轻”(小)的元素浮上来的过程;
2.每趟冒泡排序都有一个元素排好序,到其指定的位置上
如上图,第一趟冒泡排序,最小的元素会 ...
Support Library
Features
Support Library Features
android support library包包含了一系列可以include进你的应用的库。这些库中每一个都有其支持的版本范围和特性。
本文将讲述每个库 ...
转载自: http://www.trinea.cn/android/android-boot_completed-not-work/
本文主要介绍Android应用如何开机自启动、自启动失败的原因、adb命令发送BOOT_COMPLETED。问题:应用程序是否可以在安装后自启动,没有ui的纯service应用如何启动?答案马上揭晓^_*1、Android应用如何开机自启动(1)、在AndroidManifest.xml中注册
转自:http://trinea.iteye.com/blog/1461095
本文主要介绍PopupWindow的基本知识、利用PopupWindow实现类似网页上或者windows开始按钮的菜单效果以及如何解决PopupWindow和listView或GridView同时使用时焦点及页面响应问题
因为PopupWindow能实现非模态对话框效果,所以建议大家使用,而不是用AlertDialog等模态对话框阻止用户的操作.
1、PopupWindow介绍
PopupWindow ...
OOD设计原则之里氏替换原则(LSP)
- 博客分类:
- 设计原则
本文转自:http://blog.csdn.net/brookes/article/details/1896758
里氏替换原则(Liskov Substitutiion Principle,LSP)被称作继承复用的基石,它的提出甚至要早于OCP。不过遗憾的是,由于对这一原则的理解各不相同,经过 ...
Build Your First App
本文出自:http://developer.android.com/training/basics/firstapp/index.html
1.build App相关注意点
You should always set the android:targetSdkVersion as high as possible and test your app on the corresponding platform version. For more information, read S ...
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。 Java实现二叉树遍历算法相关代码如下:
package cn.xj.bitree;
public class BiTreeNode {
private char data;
...
Keeping Your App Responsive
有这样一种情况:即使你写的代码通过世界上的每一个性能测试,但程序在特定的操作和重要的阶段仍然让人感觉运行缓慢,或者需要花很长时间处理输入。这种发生在你的app里的糟糕的响应是“Application Not Responding(ANR)”对话框。
Figure 1. An ANR dialog displayed to the user.
在Android里,当app一段时间无响应时,系统会弹出一个对话框,告诉你,你的app长时间没响应。如图一。
出现该对话框, ...
实际开发的过程中,遇到测试人员提的这样的一个bug:”下载管理中下载状态按钮响应区域过小,有时点击无响应“
Bug背景是这样的:项目中有一个下载模块,下载UI界面如下:
最开始的布局文件如下:
......
<Button
android:id="@+id/downloadControl"
android:layout_width="wrap_content"
android:layout_height="w ...
本文源自:http://developer.android.com/training/multiple-threads/index.html
当你将一个需要长时间运行的,数据量大的操作,分割成一些小的操作,并且在多线程中运行的话,那么这个长时间运行的操作的速度和效 ...
一张图看清楚成功人士与失败人士的差别,成功人士的10个标志
成功的人10个标志:
1、感恩
2、分享,a)成功时不忘他人表功b)愿意交流想法;c)会与他人分享信息和数据
3、总是充满喜悦
4、拥抱改变,寻求改变
5、制定目标和人生计划,做事有规划,做事有计划,
6、懂得称赞他人;
7、懂得释怀与原谅
8、失败时能够承担责任;
9、希望他人也能成功;
10、不断学习
public abstract void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)
componentName:组件名称
newState:组件新的状态,可以设置三个值,分别是如下:
不可用状 ...