摘要: 1. 简述 从一个字符串中,删除另一个字符串中出现过的所有字符。基本上比较简单,主要就是要保存的字符放到合适的位置,要删除的字符最后要释放掉,还有就是'\0'的处理。2. 代码#include<iostream>usingnamespacestd;boolfind(constchar*cs,constcharch){assert(cs!=0);while('\0'!=*cs&&ch!=*cs)cs++;if('\0'==*cs)returnfalse;elsereturntrue;}voiddelete_str(cha 阅读全文
posted @ 2011-08-19 20:56 xiaodongrush 阅读(433) 评论(1) 推荐(0) 编辑
摘要: 1. 简述 本文主要说明一些常用的内部排序算法的分类、复杂性和稳定性。主要基于现在的理解和学习,详细准确的复杂度可以参见维基百科等比较权威的网站,对于一些算法的不同实现,复杂度也不同,这里给出的复杂度都是相对较好的算法的复杂度。2. 分类3. 复杂性和稳定性冒泡排序:在已经有序的情况,取得O(N)的复杂度。快速排序:每次递归都是N的复杂度,递归次数根据序列有关系,当已经有序的情况下,递归N次,时间复杂度为O(N*LogN) 插入排序:在已经有序的情况,取得O(N)的复杂度。希尔排序:最差时间和平均时间都要根据步长数组来判断,现在最好算法的最差时间复杂度,为O(N*LogN)。空间主要是步长数组 阅读全文
posted @ 2011-08-19 10:54 xiaodongrush 阅读(8987) 评论(3) 推荐(0) 编辑