摘要: 买了王斌老师翻译的《机器学习实战》一书,里面全是干货,既可以练python,又可以学习机器学习算法知识,挺不错的,学习一些东西这里分享下。 k-近邻算法(knn),它的核心思想就一句话,如果两个东西各方面属性都很相似,那么这两个东西属于同一类。k的意思是有很多东西和你要判断的东西相似(称作x), 那么找出和x各方面属性最相似的k个东西,如果这k个东西里面大部分都属于类C,那么x就属于类C。 好了,来分析一下这个算法需要的数据,首先要判断的东西x,我们称作测试集,我们知道x各种属性的值(后面统称特征),但是不知道x属于哪一类,结果就是求这个。还有其他很多东西,我们不仅知道它们的特征,还知... 阅读全文
posted @ 2013-12-27 13:43 huals 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 以前做java项目的时候,需要一些配置参数,java提供了Properties 类 来操作,存储配置,挺方便的,现在既然在看c++,就想着用c++来实现这么一个类。 要求: 1.支持注释,单行,多行注释都行 2.简单的key/value 模型 3.获取,修改,清空,存储操作等 接口头文件:properties.h #ifndef PROPERTIES_H#define PROPERTIES_H#include <string>#include <map>namespace huals{class Properties{private //配置文件路径std::strin 阅读全文
posted @ 2013-06-18 21:55 huals 阅读(2102) 评论(0) 推荐(0) 编辑
摘要: 看到上一篇博客是2012.12月份的,真是岁月如梭,这也说明自己这一段时间也真是懒惰了,唉,微博玩多了,废话不多说,上菜。 c++ 顺序存储结构 有三种:vector(数组),list(链表),deque(数组和链表一种结合,暂不清楚怎么实现的,应该是数组的变种),说说适配器的情况,适配器是在存储结构上实现的一种既定范围的操作,如队列,栈等(一般和既定的业务,目的相关)。下面就来实现一下栈的操作,上代码: 栈的接口头文件:stack.h #ifndef stack_h#define stack_h#include <deque>namespace huals{template< 阅读全文
posted @ 2013-06-17 21:33 huals 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 好久没写博客了,博客荒废了,人也废了,c++ primer果然经典,看了之后明白了许多之前不懂得细节。 当定义一个新类型的时候,需要显示或隐式地指定复制,赋值和撤销该类型的对象时会发生什么---这是通过定义特殊成员:复制构造函数、赋值操作符重载和析构函数来达到的。如果没有显示定义这些,编译器会为我们实现。 之前学习c++语言时大家知道函数参数传递方式有两种,值传递和引用传递。值传递开始自己理解为就是拷贝,但是执行的是什么拷贝?=号函数还是拷贝构造函数,答案是拷贝构造函数。函数返回值时编译器会创造一个临时变量,执行的也是拷贝构造函数。View Code #include <iostream 阅读全文
posted @ 2012-12-19 22:05 huals 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 今天写c++操作符重载发现了一些问题,遂向师兄请教,于是引出一堆问题,讨论过程中,也解了我几个大疑惑。 首先写一个c++类,如果你不显示实现,c++会帮你实现拷贝,=号重载,无参默认构造函数等三个基本成员函数。 感觉上拷贝和=号重载其实是一个意思,但是编译器不这么干,这两个是分别实现的。 无参构造函数是其成员各自调用自己的无参构造函数,如此循环调用下去。 关于c++的临时变量,这个很诡异,函数的返回值,写过汇编程序的人知道,函数其实就是一个小程序段,被调用的时候先把参数压入栈,接着把返回地址压入栈,函数调用完返回的时候,直接ret,IP=返回地址,继续执行下一条指令(这里面记不... 阅读全文
posted @ 2012-10-30 22:44 huals 阅读(1139) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树是这样一棵树:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。查找、插入和删除在平均和最坏情况下都是O(log n)。可以用于数据库设计,内存分配算法等。/*平衡二叉查找树written by huals2012.10.13*/#include <stdio.h>#include <stdlib.h>typedef struct BSTreeNode{int value;struct BSTreeNode *left;struct BSTreeNode *right;struct BSTreeNode *parent 阅读全文
posted @ 2012-10-13 16:59 huals 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 为什么写这个呢,因为以前考试时考过静态链接库和动态链接库区别,我不清楚,这两天google了一下,从网上,园子里学到了一些这方面的知识,后来又发现它们也可以被其他语言调用,对于机器来说,啥语言写的代码到最后都是一样的,在二进制这一层都是相同的了,今天特用Java 按照网上例子小试了一下,折腾了我一个下午,粗心呀,还有身为小菜啥都不懂复制粘贴一大堆bug的无奈,记录一下,以后可能会用到。 我也写个最简单的。首先java代码:public class java_dll{static {System.loadLibrary("hello_dll");}public native 阅读全文
posted @ 2012-08-23 20:46 huals 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 初次接触android是在做大学做毕业设计时候,android那时候是很新的一个应用,忙了一个多月,小小的图片浏览器over了,很有感觉,呵呵。现在又要做android项目了,android此时已与日中天了,发展的真快呀。话不多时,重新接触android时候,发现了一些此前没注意的细节,在此总结一下。 如果有过做网页的朋友会发现,android的界面跟html,css很像,内容和表现是一体的,因为android没有网页那么复杂的布局。如果能把网页css所有布局对应到android,可以说你淫了(赢了)。 长度,高度,内边距,背景等这些都和css一样,但是外边距的时候我发现有时候设置了,没反应. 阅读全文
posted @ 2012-08-20 22:20 huals 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 暑假的时候室友论文中需要比较数据趋势,画曲线图,正好我是学计算机的,便接下了这个任务,也算是做个小软件练习下,在选择语言的时候,我犹豫了,因为需要图形界面,我平时练算法用的c,显然不适合,java和vb都学过一些,不过我对java里面类(太多了)感到头疼,便选择用vb做这个事情。 重新熟悉了下vb的语法,首先vb也不是一个纯面向对象语言,控件都是用对象封装的,但是也有模块这种面向过程的代码。其中全局变量和公共方法都是放在模块中的,vb的数组定义也很有意思,默认情况下数组定义时需要指定数组的大小且大小数值必须为常量,这样想要定义一个变长的数组便有些麻烦,vb提供了redim方法,可以重新定义先前 阅读全文
posted @ 2012-08-11 22:10 huals 阅读(3250) 评论(0) 推荐(0) 编辑
摘要: //散列表之链表散列#include <stdio.h>#include <string.h>#include "linux_list.h"#define m 7struct record{struct list_head list;int id;char name[10];};int Record_value(char *str,struct record *rec);int main(void){int i,j,n;struct list_head *hash;char str[100];FILE *fp;struct record *a;has 阅读全文
posted @ 2012-06-30 23:17 huals 阅读(396) 评论(0) 推荐(0) 编辑