《啊哈!算法》读后感
我的脑壳很笨,做事喜欢单进程。因此,我喜欢按流程,一步一步的向下推进。
可是我很喜欢读算法,当我自己弄出一个东西,感觉很高兴。
因此笨,所以看算法书总是看不懂。数据结构看了许多遍,总算把KMP算法搞明白,但还有B-树,AVL树,外部排序等许多程序仍然看不懂。所以,只要有能把算法讲明白的书,我一律收购。
其中《啊哈!算法》是其中最出色的一本。
我原来想实现全排列算法,
如3的全排列,打印出
123
132
213
231
312
321
当然用循环也可以弄出来,但太丑了。
有一本书是用回溯法弄的,但我能看明白,自己默不出来。
但作者用递归算法,具体来讲是深度优先的算法写出来,如下:
void dfs(int curr)
{
if curr==N{
打印结果
return
}
for(int i=0;i<N;i++){
if i没使用{
使用i
给i打上使用过的标记
dfs(curr+1)
把i已经使用过的标记去掉
}
}
return
}
作者提炼出的这个深度优先算法,真是很好。我用这个算法,实现的8皇
《啊哈!算法》读后感
最新推荐文章于 2023-12-08 23:05:06 发布