二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以...
分类:
其他好文 时间:
2014-06-08 18:07:41
阅读次数:
187
如果要实现设备管理这样的功能怎么办
这就要求保证每个设备的标识不能重复,因此使用上面的方法就不行了。使用UUID来处理,并且持久化到SharedPreference和SD卡,这样只要APP和文件没有同时被干掉,就不会重新生成新的标识。...
分类:
移动开发 时间:
2014-06-08 17:48:42
阅读次数:
245
package com.hao947;
public class hao947 {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int count = 0;
for (int i = 0; i <= 12; i++) {
for (int...
分类:
编程语言 时间:
2014-06-08 16:51:26
阅读次数:
258
Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without
repeating letters for "abcabcbb" is "abc", which the length is 3. Fo...
分类:
其他好文 时间:
2014-06-08 16:27:47
阅读次数:
231
很多时候排序是为了对数据进行归类,比如对城市进行排序,对员工的职业进行排序。这种排序的特点就是重复的值特别多。
如果使用普通的快排对这些数据进行排序,会造成N^2复杂度,但是归并排序和三路快排就没有这样的问题。
三路快排
三路快排的基本思想就是,在对数据进行分区的时候分成左中右三个部分,中间都是相同的值,左侧小于中间,右侧大于中间。
...
分类:
其他好文 时间:
2014-06-08 15:29:45
阅读次数:
197
对于随机数,大家都知道,计算机不可能产生完全随机的数字,所谓的随机数发生器都是通过一定的算法对事先选定的随机种子做复杂的运算,用产生的结果来近似的模拟完全随机数,这种随机数被称 作伪随机数。伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了。伪随机数的选 择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地“随机”,随机种...
分类:
其他好文 时间:
2014-06-08 15:29:23
阅读次数:
215
http://poj.org/problem?id=3411
大致题意:n个城市由m条公路连接,两个城市之间可能有多条公路连接。经过每条公路都需要收费,对于城市a,b,若之前经过城市c那么只需交p元钱,否则交r元钱。问从城市1到n的最小花费。
思路:由于经过每条公路的收费有两种方式,那么有的城市可能要经过多次,以便获得更小的花费,但也有可能出现有环的情况,那么该城市经过多次只会...
分类:
其他好文 时间:
2014-06-08 15:27:22
阅读次数:
145
决策树是对数据进行分类,以此达到预测的目的。该决策树方法先根据训练集数据形成决策树,如果该树不能对所有对象给出正确的分类,那么选择一些例外加入到训练集数据中,重复该过程一直到形成正确的决策集。决策树代表着决策集的树形结构。
决策树由决策结点、分支和叶子组成。决策树中最上面的结点为根结点,每个分支是一个新的决策结点,或者是树的叶子。每个决策结点代表一个问题或决策,通常对应于待分类对象的属性。每一个叶子结点代表一种可能的分类结果。沿决策树从上到下遍历的过程中,在每个结点都会遇到一个测试,对每个结点上问题的不同的...
分类:
其他好文 时间:
2014-06-08 14:55:35
阅读次数:
254
排序的应用
排序算法有着广泛的应用。
典型的应用有
对名称进行排序
排序MP3音乐文件
显示Google的搜索结果
按标题顺序列出RSS订阅
排序之后下列问题就变得非常简单了
找出中位数
数据库中的二分查找
找出统计数据中的异常值
在邮箱中找出重复的邮件
不是...
分类:
其他好文 时间:
2014-06-08 14:45:20
阅读次数:
197
泛型泛型编程让你可以编写更具扩展性、易重用的功能,代码使用时的类型取决于你所定义的业务需求。你可以编写避免重复的代码,目标更加清晰明确,风格抽象。泛型是Swift语言的一项强大的特性,基本上所有的swift标准库都建立在泛型代码上。实际上,你在这本书的时候不知不觉地接触到泛型,它贯穿始终。例如Swi...
分类:
其他好文 时间:
2014-06-07 21:57:16
阅读次数:
358