算法漫谈-单调栈
单调栈本质上就是一个队列,只是入队时将队尾大于(或小于)自身的元素出队,这使得它具有一些独特的性质。 我们以数组[1,3,2,5,6]压入单调栈为例 [1] [1,3] [1,2] [1,2,5] [1,2,5,6]
单调栈本质上就是一个队列,只是入队时将队尾大于(或小于)自身的元素出队,这使得它具有一些独特的性质。 我们以数组[1,3,2,5,6]压入单调栈为例 [1] [1,3] [1,2] [1,2,5] [1,2,5,6]
程序语言的标准库中都有大量的数学运算相关的函数,本章我们就来实现一些基本的数学运算。
继续看几个经典的搜索类问题。
本章要讲的是NP问题,也就是无法在多项式时间内解决的问题,先从经典的排列组合说起。
二进制是计算机科学的基石,而位运算可以说是其中的”奇技淫巧”,合理使用位运算可以提高程序的运行效率。 首先一起来看一些实用的位运算技巧吧。