算法中的哨兵 2021年10月19日 算法与数据结构 在地面上有200个箱子连续排列着,现在需要看一下前面100个箱子中有没有苹果。一般情况下,会怎么做呢? 下面用代码来模拟一下。 package main import ( "fmt" ) func main() { s := make([]int, 200) for i := 0; …... Read more →
栈实现的表达式求值 2021年1月26日 编译原理 算法与数据结构 后进者先出,先进者后出,这就是数据结构中的"栈"。栈是一种相当简单的数据结构,但应用十分广泛,例如编程语言中的函数调用栈、浏览器的前进后退功能。本文讲的是栈的另一个常见应用场景,编译器利用栈实现表达式求值。初次见到这种实现思路的时候,我不禁叫绝,一个简单的栈还能玩出花。 例如,一 …... Read more →