java
文章平均质量分 83
芦笛
这个作者很懒,什么都没留下…
展开
-
c2java 第0篇
最近因业务关系,开始正儿八经的学java。因为C的背景,先入为主, 就和C做比较学习。 /*Struct.java -- how C to java * OO 的四大要素: 抽象,封装,模块化,分层 * Java 的优点: * 安全性: * 1. 引用必须初始化; * 2. 数组下标检查; * 3. 死机时优雅的打印StackTrace。 * 其他优点以后原创 2014-03-10 20:04:46 · 1561 阅读 · 0 评论 -
eclim Java/C使用配置
背景 在windows上,虽然ctags+cscope 甚至可以对java启用, 但是重名的太多,我需要更精确些。于是找到eclim。YCM 目前还不支持java, 且在linux我好像偶尔会卡的感觉, 而eclim 同时支持java和C(需CDT), 虽然基于java (是的: 配置 C IDE 基于java 写的eclipse 需要gui, 在linux ssh 连接终端是原创 2014-06-07 19:55:27 · 2590 阅读 · 0 评论 -
eclim CSearch macro 问题的解决过程备忘录
问题: CSearch 宏时,RuntimeException: Could not find file with URI because it is a relative path, and no base URI was provided.调试准备"verbose messagelet g:EclimLogLevel = 10"重定向vim messages:red原创 2014-06-10 17:43:03 · 1248 阅读 · 0 评论 -
c2java 回溯,下一个排列和子集和
穷举:生成所有候选解,然后找出需要的解。回溯:把解表示成向量,每个分量取自一个有限集合。从部分解开始,每次添加解的一个分量,然后判断如果有可能扩展成完整解则递归下去,否则换成下一个。可以看做是隐式图上的深度优先搜索。回溯/穷举的复杂度,最坏时和后者一样,通常情形因为不必遍历所有子节点,还是比较快的。回溯框架:backtrack(a[], k) if a[0,...,k] i原创 2014-05-27 20:01:10 · 985 阅读 · 0 评论 -
c2java Greedy 之任务调度
最近调试一个java工程的时候,我遇到不是期望的输出结果时,是这么干的:A1注释掉抛出的异常; A2加打印对比异常输入和正常输入; A3进一步加打印缩小范围。其实只需:B1静下心来仔细观察异常栈帧。 A1是希望改了使程序走完正常流程,得到期望的结果。这是一个局部最优选择。在某些情形下,我们没得选择,只能根据当前得到的部分信息做判断。说白了就是不断试错的过程。比如在荒郊野外原创 2014-06-10 19:08:02 · 1144 阅读 · 0 评论 -
c2java 回溯之数独
数独9x9的格子均分为3x3块,其中一些格子填有1~9之间的数字。请把空格填满,使得每行,每列和每个块中,1~9每个数字只出现一次。原创 2014-05-27 20:07:22 · 1015 阅读 · 0 评论 -
c2java select algorithm
对于很多应用来说,随机算法是最简单的或者最快的。既简单又快的有没有呢?那需要深刻的洞察力或者革命性的突破。什么是随机算法随机算法与确定算法区别是:它还接收输入随机比特流来做随机决策。对于同一个输入,每次运行所用的算法行为都不同,虽然结果都是一样的。Foiling an adversary可以构造一个输入使得一个确定性算法运行时间最长。随机算法可以看作是从原创 2014-06-17 19:31:37 · 844 阅读 · 0 评论 -
ssdp 在android上的一些问题 01.07 更新 01.08再次更新
只用MulticastLock是不够的。先看ubuntu miniDLNA/android BubleUPnP 的抓包例子:# 192.168.2.103:33940 --> 239.255.255.250:1900M-SEARCH * HTTP/1.1Man: "ssdp:discover"Mx: 3Host: 239.255.255.250:1900St: ssdp原创 2015-01-06 21:56:31 · 1429 阅读 · 0 评论 -
ubuntu环境下我的第一个android apk (2014.12.12更新)
背景====终极目的是把ffplay2放到android手机上跑起来。现在我们该进入android这个新世界了。我的环境是ubuntu 14.04。手机借了一个HTC 4.4.4的。下载====sudo apt-get install ant openjdk-7-jdk#ant 相当于make, jdk用来编译java代码。android-ndk-r10d-li原创 2014-12-11 21:29:42 · 1726 阅读 · 0 评论 -
ffplay2 for android v2.8 发布
项目地址:https://github.com/DeYangLiu/AndroidPlayer/看点: 用ListView实现的简易文件浏览器。用intent启动另一个Activity。ndk 调试。移植ffmpeg 2.5和sdl2 到android的各种坑。同时编译多个库====ln -s /mnt/OpenSource/SDL_image jni/原创 2014-12-17 22:41:57 · 2174 阅读 · 10 评论 -
c2java 动态规划之模糊匹配
字符串匹配精确:indexOf(String str); -- strstr(), O(mn)。lastIndexOf(String str); -- continue 的别样用法。matches(String regex); -- Regex.compile()/match()。模糊: java package? Spell Checker -- 两个字符串的相似程度原创 2014-06-04 19:38:07 · 1005 阅读 · 0 评论 -
并行计算有向无环图和fork/join 框架
从多任务OS开始,线程主要用来表示IO异步;而今随着4G和多核等的到来,计算密集型又热门起来了。硬件价格和性能从低到高:PC/Laptop multi core, memory sharedPC clustersSuperComputers假设一个理想并行计算机:每个处理器计算能力相同,忽略调度,static thread 是对一个虚拟处理器的软件层面的抽象;s原创 2014-05-20 21:04:41 · 1915 阅读 · 0 评论 -
c2java 第7篇 图的连通分量,关节点和桥
图的连通分量,关节点和桥====对于有向图,我们称其一个子图是强连通分量,是指任意两点u,v, 都有两条路径u到v和v到u。对于连通无向图,我门称其一个子图是双连通分量,是指任意两点u,v,存在一个圈包含u,v。与无向图相关联的还有关节点x,是指去掉x,图不连通;桥(u,v)是指去掉这条边,图不连通。求解算法的要义在于首先要理解:树边-前向边-后向边-交叉边"Conside原创 2014-04-29 19:12:02 · 2444 阅读 · 0 评论 -
c2java 第1篇 泛型和双链表
上篇我对BigInteger 膜拜了一番,以为很复杂呢,结果看jdk带的源码,也就一个3000行java文件而已。因而右必要自己亲自写一些底层的东西。一来是为了练手,二来是为了体会java的思维方式,三是比较C++的后继者们扬弃了什么。 废话不说,要点都写在注释里面了:/*LinkedListTest.java --模仿C风格的双链表1. head->func(head)原创 2014-03-17 20:03:42 · 1166 阅读 · 0 评论 -
c2java 第5篇 栈和中缀表达式的直接计算
中缀表达式一般是先转换为后缀表达式,然后再计算的,其实我们可以边转换边计算。/*Infix.java使用两个栈直接求解中缀表达式,一个栈保存运算符S,一个栈保存操作数D。例子:a+b*c D:a,b S:+ D:a,b,c S:+,* D:a,bc S:+ <-- 每次取一个运算符,弹两个操作数 D:a+bc S:a*b/c+d原创 2014-04-14 19:53:31 · 1424 阅读 · 1 评论 -
c2java 第3篇 红黑树删除的理解和jdb调试初步(2014.04.03更新)
红黑树节点的删除,值替换后不改变红黑属性,归结为删除最多有一个孩子的节点,对应到2-3-4树叶节点的:1. 4-节点2. 3-节点3. 2-节点 a.兄节点至少是3-节点: 两次转移. b.弟节点是2-节点:一次转移,一次融合. c.父节点是2-节点:cascading2-3-4树的删除太复杂,估计没人用在实践中;并且还有个缺点:真正该删除的保留,而其他原创 2014-04-02 19:09:43 · 1241 阅读 · 0 评论 -
c2java 第8篇 网络流
Edmonds-Karp 算法: 使用bfs找增广路经,复杂度min(O(VE^2), O(EF)), 其中F是最大流的流量. 依据是最大流最小割定理:1. 对于任一流f和任一割c, 流量|f| = |c| 2. f 是最大流 残留网络Gf没有增广路径 存在一个割,其容量等于f的流量。应用例子====liquids in pipes, parts through原创 2014-05-06 19:27:15 · 698 阅读 · 0 评论 -
c2java 第2篇 红黑树之插入
红黑树在C++ STL 和 java Collection 里面作为Set, Map 的底层存储结构,非常重要。作为CS树中一个特别树种, 理解了它, 差不多就算入门道了。套用钱砚堂赞王芗斋先生的话:(郭老)夫子之墙高千仞,君既入室且登堂。 /*RBTree.java -- Red Black Treedoc:0. 红黑树与AVL树的比较: 插入最多只需要2次旋转原创 2014-03-25 19:23:23 · 814 阅读 · 0 评论 -
c2java 第6篇 图的表示,最短路,圈检测和拓扑排序
/*图的表示===最简单的是临接矩阵了int n = 10;int[][] adjMat = new int[n][n];如果边数接近顶点数的平方,就用这个很合适。如果边比较稀疏,顶点又比较多,为了不浪费空间,可选用临接表int i, n = 10;int[][] adjList = new int[n][0];for(i = 0; i adjList[原创 2014-04-21 19:54:24 · 839 阅读 · 0 评论 -
c2java 第4篇 二叉堆和Huffman编码在视频编码中的运用
完全二叉树也可以用数组表示的原创 2014-04-08 20:23:17 · 849 阅读 · 2 评论 -
c2java 第9篇 FFT
傅里叶分析是什么?设多项式A(x) = a_0 + a_1*x^1 + a_2*x^2 + ... + a_{n-1}*x^{n-1},系数向量记为a = (a_0, a_1, ..., a_{n-1}),多项式求值向量记为y=(y_0, y_1, ..., y_{n-1}),y_{j} = A(w_n^j),w_n = e^{2*\pi*i/n}, 称y = FT(a)为原创 2014-05-13 19:22:36 · 1453 阅读 · 0 评论 -
chez scheme for android 移植完成
到今天终于把喜欢的lisp移植到android上,前后花了不少晚上时间。android版本由scheme 命令行可执行程序, 解释器运行时petite.boot, 编译器组件scheme.boot三个文件组成。另外还开发了一个跟chez scheme官方源码无关的加载器:run-native-exe apk: 调用scheme, IO重定向到UI。运行示例:上面的截屏有几个技术点,这里总结下: ...原创 2018-03-18 23:20:04 · 1856 阅读 · 1 评论