
《啊哈!算法》
这本书最大的两点就是生动有趣,算法如此枯燥的理论都能在这本书里找到轻松愉悦的讲解,并且此书非常切实,一切都以实际应用出发,阅读中更像是在看故事书或者再玩解谜类游戏。可以在愉快地氛围中,找到自己的需要学习的部分,让学习也可以变得更简单。
《算法》(第4版)
这本书是经典之作,全书非常全面并且详细的讲解了所有关于算法的基本知识和结构组成,并且书中还提供了实际代码,更加的方便了读者的延伸和变形应用。作为经久不衰的作品,建议学习算法时,仔细的研读此书。
《算法的乐趣》
书如其名。它能够带你找到算法的真正乐趣,并且结合算法在生活中的实际应用,有趣生动的介绍了算法的神奇功能,阅读这本书,你会发现你像是到达了一个新的世界。
《算法问题实战策略》
这本书被誉为韩国史上最棒的算法实战书,就像书名一样,全书更侧重于实际应用,本书可以让读者学到更精妙的算法结构和设计的技巧,进而提升读者的在生活中的算法问题解决能力。
《挑战程序设计竞赛》
这本书主要是针对程序设计竞赛的题目,全书对题目进行了非常细致的讲解,并且汇总了经典题目和基础算法,根据自身的等级可以选择初、中、高的篇目。由浅入深、由简入繁的讲解非常细致,也介绍了许多的实战技巧。
OIer一名
个人认为两本书都有一定作用
《挑战程序设计竞赛》主要是一些难度较高的题目,精细研究上面的题目之后NOIP一等奖没问题。
对于提高组选手,建议学习刘汝佳的《算法竞赛入门经典》和李煜东的《算法竞赛进阶指南》
将书上给出的部分解答配上主函数就可以了啊:
#include<stdioh>
#define N 20
int a[N];
int n,k;
int dfs(int i, int sum);
int main(){
int i;
printf("n=");
scanf("%d", &n);
for(i=0; i<n; i++){
printf("a[%d]=",i);
scanf("%d", &a[i]);
}
printf("k=");
scanf("%d", &k);
if(dfs(0, 0))
printf("Yes\n");
else
printf("No\n");
return 0;
}
// 已经从前i项得到了和sum,然后对于i项之后的进行分支
int dfs(int i, int sum) {
// 如果前n项都计算过了,则返回sum是否与k相等
if(i==n)
return sum==k;
// 不加上a[i]的情况
if(dfs(i+1, sum))
return 1;
// 加上a[i]的情况
if(dfs(i+1, sum+a[i]))
return 1;
// 无论是否加上a[i]都不能凑成k就返回false
return 0;
}
以上就是关于学习算法有什么入门级的书 或者学习资料。(英语不太好)全部的内容,包括:学习算法有什么入门级的书 或者学习资料。(英语不太好)、参加NOIP提高组《算法》《挑战程序设计竞赛》哪本好、一道关于DFS的C++编程题目(部分和问题)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)