算法修炼之路
此专栏是本人在学习算法过程中的一些思考和总结!
朱彼得
这个作者很懒,什么都没留下…
展开
-
【PAT甲级】 1020. Tree Traversals(已知后序和中序,求层序)
注:此题是一道二叉树的构建+递归+BFS的综合应用题,值得新手好好学习一番!题目:Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output ...原创 2019-03-30 15:13:13 · 195 阅读 · 0 评论 -
基础算法——BFS
注:此篇文章旨在总结本人在运用BFS过程中的一些技巧,不是对DFS的一些基础介绍,还不明白DFS的过程的读者,请绕道百度,以免耽误时间!BFS的应用场景:很多问题,不好概括,典型应用就是图的遍历和树的遍历。BFS的模板:void BFS(int s){ queue<int> q; q.push(s); while(!q.empty())...原创 2019-03-28 19:55:00 · 206 阅读 · 0 评论 -
基础算法——DFS
注:此篇文章旨在总结本人在运用DFS过程中的一些技巧,不是对DFS的一些基础介绍,还不明白DFS的过程的读者,请绕道百度,以免耽误时间!DFS算法应用场景:1.遍历树、图等数据结构。2.一些动态规划问题,例如最优子序列问题。DFS算法的运用:虽然很多人都理解DFS算法的过程,但经常遇到的一个问题是:不知道如何巧妙的把这个算法用编程语言写出来。本文就旨在解决“写出来”的...原创 2019-03-27 14:03:02 · 303 阅读 · 0 评论 -
C++ algorithm头文件下的常用函数学习
max(x,y):返回x、y中的最大值。 min(x,y):返回x、y中的最小值。 abs(x):返回整数x的绝对值,注意x必须是整数。浮点型的绝对值用math头文件下的fabs(x). swap(x,y):交换x,y的值。 reverse(it,it2):将数组或容器的[it,it2]区间内的元素反转,it、it2为指针或者迭代器。常用于字符串的反转。 fill(it,it2,valu...原创 2019-03-26 18:25:03 · 389 阅读 · 0 评论 -
C++ STL库学习——容器
在我刚走上算法修炼这条路时,走了不少的弯路,那时候因为不知道C++ STL库的存在,为了满足题目对运行时间的要求,只能使用C语言,而C语言最大的弊端是很多东西都要自己去实现,所以在做算法题时,我常常会感觉到很累,一度想要放弃。但自从用上了STL库以后,情况改善了许多,STL即标准模板库,它提供了多种容器和算法来满足编程者的要求,本篇文章不做教程,因为好的教程太多了,这里推荐C语言中文网:htt...原创 2019-03-25 20:06:51 · 1277 阅读 · 0 评论