blog | 逍遥郡


  • Home

  • Archives

  • Tags

  • Search

ROX使用技巧

Posted on 2006-07-18 |
虽然xfce抛弃掉了rox,不过我还是使用它,因为简洁高效;今天别人说它不好用,所以现在总结几点技巧在这里。rox有一个minibuffer,就跟emacs差不多,不过平时它是隐藏的,所以一般不会发觉,我也是看了help之后才知道的,另外一部分借鉴自linuxsir。 在当前目录下,按键盘的`(grave),可以弹出当前目录下的虚拟终端。 按 ! 键,可以输入命令行shell代码,比如解压当前目录的压缩包。 按 / 键,可以方便的改变路径,而且支持tab补全。 按 Ctrl+h 可以查看隐藏文件。 任意方法,打开minibuffer,输入 size>5mb 这样的内容可以显示目录下大于5MB的文件。 快速定位路径:这个功能跟星际争霸里边给队伍编号差不多。比如要在任意快速回到 /home/ 下, 那么先到 /home ,按Ctrl+1 。以后无论在什么目录深度,只要按1,就可以到达 /home 了。对其他想快速定位的目录,只要按“Ctrl+数字键” 就可以记录定位,以后就只要按数字键就可以快速到达了,而且即使重启系统,也不会丢失定位信息。 用 ...
Read more »

Emacs Lisp学习

Posted on 2006-07-15 |
[TOC] 基本概念 符号 一个symbol是一个具有唯一名字的object,它有四个cell,每个cell引用另一个object: print name value function property list LISP differs from most imperative programing languages such as C, Java, Perl, in that it deals with symbols, as opposed to just variables and values. In practice, this means that in lisp, variables can be manipulated in its un-evaluated state. The situation is like the need for the “evaluate” command in many languages, where the programer can built code as strings and ...
Read more »

用tar备份系统

Posted on 2006-06-22 |
tar备份对所有 linux 都通用的, 而且我在用着的就是 gentoo 的所谓 stage4 的备份啦 (整系统备份) 很简单: umount 不需要备份, 或需要单独备份的分区 (比如你的 win32 分区, 我自己的专门放重要数据的 /mnt/data 分区) 进到一个有空闲空间较大的分区中, 假设是 /mnt/backup 用 tar 命令把整个系统打包到这个目录下, 命令大概如下: `tar cvjpf ./stage4.tar.bz2 / --exclude=/proc/* --exclude=/sys/* --exclude=...` 其中的几个参数的意思是: c 创建压缩文件 v 输出可见信息 j 进行 bz2 压缩 p 保留文件权限 (非常关键!!) f 压缩到指定文件 (./stage4.tar.bz2) 中 留心, ./stage4.tar.bz2 紧跟着后面是一个 /, 也就是我们要备份整个系统 (/ 就是系统的根目录). 其后跟着的就是一些不需要备份的目录, 一 ...
Read more »

卷积

Posted on 2006-06-19 |
概述 DSP中卷积的物理意义就是信号经过系统后在时间上不断叠加的结果,t时刻卷积的值就是t时刻以及t时刻之前信号对系统产生响应值的总和——加权求和。 概率论的角度,举例为 X、Y 两组连续型随机变量,那么令Z=X+Y ,当X、Y两组变量独立时,就能推导出卷积公式了,fz=fx*fy的意义就是在于两组变量叠加出来的概率密度,也就是算两信号X、Y混叠起来的时候的响应。 两个一维向量的卷积(可以参考matlab中conv命令): \[x = (x_0, x_1, x_2) \\ y = (y_0, y_1) \\ x * y = (x_0y_0, x_1y_0 + x_0y_1, x_2y_0 + x_1y_1, x_2y_1)\] 可以看出卷积后的向量长度 length(x*y) = length(x)+length(y)-1。二维向量卷积参考命令conv2。 LTI系统 线性时不变(LTI,Linear Time Invariant)系统,是输出不会直接随着时间变化的线性系统: 如果输入信号x(t)产生输出y(t),那么对于任意时间延迟的输入x(t+d)将得到相同时间延迟 ...
Read more »

傅立叶变换

Posted on 2006-06-18 |
信号 分类 非周期性连续信号 傅立叶变换(Fourier Transform) 周期性连续信号 傅立叶级数(Fourier Series) 非周期性离散信号 离散时域傅立叶变换(Discrete Time Fourier Transform) 周期性离散信号 离散傅立叶变换(Discrete Fourier Transform) 计算机因为只能处理离散信号,所以涉及到的是DFT。 傅立叶级数(Fourier Series) 在数学中,傅里叶级数是一个可以把(有波形的)函数表示成多个简单的sin函数的叠加的方法。 更形式地说,傅里叶级数能够把任意周期函数(信号)分解成有限(或无限)个简单的震荡函数的叠加,这些震荡函数可以是正弦函数、余弦函数或复指数。 \[S = \sum_{k=1}^n A_k\sin (2\pi kt+\ ...
Read more »

分支限界法

Posted on 2006-06-08 |
[TOC] 分支限界法(Branch and bound)类似于回溯法,都是在解空间树T上搜索问题解的算法。但一般两者求解目标不同,回溯法求解目标是找出T上满足约束条件的所有解,而分支限界法是找出满足条件的一个解,或是满足约束条件的解中使得目标函数值极大或极小的解(即最优解)。 分支限界法采用BFS策略搜索解空间树,在扩展节点处,先一次性生成其所有子节点(分支);然后,对这些子节点,计算一个函数值(限界),根据该值舍弃那些导致不可行解或非最优解的子节点,剩余子节点加入活节点表;此后,从活节点表中取下一节点成为扩展节点,重复上述步骤。这使得搜索朝解空间树上有最优解的分支快速推进,尽快找到最优解。 从活节点表中选择下一扩展节点的不同方法导致不同的分支限界方法,常见有两种: FIFO分支限界法 优先队列分支限界法 常见问题 旅行商问题 0-1背包问题
Read more »

回溯法

Posted on 2006-06-02 |
[TOC] 回溯法的本质应该是暴力求解法(brute-force),它可以系统搜索问题的所有解或任一解。它在问题的解空间树中,按照DFS策略,从根节点出发搜索解空间。 当需要求所有解时,要回溯到根,且根节点所有子树都搜索完后才结束;而求任一解时,只要搜索到问题的一个解就可以结束。 回溯法适用于求解组合数比较大的问题。 回溯法的关键在于找出问题的解空间树,然后构造出 DFS 递归 或 迭代 逻辑。 回溯法搜索解空间树的时候,通常有两种策略来避免无效搜索,即 剪枝函数: 约束函数:在扩展节点处剪去不满足约束的子树, 限界函数:剪去不能得到最优解的子树。 回溯法通常的步骤: 针对所给问题,定义问题的解空间, 确定易于搜索的解空间结构, 以深度优先的方式搜索解空间树,并在搜索过程中利用剪枝函数避免无效搜索。 DFS递归 回溯法的递归伪代码描述: void backtrack(int t) { if(t > n) output(x); else for (int i = f(n,t); i <= g(n ...
Read more »

动态规划算法

Posted on 2006-05-20 |
[TOC] 动态规划算法与分治法类似,基本思想也是把待求解问题分解成若干子问题,先求解子问题,然后从子问题的解得到原问题的解。与分治法的区别在于,分解开的若干子问题往往不是相互独立的。动态规划算法中需要用一个表来记录已解决的子问题的解,以避免重复计算,从而得到多项式时间算法。 动态规划算法的使用范围:求解某种具有最优性质的问题。 动态规划算法的有效性依赖于问题的两个重要性质: 最优子结构(问题的最优解包含了子问题的最优解) 重叠子问题(当递归计算时,每次产生的子问题并非总是新问题,会被反复计算) 动态规划算法与备忘录算法的区别:动态规划算法是自底向上递归的。 动态规划算法有两种实现方式: 带备忘的自顶向下法 按照直观的递归形式编程,但由于会重复求解重叠子问题,所以在递归过程中会额外保存相关子问题的解,即所谓的备忘。 自底向上法 按子问题规模从小到大的顺序求解,并保存这些子问题的解,当到需要求解的问题时,它依赖的所有子问题都已经求解,所以也就可以直接求解该问题了。 这两种实现的区别是,带备忘的自顶向下法一般使用递归形式,依赖递归栈的大小,但它只会计 ...
Read more »

cygwin个性化配置

Posted on 2006-05-16 |
配置 cygwin 中的服务程序 详细情况阅读 /usr/share/doc/Cygwin/cygserver.README,要让一个apache httpd或者 proftpd成功运行,在winxp下: 需要把 /bin/cygrunsrv 以 LocalSystem 的身份设置为系统服务,最简单的方法就是运行脚本 /usr/bin/cygserver-config。这将在 “Control Panel > Admin Tools > Services” 里边出现一个名为 CYGWIN cygserver 的服务项目。 然后设置环境变量 CYGWIN,最简单的方法就是在 cygwin.bat 中添加一行: set CYGWIN=server。 配置服务或应用程序之前,阅读 /usr/share/doc 中罗列的文档。 配置 apache httpd2 服务 配置 httpd2 很简单,直接用 setup 的安装程序安装好 httpd2。然后运行如下命令即可: apachectl2 start 要是找不到 apachectl2,看看 /usr/sbi ...
Read more »

二叉树相关算法

Posted on 2006-05-10 |
[TOC] 二叉树节点的常见定义: typedef struct BTreeNode { DataType data; struct BTreeNode* pLeft; struct BTreeNode* pRight; } *BTreeNodePtr; 树的遍历 DFS (Depth-first search) 深度优先遍历,按访问根节点、左子树和右子树的顺序,分为前序、中序和后序三种遍历方式。 traversral(node) // visit(node.value) // first-order if node.left != null then traversral(node.left) // visit(node.value) // in-order if node.right != null then traversral(node.right)) // visit(node.value) // post-order BFS (Breadth-first search) 广度优先遍历,借助s ...
Read more »
1 … 15 16 17 … 19
Julian Qian

Julian Qian

记录编程、Hack和自娱自乐的一些玩意。

189 posts
60 tags
RSS
Creative Commons
© 2024 Julian Qian
Powered by Jekyll
Theme - NexT.Mist