摘要: 1. 顺序查找(Sequential Search),又叫线性查找2. 二分查找,又叫折半查找 1 package search; 2 3 /** 4 * @author lei 2011-8-17 5 */ 6 public class BinarySearch { 7 /** 8 * 二分查找 9 * 10 * 注意:二分查找只是针对有序排列的各种数组或集合11 * 12 * @param target13 * @param array14 * @return15 */16 static ... 阅读全文
posted @ 2013-08-15 16:16 CoolRandy 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区:就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。全局/静态存储区:全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化 阅读全文
posted @ 2013-08-14 12:39 CoolRandy 阅读(937) 评论(0) 推荐(0) 编辑
摘要: 注:转载自http://blog.csdn.net/lwbeyond/article/details/6202256一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyprint?int a = 100; int b = a; int a = 100;int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。[c-sharp] view plaincopyprint?#include usingnamespace std; class CEx... 阅读全文
posted @ 2013-08-13 17:37 CoolRandy 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 注:转载自http://www.cnpythoner.com/我们经常通过python做采集网页数据的时候,会碰到一些乱码问题,今天给大家分享一个解决网页乱码,尤其是中文网页的通用方法。首页我们需要安装chardet模块,这个可以通过easy_install 或者pip来安装。安装完以后我们在控制台上导入模块,如果正常就可以。比如我们遇到的一些ISO-8859-2也是可以通过下面的方法解决的。直接上代码吧:importurllib2importsysimportchardetreq=urllib2.Request("http://www.163.com/")##这里可以换成 阅读全文
posted @ 2013-08-11 18:19 CoolRandy 阅读(11781) 评论(0) 推荐(0) 编辑
摘要: 注:本文转载自http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/,仅做学习交流。简介: 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能。您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 gene 阅读全文
posted @ 2013-08-09 08:55 CoolRandy 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 数理介绍,不喜欢数学的言下之意也就是绝大部分人可以略过了。简单推导假设f(x)是关于X的函数:求出f(x)的一阶导,即斜率:简化等式得到:然后利用得到的最终式进行迭代运算直至求到一个比较精确的满意值,为什么可以用迭代法呢?理由是中值定理(Intermediate Value Theorem):如果f函数在闭区间[a,b]内连续,必存在一点x使得f(x) = c,c是函数f在闭区间[a,b]内的一点我们先猜测一X初始值,例如1,当然地球人都知道除了1本身之外任何数的平方根都不会是1。然后代入初始值,通过迭代运算不断推进,逐步靠近精确值,直到得到我们主观认为比较满意的值为止。例如要求768的平方根 阅读全文
posted @ 2013-08-01 21:05 CoolRandy 阅读(600) 评论(0) 推荐(0) 编辑
摘要: 根类Object中的equals方法描述:publicbooleanequals(Objectobj)Theequalsmethod for classObjectimplements the most discriminating possible equivalence relation on ... 阅读全文
posted @ 2013-07-06 17:49 CoolRandy 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 详细参见http://ifeve.com/java-concurrency-thread-directory/一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。进程和线程是现代操作系统中两个必不可少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统内部建立的进程)和用户进程(由用户程序建立的进程);一个进程中可以有一个或多个线程。进程和进程之间不 阅读全文
posted @ 2013-07-05 15:29 CoolRandy 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 1、Binary search Tree结点的度(degree):结点拥有的子树数;度为0的称为叶子结点;树的度是树内各节点的度的最大值;结点的层次(Level)从根开始定义起,根为第一层,树的结点的最大层次称为树的深度(Depth)或高度;森林(Forest)是m(m>=0)棵互不相交的树的集合;二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。性质:1、二叉树的第i层至多有个结点;2、深度为k的二叉树至多有个结点;3、对任何一棵二叉树T,如果其终端结点数为,度为2的结点数为,则。特殊的二叉树:1、斜树(即线性表结构);2、满二叉树;3、完 阅读全文
posted @ 2013-07-04 13:59 CoolRandy 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个任务。 3.进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。 4.一个车间里,可以有很多工人。他们协同完成一个任务。 5.线程就好比车间里的工人。一个 阅读全文
posted @ 2013-07-03 17:31 CoolRandy 阅读(2292) 评论(0) 推荐(5) 编辑