mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-25 12:46:29 +08:00
e720aa2d24
* Sync recent changes to the revised Word. * Revised the preface chapter * Revised the introduction chapter * Revised the computation complexity chapter * Revised the chapter data structure * Revised the chapter array and linked list * Revised the chapter stack and queue * Revised the chapter hashing * Revised the chapter tree * Revised the chapter heap * Revised the chapter graph * Revised the chapter searching * Reivised the sorting chapter * Revised the divide and conquer chapter * Revised the chapter backtacking * Revised the DP chapter * Revised the greedy chapter * Revised the appendix chapter * Revised the preface chapter doubly * Revised the figures
59 lines
967 B
Go
59 lines
967 B
Go
// File: iteration.go
|
|
// Created Time: 2023-08-28
|
|
// Author: Reanon (793584285@qq.com)
|
|
|
|
package chapter_computational_complexity
|
|
|
|
import "fmt"
|
|
|
|
/* for 循环 */
|
|
func forLoop(n int) int {
|
|
res := 0
|
|
// 循环求和 1, 2, ..., n-1, n
|
|
for i := 1; i <= n; i++ {
|
|
res += i
|
|
}
|
|
return res
|
|
}
|
|
|
|
/* while 循环 */
|
|
func whileLoop(n int) int {
|
|
res := 0
|
|
// 初始化条件变量
|
|
i := 1
|
|
// 循环求和 1, 2, ..., n-1, n
|
|
for i <= n {
|
|
res += i
|
|
// 更新条件变量
|
|
i++
|
|
}
|
|
return res
|
|
}
|
|
|
|
/* while 循环(两次更新) */
|
|
func whileLoopII(n int) int {
|
|
res := 0
|
|
// 初始化条件变量
|
|
i := 1
|
|
// 循环求和 1, 4, 10, ...
|
|
for i <= n {
|
|
res += i
|
|
// 更新条件变量
|
|
i++
|
|
i *= 2
|
|
}
|
|
return res
|
|
}
|
|
|
|
/* 双层 for 循环 */
|
|
func nestedForLoop(n int) string {
|
|
res := ""
|
|
// 循环 i = 1, 2, ..., n-1, n
|
|
for i := 1; i <= n; i++ {
|
|
for j := 1; j <= n; j++ {
|
|
// 循环 j = 1, 2, ..., n-1, n
|
|
res += fmt.Sprintf("(%d, %d), ", i, j)
|
|
}
|
|
}
|
|
return res
|
|
}
|