http://blog.csdn.net/hwe_xc/article/details/51813080 二分搜索又称为折半查找,用来高效快速的解决如下问题: 我们需要确定排序后的数组x[0..n-1] 中是否包含目标元素t. 说的准确一点,就是已知 n>=0且x[0]<=x[1]<=x[2]…<=x[n-1],当n=0时数组为空,t与x中元素的数据类型相同.答案存在一个整数中,为-1则不在x数组中,否则返回具体位置0~n-1. 此问题看起来是个很小的问题,其实也不容易.据说第一篇…
本文是我翻译<JavaScript Concurrency>书籍的第五章 使用Web Workers,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并发编程方面的实践. 完整书籍翻译地址:https://github.com/yzsunlei/javascript_concurrency_translation .由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢. Web workers在Web浏览器中…
学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正. IntentActivityDemo学习笔记 题目:ActivityA登录界面(用户名.密码.登陆按钮),ActivityB(Edit,返回按键:SubmitButton).A界面输入用户名和密码传到B中,B验证用户输入的用户名和密码,如果错误就返回A,并用Toast 显示用户名和密码错误:如果正确,就在第二个 activity中显示一个Edi…
---恢复内容开始--- class ArrayTest3 { public static void main(String[] args) { //int [] arr=new int[]{54,45,6,5,34,656,34,2}; //int index=GetIndex(arr,2); //System.out.println("index="+index); int [] arr1=new int[]{2,4,5,7,12,34,35,46,67,89,99}; int i…
目录 1 问题描述 2 解决方案 2.1 递归法 2.2 迭代法 1 问题描述 首先,了解一下何为折半查找?此处,借用<算法设计与分析基础>第三版上一段文字介绍: 2 解决方案 2.1 递归法 具体代码如下: package com.liuzhen.chapter4; public class BinarySearch { //方法1:递归求解 public void recursionSearch(int[] A,int start,int end,int number){ int mid…
此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书籍,而且算法数据结构方面的知识储备实在是薄弱,这么看来,纯粹找虐啊orz.今此行为,歇业养伤,实属无聊.也可说是自打毕业后,看书如打仗,自视身处"安安稳稳的和平年代",闲来了也就闲着,忧患意识甚少,有也退退缩缩.话说回来,这本书不像CLRS那种难打的硬仗(现在想想都脑仁疼啊),<Pr…
A题:给定一个最多包含40亿个随机排列的32位整数的顺序文件,找出一个不在文件中的32位整数. 1.在文件中至少存在这样一个数? 2.如果有足够的内存,如何处理? 3.如果内存不足,仅可以用文件来进行处理,如何处理? 答案: 1 int 为32位有(expt 2 32) 4294967296 42亿多个数,由于现在数只有40亿,所以必然有整数缺少了. 2.如果采用bitmap位数思想来存放,则32位整数最多需要占用43亿个位.约512MB的内存空间  (2`32/8=512MB) 可以采用前一章…
PS:[笔记+代码+图片]在GitHub上持续更新,欢迎star:https://github.com/gdouchufu/Core-Python-Programming 本章大纲 介绍Python支持的多种数字类型,包含:整型.长整型.布尔型.双精度浮点型.十进制浮点型和复数. 介绍和数字相关的运算符和函数. 知识点 5.1 布尔型 从Python2.3開始支持bool.取值范围:True.False 5.2 标准整型 在32位机器上,标准整数类型的取值范围:-2的31次方 ~ 2的31次方-…
str_cli 和 str_echo 函数 需要先弄清楚 3.9 readn.writen 和 readline 函数 str_cli void str_cli(FILE *fp, int sockfd) { char sendline[MAXLINE], recvline[MAXLINE]; while (Fgets(sendline, MAXLINE, fp) != NULL) { Writen(sockfd, sendline, strlen(sendline)); if (Readlin…
第1 5章 在应用程序中使用虚拟内存 Wi n d o w s提供了3种进行内存管理的方法,它们是: • 虚拟内存,最适合用来管理大型对象或结构数组. • 内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个进程之间共享数据. • 内存堆栈,最适合用来管理大量的小对象. 本章将要介绍第一种方法,即虚拟内存.内存映射文件和堆栈分别在第 1 7章和第1 8章介绍.用于管理虚拟内存的函数可以用来直接保留一个地址空间区域,将物理存储器(来自页文件)提交给该区域,并且可以设置…
IPC(InterProcess Communication)进程间通信.为啥没有进程间通信,这是因为进程间都是同步的关系,不需要通信. 1.管道 1.1管道特点: (1)半双工的(即数据只能在一个方向上流动),某些系统提供全双工的管道. (2)管道只能在具有公共祖先的两个进程之间使用.通常,一个管道由一个进程创建,在进程调用fork后,这个管道就能在父子进程之间通信了. 1.2使用: (1)在管道中键入一条命令,让shell执行,shell会为每一条命令单独创建一个进程,然后用管道将浅一条命令…
课后习题  5-1 整形. 讲讲 Python 普通整型和长整型的区别. 答:普通整型是绝大多数现代系统都能识别的. Python的长整型类型能表达的数值仅仅与你机器支持的(虚拟)内存大小有关. 5-2 运算符 (a) 写一个函数,计算并返回两个数的乘积 (b) 写一段代码调用这个函数,并显示它的结果 答: def pro(a,b): p = a*b return p a = int(raw_input("a=")) b = int(raw_input("b="))…
5-1 整型,讲讲python普通整型与长整型区别 python整形一共有三种:布尔型,长整型和标准整型.普通整型与长整型的区别在于标准整形的取值范围是-2^31到2^31-1,长整型所能表达的数值与机器自身的内存有关. 5-2 定义一个函数,用于两个数相乘,并调用这个函数 #!/usr/bin/env python def Multiply(number1,number2): return number1*number2 if __name__=="__main__": number…
定时器Timer的使用 1.1方法schedule(TimerTask task, Date time)的测试 1.2方法schedule(TimerTask task, Date firstTime, long period)的测试 1.3方法schedule(TimerTask task, long delay)的测试 1.4方法schedule(TimerTask task, long delay, long period)的测试 1.5方法scheduleAtFixedRate(Time…
参考https://blog.csdn.net/caroline_wendy/article/details/46844651 10&11 finalize()被调用的条件 Java1.6以下的条件: (1)类未被调用(置null)(2)调用System.gc() 1.8的条件: (1)调用System.gc().(在调用了System.gc()之后,finalize()才被执行,也就是在执行最后一个 '}'时,finalize()才被执行) //: Main.java /** * 垃圾回收 *…
#include <windows.h> #include<iostream> #include <tchar.h> using namespace std; typedef struct ThreadParam{ HANDLE hIOCP; DWORD dwNumBytesTransferred; ULONG CompletionKey; LPOVERLAPPED pOverlapped; DWORD dwTimeOut; }*pThreadParam; void M…
5.1使用构造器确保初始化: 构造器与一般方法一样,但是没有返回值,且其方法名与类名完全相同. 不接受任何参数的构造器成为默认构造器,也叫无参构造器. 5.2 方法重载: 为什么会有方法重载? 构造器是方法重载的一个重要原因,若想以多种方式创建构造器,就必须将方法进行重载,即使用有参构造. 如何区分重载方法? 方法名相同为前提,使用参数列表来区分. 注:使用返回值是不能够区分重载方法的,因为有时候你仅仅是调用方法,而不在意他的返回值. 5.3默认构造器: 没有参数的构造器,作用是创建一个默认的对…
5-2 运算符(a) 写一个函数,计算并返回两个数的乘积(b) 写一段代码调用这个函数,并显示它的结果 def product(x, y): return x * y if __name__ == '__main__': x = int(input('输入数字X:')) y = int(input('输入数字Y:')) print(product(x, y)) 5-3 标准类型运算符. 写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分成绩(A-F).A: 90–100B: 80–89C…
(二)自定义特性 使自定义特性非常强大的因素时使用反射,代码可以读取这些元数据,使用它们在运行期间作出决策. 1.编写自定义特性 定义一个FieldName特性: [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)] public class FieldNameAttribute : Attribute { private string name; public FieldNam…
(一)简介 事务的主要特征是,任务要么全部完成,要么都不完成. (二)概述 事务由事务管理器来管理和协调.每个影响事务结果的资源都由一个资源管理器来管理.事务管理器与资源管理器通信,以定义事务的结果. 1.事务处理阶段 激活阶段:在这个阶段创建事务. 准备阶段:在这个阶段,每个资源管理器都可以定义事务的结果. 提交阶段:当所有的资源管理器都成功准备好了,就开始这个阶段. 2.ACID属性 事务的特征可以用术语ACID来定义: Atomicity(原子性):表示一个工作单元. Consistenc…
(一)在运行期间处理和检查代码 自定义特性允许把自定义元数据与程序元素关联起来.反射是一个普通术语,它描述了在运行过程中检查和处理程序元素的功能.例如,反射允许完成的任务: 枚举类型的成员 实例化新对象 执行对象的成员 查找程序集的信息 检查应用于某种类型的自定义特性 创建和编译新程序集 (二)自定义特性 使自定义特性非常强大的因素时使用反射,代码可以读取这些元数据,使用它们在运行期间作出决策. 1.编写自定义特性 定义一个FieldName特性: [AttributeUsage(Attribu…
本文是我翻译<JavaScript Concurrency>书籍的第七章 抽取并发逻辑,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并发编程方面的实践. 完整书籍翻译地址:https://github.com/yzsunlei/javascript_concurrency_translation .由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢. 到本书这里,我们已经在代码中明确地模拟了并发问题.使…
本文是我翻译<JavaScript Concurrency>书籍的第六章 实用的并发,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并发编程方面的实践. 完整书籍翻译地址:https://github.com/yzsunlei/javascript_concurrency_translation .由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢. 在上一章中,我们大致学习了Web workers的基本…
本文是我翻译<JavaScript Concurrency>书籍的第四章 使用Generators实现惰性计算,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并发编程方面的实践. 完整书籍翻译地址:https://github.com/yzsunlei/javascript_concurrency_translation .由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢. 惰性计算是一种编程技术,它用…
本文是我翻译<JavaScript Concurrency>书籍的第三章 使用Promises实现同步,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并发编程方面的实践. 完整书籍翻译地址:https://github.com/yzsunlei/javascript_concurrency_translation .由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢. Promises几年前就在JavaS…
2017 ---新篇章  今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAVA se的基础,看起来压力不大.全书概括就不做记载了 第五章:初始化与清理 初始化: 1.JAVA构造器: 命名:必须与类名相同 作用:保证在操作对象之前已经进行了对象初始化操作,没有返回值(new 表达式确实返回了对新建对象的引用,但构造器本身没任何返回值) 2.方法的重载: 相同方法名 ,不同的方法 和功…
刚看完 UNIX 第五章内容,我想按照自己的方式将自己获得的知识梳理一遍,以便日后查看!先贴上一段简单的 TCP 服务器端代码: #include <sys/socket.h> #include <netinet/in.h> #include <stdio.h> #include <error.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #d…
第十五章:控制脚本 处理信号 重温Linux信号 信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能终止 17 STOP 无条件停止运行,但不终止 18 TSTP 停止或暂停,但继续在后台运行 19 CONT 在STOP或TSTP之后恢复执行 默认情况下,bash shell会忽略收到的任何SIGQUIT(3)和SIGTERM(5)信号. 如果bash shell收到了SIGHUP信号,它会退出.…
第五章: 1.题外话:首先大声疾呼,"js无罪",有罪的是滥用js的那些人.js的father 布兰登-艾克,当初为了应付工作,10天就赶出了这个js,事后还说人家js是c语言和self语言"约"的产物,(百度百科说的,这些).....一个可怜的孩子-js.然后命运弄"人",js此时已世人皆知.可能是因为js的毁誉参半,它老爸才不想承认它吧.如果js会说话,它可能会给它布兰登-艾克说,"你当初怎么不把*******在墙上".这…
第五章 字典和结构化数据 创建数组 格式:myCat = {'size':'fat','color':'gray',disposition':'loud'} 对字典的操作 通过[ ] 访问字典的值 [ ] 中是字典的键,从而得到对应字典中的值. keys(),values()和 items()方法 keys()返回 dict_keys 类型的数据,格式为 dict_keys(['color','age' ])values() 返回 dict_values 类型的数据.items() 返回 dic…