#include
#include
#include
using namespace std;
class BTree{
static const int M = 2;
struct BTNode{
int keyNum;
int key[2 * M - 1]; //关键字数组
struct BTNode* child[2 * M];//孩子结点数组
bool i...
分类:
编程语言 时间:
2015-05-04 10:06:49
阅读次数:
133
今天第一次写爬虫,感觉非常有趣!,中途也遇到了许多问题,所以写篇博客~
目标:爬取豆瓣编程类书籍中9分以上的
刚接触爬虫,说下我的认识(不一定准确^_^)
我们知道网页的呈现也是用编程语言写出来的,有源码,每个网页我们都可以查看它的源码,我的游览器快捷键是Ctrl+U,
一般点击右键就可以看见查看源码。因为要爬取豆瓣的数据,那看看下图豆瓣的部分源码
思路
其实很...
分类:
编程语言 时间:
2015-05-04 10:06:39
阅读次数:
225
优先队列是堆排序的一个具体应用。
优先队列分为如下几个操作:
1.INSERT(S,x)把元素x插入到优先队列中。
2.MAXIMUM(S):返回s中具有最大关键字的元素。
3.EXTRACT_MAX(S):去掉S中最大关键字的元素
4.INCREASE_KEY(S,x,k):将元素x的关键字值增加到k,k是不小于x的元素。
优先队列的应用:
1.共享计算机系统的作业调度。最大优先队...
分类:
编程语言 时间:
2015-05-04 10:05:49
阅读次数:
187
泛型数组列表,主要是为了解决运行时动态更改数组的问题
平常我们会像下面的语句一样定义一个部门里面的人员,
但是在实际业务当中,这个数组的大小往往是不确定的,
如果定义过大,那么会浪费空间,定义过小,又不够用,
因为为了解决运行时动态更改数组的问题,我们提出下面的解决方案。
package com.ray.object;
import java.util.ArrayList...
分类:
编程语言 时间:
2015-05-04 10:06:28
阅读次数:
178
这是一本非常经典C++书籍,也是我在工作中发现自己C++上还有很多薄弱点的时候经常拿来充电的。这本书内容很多,讲了很多如何高效地使用C++的方法,有些地方自己也没能啃透,读过一遍后很多知识点容易忘记,这次是一条一条地进行温习,之所以会分享出来是觉得对于程序员来说,好记性不如烂笔头,自己多动手往往在真正写程序的时候能够像条件反射一样写出好的代码。慢工出细活,对待技术要有谨慎和敬畏之心。这本书推荐喜欢C...
分类:
编程语言 时间:
2015-05-04 10:01:24
阅读次数:
149
C++内存管理: 变量和对象在内存中的分配都是编译器在编译程序时安排好的,但同样带来了不便,如数组必须大开小用,指针必须指向一个已经存在的变量或对象。动态内存分配解决了这个问题。C/C++定义了4个内存区间:代码区,全局数据区,栈区,堆区。定义变量是在编译程序的时候就进行的静态存储分配,所有的动态分配基本都是在堆区进行的。不过是不能说的这么绝对的,与编译器和库都是有关联的。函数的参数未必通过堆栈进行...
分类:
编程语言 时间:
2015-05-04 10:02:30
阅读次数:
188
分析问题 问题只需要找到排序数组中某个数K的个数,由于已经是排序了,K一定是在一堆的,所以我们只需要找到第一个K的index1,然后找到最后一个K的index2就可以了 而寻找K的过程我们一般通过二分法查找,这样时间复杂度能降到logn 解决问题 我们通过二分法寻找k,如果中间的数小于k,那么在前半...
分类:
编程语言 时间:
2015-05-04 09:59:55
阅读次数:
160
在数组中,对于所有元素,找出比当前元素大的下一个元素意思就是,eg. 数组为 3 1 2 5 4 6 7那么我们需要得到的结果应该是 5 2 5 6 6 7 -1解决方法如下:暴力匹配: O (n ^ 2 ) 的效率对所有元素匹配过去,效率非常的低经过提示, 我想到的一种 O ( nlg n...
分类:
编程语言 时间:
2015-05-04 09:54:19
阅读次数:
197
引言 STOI是很常见的一道题,leetcode上也有,字符串转换为数字一般都会有现成的函数去实现这样的功能,但有时候需要我们理解其中的具体实现,因为虽然是个很常见的问题,但实际上需要考虑的问题还是很多的,尤其是corner case的处理,而这类问题一般要考虑两点:一点是符号,另外一点是越界 分析...
分类:
编程语言 时间:
2015-05-04 09:55:08
阅读次数:
162
参考学习地址:http://www.iplaypython.com # coding:utf-8 # 学习1 import urllib.request # print(dir(html)) # 获取网页所在的header信息 url="http://www.iplaypython.com/" html=urllib.request.urlopen(ur...
分类:
编程语言 时间:
2015-05-04 08:48:12
阅读次数:
246
四种页面置换算法:
最佳(OPT,Optional)
最近最少使用(LRU,Least Recently Used)
先进先出(FIFO,First In First Out)
时钟(Clock)
一、最佳置换算法OPT 策略选择置换下次访问距当前时间最长的那些页,可以看出该算法能导致最少的缺页中断,但是由于它要求操作系统必须知道将来的事件,显然这是不可能实现的。但它仍然能作为一种标准来衡量其他算法...
分类:
编程语言 时间:
2015-05-04 08:42:40
阅读次数:
213
系列目录设计表单是比较复杂的一步,完成一个表单的设计其实很漫长,主要分为四步。开始之前先说说表的结构。其实表Flow_Form与Flow_FormContent设计是有一个缺陷的。我总共是设置最高26个字段从A~Z如果超过26个字段的表单是属于硬编码的。但是我认为26个字段已经足够因为这里我是单表模...
分类:
编程语言 时间:
2015-05-04 08:36:35
阅读次数:
308
构造代码块、静态代码块与构造方法是三种不同的代码块,那么他们到底有什么区别呢?
一、简单认识一下构造代码块、静态代码块与构造方法
class A
{
//构造代码块
{
System.out.println("构造代码块A");
}
//静态代码块
static
{
System.out.println("静态代码块A");
}
//构造方法
public...
分类:
编程语言 时间:
2015-05-04 06:28:28
阅读次数:
135