2013年12月29日
正文内容加载中...
posted @ 2013-12-29 22:55 Seiyagoo 阅读(13632) 评论(3) 推荐(2) 编辑
摘要: 从C/C++到Java,再从Java回到C/C++,今天终于有机会了解了连接Java、C/C++的桥梁——JNI。哈哈!分享一下!一、简介JNI是Java native interface的简写,可以译作Java原生接口。Java可以通过JNI调用C/C++的库,这对于那些对性能要求比较高的Java程序或者Java无法处理的任务无疑是一个很好的方式。二、目的:Java代码中调用C/C++代码三、实现:假设我们的Java程序为J2C.java, C程序为J2C.c, Java与C之间的通信函数名为write2proc; 那么write2proc的声明位于J2C.java,实现位于J2... 阅读全文
posted @ 2013-12-29 21:53 Seiyagoo 阅读(20843) 评论(1) 推荐(3) 编辑
  2013年10月26日
摘要: 一、本文内容最长递增子序列的两种动态规划算法实现,O(n^2)及O(nlogn).二、问题描述最长递增子序列:给定一个序列,从该序列找出最长的 升序/递增 子序列。特点:1、子序列不要求连续; 2、子序列在原序列中按严格(strictly)升序排序; 3、最长递增子序列不唯一。注:下文最长递增子序列用缩写LIS表示。example:0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15对应的LIS:0, 2, 6, 9, 13, 150, 4, 6, 9, 11, 15三、算法描述1、考察第i+1个元素时,不考虑前面i个元素的状态给定长度为n的 阅读全文
posted @ 2013-10-26 15:15 Seiyagoo 阅读(1781) 评论(2) 推荐(1) 编辑
  2013年10月13日
摘要: 一、本文内容以一种简明易懂的方式介绍红黑树背后的逻辑实现2-3-4树,以及红黑树的插入、删除操作,重点在2-3-4树与红黑树的对应关系上,并理清红黑树相关操作的来龙去脉。抛弃以往复杂的实现,而分析红黑树的一种简单实现LLRB。二、算法应用红黑树,给人以强烈的第一听觉冲击力——红与黑,好像很高端的感觉。事实上的确如此,红黑树是一种高级数据结构,在C++、Java的标准库里作为set、map的底层数据结构实现,以及linux中进程的公平调度。三、2-3-4树标题是红黑树,为什么讲2-3-4树?因为红黑树就是2-3-4树的一种等价形式,更准确地来说,我们用红黑树来完成2-3-4树的各种操作(如插入、 阅读全文
posted @ 2013-10-13 01:45 Seiyagoo 阅读(8373) 评论(8) 推荐(1) 编辑
  2013年9月30日
摘要: 本文一共提供了4种全排列的方法,包括递归非字典序版本、递归字典序版本、标准库版本和BFS字典序版本,当然BFS非字典序实现相对于BFS字典序版本更加简洁,稍加修改即可。说明:递归版本基于网上现有代码修改而成,标准库版本参照msdn sample修改而成,最后的BFS版本是由本人在看到题目后思考而来,并实现之(递归版本很久之前写过),所有四种算法都加了模板。当然BFS版本效率相对于递归要快,相对于STL版本则较慢,仅仅提供一种思路而已。注:对于这种小算法,自己主动思考可以开阔思路,而且想出一种新思路感觉会很不错;对于已成型的经典或者复杂算法,新思路的空间会非常小,所以可以以掌握为主。/**@de 阅读全文
posted @ 2013-09-30 00:39 Seiyagoo 阅读(1243) 评论(1) 推荐(0) 编辑
  2013年9月25日
摘要: Voronoi图定义任意两点p 和q 之间的欧氏距离,记作 dist(p, q) 。就平面情况而言,我们有dist(p, q) = (px-qx)2+ (py-qy)2设P := {p1, …, pn}为平面上任意 n 个互异的点;这些点也就是基点。按照我们的定义,所谓P对应的Voronoi图,就是平面的一个子区域划分——整个平面因此被划分为n 个单元(cell ),它们具有这样的性质: 任一点q位于点pi 所对应的单元中,当且仅当对于任何的pj∈Pj, j≠i,都有dist(q, pi)三元组。发生circle event时,并不知道这是一个false alarm,所以直到碰到该外接圆内部存 阅读全文
posted @ 2013-09-25 23:01 Seiyagoo 阅读(21999) 评论(7) 推荐(3) 编辑
  2013年6月8日
摘要: 最优超平面(分类面) 如图所示, 方形点和圆形点代表两类样本, H 为分类线,H1, H2分别为过各类中离分类线最近的样本且平行于分类线的直线, H1、H2上的点(xi, yi)称为支持向量, 它们之间的距离叫做分类间隔(margin)。中间那条分界线并不是唯一的,我们可以把它稍微旋转一下,只要不分错。所谓最优分类面(Optimal Hyper Plane)就是要求分类面不但能将两类正确分开(训练错误率为0),而且使分类间隔最大。推广到高维空间,最优分类线就变为最优分类面。支持向量是那些最靠近决策面的数据点,这样的数据点是最难分类的,因此,它们和决策面的最优位置直接相关。 我们有两个 ma.. 阅读全文
posted @ 2013-06-08 00:36 Seiyagoo 阅读(5942) 评论(0) 推荐(0) 编辑
  2013年6月7日
摘要: 离上次发博文差不多有一年的时间了,因为一直在准备考研直到4月份才有时间,无奈考研后进入空白期,对专业、技术甚至生活失去了兴趣,部分原因也是没有什么好写的,现在刚做完毕设,有点积累,就从这里开始吧!希望能尽快找回节奏! 我将从svm理论到应用,分享一下学习经历,文章有很多内容来自文献和网络牛人,后面给出链接。我自己也阅读了好几遍(写得真的很不错),思考后加入了自己的理解,且作为一系列的学习笔记吧。相关学科、领域的关系1、数据挖掘和机器学习: 数据挖掘受到很多学科领域的影响,其中数据库、机器学习、统计学无疑影响最大。简言之,对数据挖掘而言,数据库提供数据管理技术,机器学习和统计学提供数据分... 阅读全文
posted @ 2013-06-07 23:50 Seiyagoo 阅读(1420) 评论(2) 推荐(2) 编辑
  2012年7月5日
摘要: 1 #include <iostream> 2 3 #define MAXN 100 4 using namespace std; 5 6 7 struct BTNode 8 { 9 char tag; 10 BTNode *left; 11 BTNode *right; 12 }; 13 14 class BTree 15 { 16 private: 17 BTNode **root; 18 void BuildBTree(BTNode **root); 19 20 public: 21 /*递归版本*/ 22 ... 阅读全文
posted @ 2012-07-05 15:21 Seiyagoo 阅读(1513) 评论(5) 推荐(1) 编辑
  2012年6月30日
摘要: 一、提取端到端的流数据 在wireshark抓包的过程中,发现了一个比较实用的功能,就是follow tcp stream,也即跟踪端到端之间两个主机间的所有应用层数据,于是我就自己尝试着实现这个功能,构造五元组数据结构,比较判断是否是相同连接。由于有了上篇设计的流表,follow tcp str... 阅读全文
posted @ 2012-06-30 22:14 Seiyagoo 阅读(2147) 评论(2) 推荐(1) 编辑