数据结构与算法
文章平均质量分 50
晴天M雨天
某互联网公司高级开发工程师
展开
-
一文学会算法复杂度分析,面试再也不用愁了。
1什么是算法复杂度身为程序员的我们都知道程序=数据结构+算法 算法=逻辑+控制。当我们要解决一个问题的时候,必然会经过以下几个步骤问题的理解数据结构设计算法设计算法分析程序实现与测试所谓时间复杂度就是衡量一个算法效率的手段2如何比较算法的效率呢?也就是比较算法的所用时间,但是一个算法所需要的时间和一下3个因素有关,规模 输入 算法本身,举一个例子:现在需要把1-10的乱序扑克牌从小到大排列。10就是规模 ,输入就是乱序1-10的数字,算法就是看采取什么样的排序算法,就是上面说的算法设计。原创 2021-01-12 14:54:42 · 148 阅读 · 0 评论 -
2021-01-06
学习数据结构和算法要分三步走:第一步基础,学习每个算法的基本思想,解题思路和应用场景;第二步对学习的算法知识进行归纳总结,提升对算法的熟练度,做到融会贯通;第三步则是提升思考高度,将各类算法之间的区别和联系搞清楚,做到举一反三。以上就是学习的框架了,这个没啥捷径,那些一蹴而就的东西都是突击,我们需要的是内功,需要的是特长,记住慢就是快。李笑来老师在书中提到,任何事情都有复利效应,我们要牢记这个效应,下来我们就是要和时间做朋友,见证学习的方法,我会用我的经历,让你们少走弯路。太阳底下无新鲜事,所以我原创 2021-01-06 18:46:05 · 57 阅读 · 2 评论 -
贪心算法之 ---糖果分配问题
贪心算法的核心思想,程序的每一步都是向目标结果靠拢,每一步都是最优解 最终结果就是最优解。//老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。//// 你需要按照以下要求,帮助老师给这些孩子分发糖果:////// 每个孩子至少分配到 1 个糖果。// 相邻的孩子中,评分高的孩子必须获得更多的糖果。////// 那么这样下来,老师至少需要准备多少颗糖果呢?//// 示例 1://// 输入: [1,0,2]//输出: 5//解释:原创 2020-12-21 21:10:06 · 957 阅读 · 0 评论 -
栈在jdk中的实现
类 public class Stack extends Vector 是泛型 泛型的存在是增加代码的通用性查看api可以看到主要有一下几个方法Modifier and Type Method and Descriptionboolean empty()Tests if this stack is empty.E peek()Looks at the object at the top of this stack without removing it from the stack.E po原创 2020-12-11 17:56:56 · 168 阅读 · 0 评论