双指针算法

 图示:(双指针)

双指针算法_第1张图片双指针算法_第2张图片

为什么要用双指针算法? 

如果用一个双重循环来遍历:
	for(int i=0;i

上面这里的时间复杂度为:O(n²)

而用双指针算法: 

可以将双重循环优化到O(n)的时间复杂度都可以包含在双指针算法内

包括:滑动窗口、快速排序、和kmp算法等

每道题的基本模板 

for(i=0,j=0;i

 如何进行双指针遍历?

例题一:将一个句子中的单词分别输出

#include
using namespace std;
int main(){
	char a[1001];
	gets(a);
	int lena=strlen(a);
	for(int i=0;i

 

你可能感兴趣的:(算法,数据结构)