开始学习数据结构和算法,书中通过一个案例体现了使用和不适用算法来计算1~10亿的总和,并记录了程序的执行时间,相比之下差别还是非常明显。
package main
import (
"fmt"
"time"
)
func test1() {
start := time.Now()
sum := 0
num := 1000000000
for n:=0;n<=num;n++{
sum+=n
}
cost := time.Since(start)
fmt.Println(sum)
fmt.Printf("cost=[%s]", cost)
}
func test2(){
start := time.Now()
num := 1000000000
sum := (num + 1) * num / 2
cost := time.Since(start)
fmt.Println(sum)
fmt.Printf("cost=[%s]", cost)
}
func main(){
//test1()
test2()
}
- 方法test1()的运行结果为
500000000500000000
cost=[358.985ms]
- 方法test2()的运行结果为
500000000500000000
cost=[0s]