首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

想学算法吗少年,跟我来吧

伟大的编程领域的祖师爷尼古拉斯威茨提出程序=数据结构+算法,数据结构的重要性不言而喻,数据结构在计算机学习的过程中是一门必修课,考研一般也是数据结构必考,软件开发中的架构设计中也有很多数据结构的使用,越是底层尤其是存储这一块的东西,数据结构关乎着存储性能,比如MySQL的底层、redis的数据结构。这篇文章并不是将数据结构,而是算法。算法是程序的另一种组成部分,而现在国内的软件开发往往将算法与业务开发分开了,小公司往往不在乎你的算法能力,而大厂可能会问到算法的内容,有的大厂会问一下你的算法思路,有的大厂甚至会让你上机写算法,而国外的公司对算法的要求更高,我在国外面试过一些公司,算法属于必问的内容。

02

栈论 : 递归与栈式访问,如何用栈实现所有递归操作(基础知识篇)

本文主要涉及线性栈 假如我们不考虑栈底,栈底是固定不动的,只考虑栈顶,那么栈就像一只放在桌子上的空杯,杯底固定贴在桌子上。 而如果我们往这个杯子里放方糖,先放进去的方糖总是被后放进去的方糖压在下面,也就是说要先取出后放进去的方糖才能取出先放进去的方糖。 这就是栈所谓的 “先进后出” 特性。 再想象一下,我们把手指压在最后放进去的方糖上面,每次取出方糖的时候用手指把方糖剔出去,之后压在下一块方糖上 。这根手指就像一个标志,标志着我们当前能剔出哪块方糖。 杯子上面还能有刻度,而且每两个刻度条之间的距离正好是一块方糖的高度。

01
领券