- 浏览: 169241 次
- 性别:
- 来自: 北京
最新评论
-
gary_bu:
赞,学习了!
数据存储单位普及 -
teacherzhu:
http:/http://www.iteye.com/imag ...
java枚举 -
happylouis:
写的到位,明白
java枚举 -
Menuz:
比WordCount例子更具体,Good~~
hadoop的hello world -
aa510600102:
第二种0100000000情况表示1,2号老鼠死亡,其他存活, ...
算法与数据结构-小白鼠查毒
文章列表
指针函数与函数指针的区别 指针的指针
- 博客分类:
- C++编程
一、
在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:
1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针
类型标识符 *函数名(参数表)
int *f(x,y);
首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。
表示:
float *fun();
float *p;
p = fun ...
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。
Read Uncommitted(读取未提交内容)
在该 ...
人民网搜索面试---字符串移动(字符串为*号和26个字母的任意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变),要求时间和空间复杂度最小
#include <iostream>
#include <cstring>
using namespace std;
char* moveStar(char *s){
if(!s) return NULL;
int len = strlen(s);
int starCount = 0;
for(int i=len-1;i>=0;--i){
if(s[i]=='* ...
DEV C++ 使用总结
1、DEV C++ 不能调试
(1)tools->compiler option->settings->linker里设置为yes后,Generate debugging information,并且Rebuild All 了。
(2)在“工具”-》编译选项-》"Add following commands when calling complier编译时加入下面命令"的编辑框里加上:-g3,在下面的"Add these commands to the linker command line在连接器命令行加入以下命令&q ...
有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
【1】根据2^10=1024,所以10个老鼠可以确定1000个瓶子具体哪个瓶子有毒。具体实现跟3个老鼠确定8个瓶子原理一样。
000=0
001=1
010=2
011=3
100=4
101=5
110=6
111=7
一位表示一个老鼠,0-7表示8个瓶子。也就是分别将1、3、5、7号瓶子的药混起来给老鼠1吃,2、3、6、7号瓶子的药混起来给老鼠2吃,4、5、6、7号瓶子的药混起来给老鼠3吃,哪个老鼠死 ...
1、指针和引用的定义
指针---对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:
引用---引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:
2、指针和引用的区别
首先,引用不可以为空,但指针可以为空。前面也说过了引用是对象的别名,引用为空——对象都不存在,怎么可能有别名!故定义一个引用的时候,必须初始化。因此如果你有一个变量是用于指向另一个对象,但是它可能为空,这时你应该使用指针;如果变量总是指 ...
// main.cpp
#include <conio.h>
#include <iostream>
using namespace std;
class Ptr
{
public:
int* a;
Ptr() // 声明不初始化用构造函数
{
a = 0;
}
Ptr(int* p) // 初始化用构造函数
{
...
C++拷贝构造函数(深拷贝,浅拷贝)
对于普通类型的对象来说,它们之间的复制是很简单的,例如:
int a=88;
int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子 ...
插入排序
插入排序是一种通过不断地把新元素插入到已排好序的数据中的排序算法,常用的插入排序算法包括直接插入排序和shell排序,直接插入排序实现比较简单,时间复杂度是O(n),但是直接插入没有充分的利用已插入的数据已经排序这个事实,因此有很多针对直接插入排序改进的算法,例如折半插入排序等,下边是直接插入排序的Java实现:
public static void insertSort(int[] elements){
for(int i = 1;i <elements.length; i++){
int j = -1;
...
随着 Web 技术的发展,使得内容的创建和分享变得越来越容易。每天都有大量的图片、博客、视频发布到网上。信息的极度爆炸使得人们找到他们需要的信息将变得越来越 难。传统的搜索技术是一个相对简单的帮助人们找到信息的工具,也广泛的被人们所使用,但搜索引擎并不能完全满足用户对信息发现的需求,原因一是用户很难用 恰当的关键词描述自己的需求,二是基于关键词的信息检索在很多情况下是不够的。而推荐引擎的出现,使用户获取信息的方式从简单的目标明确的数据的搜索转换 到更高级更符合人们使用习惯的上下文信息更丰富的信息发现。
“探索推荐引擎内部的秘密”系列将带领读者从浅入深的学习探索推荐引擎的机制,实现方法,其中还涉 ...
测试你自己的程序设计能力
- 博客分类:
- 数据结构
自己写出string类的indexof方法?
static int indexOf2(char[] source, int sourceOffset, int sourceCount,
char[] target, int targetOffset, int targetCount, int fromIndex) {
char first = target[0];
int max = sourceCount - targetCount;
for (int i =0; i <= max; i++) {
/* Look for fi ...
推荐引擎算法大体上分为两种:
(一)基于内容的
暂时不分析
(二)协同过滤
一个协同过滤算法通常的做法是对一大群人进行搜索,从中找到与我们品味相近的一小群人,算法会对这些人所偏爱的其他内容进行考查,并把他们组合成一个经过排名的推荐列表。
1,首先我们先找与我们品味相同的用户
我们常用的两套计算相似度评价值得体系:欧几里德距离和皮尔逊相关度
例子:
# set of movies
critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5,
'Just My Luck': 3.0, 'Superman R ...
能进行hello world之前假设你的环境已经搭建完毕(我搭建的伪分布式)
我用hadoop源码中的WordCount作为hadoop的hello world。
(1)我们拿到hadoop源码中的WordCount类代码如下
package org.apache.hadoop.examples;
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
...
计算机的数据存储单位,按照进率1024计算,除了Byte、KB、MB、GB、TB之外,还有更大的存储单位:PB、EB、ZB、YB、DB、NB;
1Byte = 8 bits;
1KB = 1024Byte = 2的10次方Byte = 1024 Byte
1MB = 1024KB = 2的20次方Byte = 1048576 Byte
1GB = 1024MB = 2的30次方Byte = 1073741824 Byte
1TB = 1024GB = 2的40次方Byte = 1099511627776 Byte
1PB = 1024TB = 2的50次方Byte = ...
Lucene文档得分计算原理:
首先要理解下文档与词条的向量空间
我们先来说下文档(document)和其中包含的词条(term)之间的关系,对于每篇文档它是由词条组成的因此可以表示成一个向量D(term1,term2,......,termn)。我们假设 ...