算法与数据结构 2

算法中的哨兵

算法与数据结构
在地面上有200个箱子连续排列着,现在需要看一下前面100个箱子中有没有苹果。一般情况下,会怎么做呢? 下面用代码来模拟一下。 package main import ( "fmt" ) func main() { s := make([]int, 200) for i := 0; …...
Read more →

栈实现的表达式求值

编译原理 算法与数据结构
后进者先出,先进者后出,这就是数据结构中的"栈"。栈是一种相当简单的数据结构,但应用十分广泛,例如编程语言中的函数调用栈、浏览器的前进后退功能。本文讲的是栈的另一个常见应用场景,编译器利用栈实现表达式求值。初次见到这种实现思路的时候,我不禁叫绝,一个简单的栈还能玩出花。 例如,一 …...
Read more →