09 2012 档案
DOM与IE的事件对象event
摘要:DOMIE事件目标targetsrcElement取消默认行为preventDefault()returnValue组织冒泡/捕捉stopPropagationcancelBubble被触发事件的类型typetype程序当前正在处理的元素currentTarget处理程序阶段eventphase 阅读全文
posted @ 2012-09-29 16:43 melon.h 阅读(128) 评论(0) 推荐(0)
DOM2下addEventListener与IE下attachEvent的区别
摘要:一、三种事件绑定的介绍 1. DOM0 事件处理程序的传统方式 1.1 绑定方法 将处理函数赋值给元素(包括window和document)的事件处理程序属性 eg.var btn = document.getElementById("btn1");btn.onclick = function() { alert("button clicked"); } 1.2 作用域 在元素的作用域中运行。即this引用当前元素。 1.3 处理阶段 在bubble阶段运行。 1.4 移除事件处理程序 btn.onclick = ... 阅读全文
posted @ 2012-09-29 15:42 melon.h 阅读(1643) 评论(0) 推荐(0)
web开发编码
摘要:1. head中的charset规定了html页面的编码2. 使用GET传参数时,采用URI编码,即页面编码+%3. 采用POST传参时,采用页面的字符集编码。4. 超链接中,也采用URI编码!get或post时,浏览器会用特定的编码方式将表单的内容编码成字节流。并将form.acceptCharset告诉服务器编码方式以便解码。 阅读全文
posted @ 2012-09-29 10:53 melon.h 阅读(147) 评论(0) 推荐(0)
冒泡排序最佳情况的时间复杂度,为什么是O(n)
摘要:我在许多书本上看到冒泡排序的最佳时间复杂度是O(n),即是在序列本来就是正序的情况下。但我一直不明白这是怎么算出来的,因此通过阅读《算法导论-第2版》的2.2节,使用对插入排序最佳时间复杂度推算的方法,来计算冒泡排序的复杂度。1. 《算法导论》2.2中对插入排序最佳时间复杂度的推算 在最好情况下,6和7总不被执行,5每次只被执行1次。因此, 时间复杂度为O(n)2. 冒泡排序的时间复杂度 2.1 排序代码public void bubbleSort(int arr[]) { for(int i = 0, len = arr.length; i < len - 1; i++) {... 阅读全文
posted @ 2012-09-20 11:23 melon.h 阅读(50488) 评论(19) 推荐(14)
递归式的时间复杂度-以快速排序为例
摘要:主方法(master method)给出求解以下形式递归式的“食谱”方法主定理:T[n] = aT[n/b] + f(n)其中a>=1 and b>1是常量,并且f(n)是一个渐进正函数考虑以下三种情况:1. 如果f(n)=O(n^(logb(a) - E))对于某个常量E>0成立,那么T[n]=O(n^(logb(a)))2. 如果f(n)=O(n^(logb(a))),则T[n]=O(n^(logb(a)) ^ logn)3.如果f(n)=O(n^(logb(a) + E))对于某个常量E>0成立,且对常数c<1有足够大的n,有af(n/b)<=cf(n 阅读全文
posted @ 2012-09-20 01:07 melon.h 阅读(2346) 评论(0) 推荐(0)
快速排序 quickSort
摘要:快速排序利用了分治法的算法思想。1. 分治法的基本思想 将原问题分解为若干个规模更小的但结构与原文题相似的问题。递归地解决这些子问题。2. 变速排序的基本思想 在R[low.......high]中选择一个记录作为基准,将序列划分为左、右两个较小的子区间,使左边的序列均小于基准值,右边的序列均小于基准值。3. 代码void quickSort(int arr[], int start, int end) { // 当start < end或start == end时不做任何操作 if(start < end) { int pivotpos = partition(arr, sta. 阅读全文
posted @ 2012-09-19 19:27 melon.h 阅读(322) 评论(0) 推荐(0)
变量的赋值和传递
摘要:在写Javascript的时候,突然对变量的赋值与传递感到迷惑。因此回顾了一下C,C++,Java等语言的赋值与传参机制,帮助理解Javascript中的赋值与传参。一、Java中,变量的赋值与传递 1. 变量的类型 分为两种:基本类型和引用类型。其中, 基本类型有:boolean, byte, short, int, long, char, float, double 引用类型有:class, interface, array 2. 变量的赋值 2.1 简单类型变量的赋值 按值传递,将数值存放到变量的存储单元中。 2.2 引用类型变量的赋值 ... 阅读全文
posted @ 2012-09-18 16:18 melon.h 阅读(588) 评论(0) 推荐(0)