vi/vim 中可以使用 :s
命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。 :s/vivian/sky/ 替换当前行第一个 vivian
为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$...
分类:
其他好文 时间:
2014-05-10 06:30:02
阅读次数:
213
模块化 首先要理解的是什么是模块化,模块化这个词来源于研究工程设计中的《Design
Rules》,是指可组成系统的、具有某种确定独立功能的半自律性的子系统。
模块化在编程中的意义是为了减少软件的复杂度,使软件不会因为不断的扩大而导致功能维护、添加变得十分困难。而通过模块的拼接,就可以组成一...
分类:
其他好文 时间:
2014-05-10 05:03:01
阅读次数:
332
一、合并已排序的两个数组,依次比较两个数组元素大小,并按大小加入到暂存数组B,最后保存到A:Algorithm: MERGE(A, p, q,
r)输入:数组A[p...q]和A[q+1...r],各自按升序排列输出:将A[p...q]和A[q+1...r]合并后的升序排序的新数组01. s←p;
...
分类:
其他好文 时间:
2014-05-10 02:43:47
阅读次数:
549
(一)插入排序
算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。
插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素...
分类:
其他好文 时间:
2014-05-09 22:38:41
阅读次数:
342
注意要点:不出现滚动条时要设置height和...
分类:
其他好文 时间:
2014-05-09 22:27:59
阅读次数:
552
在.NET中应用MATLAB算法
在科学研究和工程应用中,往往要进行大量的数学计算,其中包括矩阵运算。这些运算一般来说难以用手工精确和快捷地进行,而要借助计算机编制相应的程序做近似计算。目前流行用Basic、Fortran和c语言编制计算程序, 既需要对有关算法有深刻的了解,还需要熟练地掌握所用语言的语法及编程技巧。对多数科学工作者而言,同时具备这两方面技能有一定困难。通常,编制程序也是繁杂的,...
分类:
Web程序 时间:
2014-05-09 22:19:16
阅读次数:
408
线性排序的一种(时间复杂度为(n))
计数排序(Counting sort)是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。
计数排序的特征
当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。
由于用...
分类:
其他好文 时间:
2014-05-09 21:05:32
阅读次数:
309
字符串的好题。题干解释的非常复杂,一下让人不知所措了。
这道题到底是什么意思呢?最终的结果是把一个字符串中字母的顺序打乱了,让你判断一个字符串能不能由另一个字符串打乱得到。那打乱这个过程是怎么做的呢,很简单,给你一个字符串,你必须先找一个点把它砍成两半,你可以通过交换这两半的顺序来打乱源字符串的顺序,也就是在两半中的字符与另一半中所有字符的相对顺序是统一的。对于每一半,都可以重复上面的过程。
...
分类:
其他好文 时间:
2014-05-09 20:59:46
阅读次数:
239
快速选择算法,就是从给定的一个集合S={a1,a2,...an}中选出第K个大小的数,或者给出其所在的下标之类的。
如果使用排序,比如merge_sort,然后返回第K个元素的下标,复杂度是O(NlogN)
如果使用heap_sort,或者优先队列,则复杂度是O(NlogK)
如果使用quick _sort的一个变种,叫 quick select,则平均复杂度为O(N),最坏复杂...
分类:
其他好文 时间:
2014-05-09 20:48:02
阅读次数:
841