合并算法,指的是将两个已经排序的序列合并成一个序列的操作 操作步骤: 1. 建立一个数组C用来存放合并后的数 2. 从数组A和数组B的首端开始比较,将大的元素放入C中 3. 重复2操作,直至其中一个数组的元素被用完,则将另一个数组中剩余的元素拷贝到C中 比较复杂度:n㏒n 交换(赋值)复杂度:n㏒n...
分类:
编程语言 时间:
2015-02-09 21:32:56
阅读次数:
157
Writer:BYSocket(泥沙砖瓦浆木匠)微博:BYSocket豆瓣:BYSocketReprint it anywhere u want.文章Points:1、不认识到犯错,然后得到永久的教训。2、认识JAXB3、代码实战1、不认识到犯错,然后得到永久的教训。 也不是所谓的教训吧,真正的教训...
分类:
编程语言 时间:
2015-02-09 21:32:46
阅读次数:
288
使用MFC的MDI程序,定制自己的CFormView类型的文档模板,运行时打开全部模板……
分类:
编程语言 时间:
2015-02-09 21:30:48
阅读次数:
442
上一节我们讲到了如何用散列和链表实现HashMap,其中有一个疑问今天已经有些答案了,为什么要用链表而不是数组 链表的作用有如下两点好处 1. remove操作时效率高,只维护指针的变化即可,无需进行移位操作 2. 重新散列时,原来散落在同一个槽中的元素可能会被散落在不同的地方,对于数组需要进行移位...
分类:
编程语言 时间:
2015-02-09 21:31:33
阅读次数:
176
快速排序使用分治法策略来把一个序列分为两个子序列 算法步骤: 1. 从数列中挑出一个元素,称为 "基准"(pivot) 2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面 (相同的数可以到任一边)。在这个分割结束之后,该基准就处于数列的中间位置。这个称为分割(...
分类:
编程语言 时间:
2015-02-09 21:32:02
阅读次数:
147
本文将带领你与多线程作第一次亲热接触,并深入分析CreateThread与_beginthreadex的本质差别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex究竟有什么差别,在实际的编程中究竟应该使用CreateThread还是_beg....
分类:
编程语言 时间:
2015-02-09 21:29:37
阅读次数:
198
算法步骤: 1. 未排序序列中找到最小元素,存放到排序序列的起始位置 2. 再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾 3. 以此类推,直到所有元素均排序完毕 比较复杂度:n(n-1)/2 交换(赋值)复杂度:n-1 优点:相比冒泡排序来讲,交换的次数减少了 缺点:相对快速排序,比较...
分类:
编程语言 时间:
2015-02-09 21:29:53
阅读次数:
129
上一节中实现的SimpleHashMap,没有解决冲突的问题,这一节我们继续深入 由于table的大小是有限的,而key的集合范围是无限大的,所以寄希望于hashcode散落,肯定会出现多个key散落在同一个数组下标下面, 因此我们要引入另外一个概念,将key和value同时存入table[inde...
分类:
编程语言 时间:
2015-02-09 21:27:15
阅读次数:
202
算法步骤: 1.从第一个元素开始,该元素可以认为已经被排序 2.取出下一个元素a,在已经排序的元素序列中从后向前扫描 3.如果已排序中的元素b大于a,则将元素b后移一个位置 4.重复步骤3,直到找到已排序的元素x小于或者等于元素a 5.将元素a插入到x的后面 6.重复步骤2~5 public sta...
分类:
编程语言 时间:
2015-02-09 21:28:37
阅读次数:
149
#include #include #ifdef __linux
#include #endif
// MINIMUM(A)
// MIN = A[1]
// for i = 2 to A.length
// if min > A[i]
// min = A[i]
// return min int...
分类:
编程语言 时间:
2015-02-09 21:26:03
阅读次数:
373
寒假的第二周,弥补了一下图论算法。在这里做一下总结,主要针对近期学到的一些建模技巧,同时也非常感谢有朋友能够给出图论算法相关的精彩讲解或者知识链接。算法总结:欧拉回路问题:判断图是否存在欧拉回路或者欧拉通路,输出一条欧拉回路。学习Fleury算法输出一条欧拉回路。 1 /* G是连通无向图,则称经过...
分类:
编程语言 时间:
2015-02-09 21:26:44
阅读次数:
271
1、关键字:其实就是java给某个单词特定的含义。2、保留字:关键字的前身,还没有但是准备赋予含义的单词。3、标识符:我们自己给某个单词的特定含义。(类名,变量名,函数名) 注意:1、数字不可以开头 2、不可以使用关键字4、常量:我们在程序里不会被改变的量。“常”可以理解为常态的意思,也就...
分类:
编程语言 时间:
2015-02-09 21:25:55
阅读次数:
159
最近闲的很,想和大家一起学习并讨论下Java的一些源代码以及其实现的数据结构, 不是什么高水平的东西,有兴趣的随便看看 1. 为什么要用Map,以HashMap为例 很多时候我们有这样的需求,我们需要将数据成键值对的方式存储起来,根据key来获取value(value可以是简单值,也可以是自定义对象...
分类:
编程语言 时间:
2015-02-09 21:24:38
阅读次数:
158
从Java5开始,Java提供了自己的线程池。每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor 就是这样的线程池。以下是我的学习过程。 首先是构造函数签名如下: [java] view plain copy print ?...
分类:
编程语言 时间:
2015-02-09 20:22:20
阅读次数:
134
1. 有一个5个字节的window,沿着文本向右滑动,每次滑动一个字节
2. 每一个window里面的5个字节,分别可以N个组成3元组。 例如igram,可以分为:igr iga igm iga igm gra grm gam ram
3. 每一个三元组通过一个hash函数,算出来一个结果,设为i ,i的区间是(0,256), 最下面有一个数组,也是共256位,刚好对应存放。 例如igr,假...
分类:
编程语言 时间:
2015-02-09 20:18:07
阅读次数:
385
闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数,例如: 1 function createComparisonFunction(propertyName) { 2 3 return function(object1, object2...
分类:
编程语言 时间:
2015-02-09 20:16:29
阅读次数:
181
给定一个带权的无向连通图,怎样选取一棵生成树,使树上全部边上权的总和为最小,这叫最小生成树.求最小生成树的算法(1)克鲁斯卡尔算法图的存贮结构採用边集数组,且权值相等的边在数组中排列次序能够是随意的.该方法对于边相对照较多的不是非常有用,浪费时间.(2)普里姆算法图的存贮结构採用邻接矩阵.此方法是按...
分类:
编程语言 时间:
2015-02-09 20:13:24
阅读次数:
178