mirror of
https://github.com/fumiama/jieba.git
synced 2026-06-27 07:30:32 +08:00
code refactor, use uint for map key to improve performance
This commit is contained in:
@@ -4,38 +4,60 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
var (
|
||||
route1 = []string{
|
||||
"Bnr",
|
||||
"Mnr",
|
||||
"Enr",
|
||||
"Sv",
|
||||
"Bv",
|
||||
"Ev",
|
||||
"Bn",
|
||||
"Mn",
|
||||
"En",
|
||||
"Sd",
|
||||
"Sv",
|
||||
"Sn",
|
||||
"Bv",
|
||||
"Ev",
|
||||
"Bnr",
|
||||
"Mnr",
|
||||
"Mnr",
|
||||
"Mnr",
|
||||
"Enr",
|
||||
"Szg"}
|
||||
)
|
||||
var defaultRoute []Tag
|
||||
|
||||
func init() {
|
||||
var t Tag
|
||||
t, _ = NewTag("B", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("M", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("E", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("S", "v")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("B", "v")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("E", "v")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("B", "n")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("M", "n")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("E", "n")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("S", "d")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("S", "v")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("S", "n")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("B", "v")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("E", "v")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("B", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("M", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("M", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("M", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("E", "nr")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
t, _ = NewTag("S", "zg")
|
||||
defaultRoute = append(defaultRoute, t)
|
||||
}
|
||||
|
||||
func TestViterbi(t *testing.T) {
|
||||
ss := "李小福是创新办主任也是云计算方面的专家;"
|
||||
route := viterbi([]rune(ss))
|
||||
if len(route) != len(route1) {
|
||||
if len(route) != len(defaultRoute) {
|
||||
t.Fatal(len(route))
|
||||
}
|
||||
for index, _ := range route {
|
||||
if route[index] != route1[index] {
|
||||
for index := range route {
|
||||
if route[index] != defaultRoute[index] {
|
||||
t.Fatal(route[index])
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user