Algorithms Fourth Edition
实验数据从这里下载:https://github.com/ekis/oldAlgorithms-2012
这里也是 https://github.com/ekis/oldAlgorithms-2012
wocao 不继承 int 的方法,两者的方法互相隔离。
http://wiki.jikexueyuan.com/project/the-way-to-go/12.2.html
https://github.com/golang/go/wiki
参考:
- https://stackoverflow.com/questions/27778280/test-killed-with-quit-ran-too-long
- https://golang.org/pkg/time/#ParseDuration
go test -timeout 20m (Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".)
*b = *a // copy a to b
keys := make([]*Comparable, size) // 需要分配空间
copy(keys, this.keys[loRank:hiIndex])
有空看看这个 https://blog.golang.org/slices
slice是一个结构体,*slice 是指向结构体的指针,这一点需要区分。
https://stackoverflow.com/questions/13582519/how-to-generate-hash-number-of-a-string-in-go
package main
import (
"fmt"
"hash/fnv"
)
func hash(s string) uint32 {
h := fnv.New32a()
h.Write([]byte(s))
return h.Sum32()
}
func main() {
fmt.Println(hash("HelloWorld"))
fmt.Println(hash("HelloWorld."))
}
参考 https://studygolang.com/articles/1695
rune 类型的,rune 是 int32 的别名。可以用来访问字符串的原始字符,而不是字节。
package main
import "fmt"
func main() {
s := "我操你大爷1"
fmt.Println(len(s)) // 16
for _, value := range s {
fmt.Println(value, len(s))
} // 打印出来6个数
fmt.Println(s[7]) // 189 第七个字节
fmt.Println(len([]rune(s))) // 6
for _, value := range []rune(s) {
fmt.Println(string(value), len([]rune(s)))
}
}
sys.setrecursionlimit(1000000)
https://help.github.com/articles/removing-sensitive-data-from-a-repository/
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch chapter_03_查找/exam/leipzig1M.txt' --prune-empty --tag-name-filter cat -- --all