THAI SCRABBLE - PowerPoint PPT Presentation

1 / 87
About This Presentation
Title:

THAI SCRABBLE

Description:

Scrabble ???? ??????????????????????????????????????????????????????????????? ... (hiked) ??????????????????????????????????????? (eqkid) ????????????????????????? ... – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 88
Provided by: Spi123
Category:
Tags: scrabble | thai | hiked

less

Transcript and Presenter's Notes

Title: THAI SCRABBLE


1
Thai Scrabble
??? ????????? ???????? ???? 44032443
??????????????????? ????????????????
30/03/05 ???????????????????
???????????????? 1
2
????????????
  • ?????????????????
  • ??????????????????????
  • ????????????????
  • ????????????
  • ??????????????
  • ??????????????????

30/03/05 ???????????????????
???????????????? 2
3
?????????????????
Scrabble ???? ???????????????????????????????????
???????????????????????????????????????
????????????????????? ????????????????????????????
2-4 ?? ????????? Thai Scrabble ???
??????????????????????????????????????????????????
?? 2 ???? ??? ????????????????????
????????????????????????????
??????????????????????????????????????????????????
?????????? ???????????????????????????????????????
?? ???????????????? ?????????????????? ???????
Monte Carlo, Minimax Searching, Heuristic
30/03/05 ???????????????????
???????????????? 3
4
??????????????????????
1. ??????????????????????????????????????????????
???? 2. ????????????????????????????? Heuristic
??? Minimax Searching ??????????????????????
??????????? 3. ??????????????????????????????????
???????????????? ???????? 4.
??????????????????????????????????????????????????
??????????? 5. ??????????????????????????????????
???????????????? 6. ?????????????????????????????
?????
30/03/05 ???????????????????
???????????????? 4
5
????????????????
1. ??????????????????????????????????????????????
????? ???????? 2. ?????????????????????????
????????????? Lexitron ????????
????????????????? ???-?????? ??? ??????-???
????????? ????????????????????????????????
??????????? ????????? ????????????????????
???????????? ????????????? 3. ???????????????? 2
???? 4. ?????????????????????????????????????????
????????????? ???????? ???????????????????
???????????????????????????????
30/03/05 ???????????????????
???????????????? 5
6
????????????
???????????????????? 2 ???? ???
1. ????????? 2. ???????? ??????????
??????????????????????????????????? ????
??????????????????????????????????
??????????????????????????????????????????????????
? ??????????????????????????????????? Ternary
Search Trees ??????????? ?????????????????????????
????????????????????????? ????????????????????????
??????????????????????? ??????????????????????????
??????????????????????? Lexitron
??????????????????????????????????????????????????
?????? ???? ?????? ??????????
30/03/05 ???????????????????
???????????????? 6
7
???????????? (???)
Ternary Search Trees
????????????????????? binary search trees ???
digital search tries ?????????????????????????????
????? ????????????????? tries ????????????????????
???????????????????? binary search tree
?????????????????????????? 3 ??? ????????????
binary search tree ???????? 2 ??? - lokid
????????????????????? - eqkid
????????????????????? - hikid
???????????????????? ?????????????????????????????
??????????????????????????????????????????????????
??????????? (lokid) ??????????????????????????????
???????????? (hiked) ?????????????????????????????
?????????? (eqkid) ???????????????????????????????
???? ???????????????????????????????? Binary
Search Tree
30/03/05 ???????????????????
???????????????? 7
8
???????????? (???)
Data Structure
typedef struct tnode Tptr typedef struct
tnode char splitchar Tptr lokid,
eqkid, hikid Tnode
30/03/05 ???????????????????
???????????????? 8
9
???????????? (???)
????????????????????????????????????????
?????????????? string ????????????????????????????
????? ????????????????????????????????????????????
??????????????????? ??????????????????????????????
???????????????????????????????
??????????????????????????????????????????????????
????????????????????????????????????

30/03/05 ???????????????????
???????????????? 9
10
???????????? (???)
????????????????????????? by
????????????? root ?????????? i
??????????????????????????????????????????????????
?????? ???????? b ???????????????? i
i
o
b
s
h
a
e
n
t
t
n
e
y
s
f
r
o
t
30/03/05 ???????????????????
???????????????? 10
11
???????????? (???)
????????????????????????????????????????
???????????????? ?????????????????????????????????
???????????????????????????? ?????????????????????
?????? ?????? y
i
o
b
s
h
a
e
n
t
t
n
e
y
s
f
r
o
t
30/03/05 ???????????????????
???????????????? 11
12
???????????? (???)
?????????????????????????????????? y
?????????????????????? ???????????????????????????
?????????????????????????????????
i
o
b
s
h
a
e
n
t
t
n
e
y
s
f
r
o
t
30/03/05 ???????????????????
???????????????? 12
13
???????????? (???)
???????????????????????????? ?? Tree
?????????? by ????????
i
o
b
s
h
a
e
n
t
t
n
e
y
s
f
r
o
t
30/03/05 ???????????????????
???????????????? 13
14
???????????? (???)
Membership Searching
String b y
s
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 14
15
???????????? (???)
Membership Searching
String b y
s
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 15
16
???????????? (???)
Membership Searching
String b y
s
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 16
17
???????????? (???)
Membership Searching
String b y
s
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 17
18
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 18
19
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
if(!p) return 0
30/03/05 ???????????????????
???????????????? 19
20
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 20
21
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 21
22
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 22
23
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 23
24
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 24
25
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 25
26
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
if(!p) return 0
30/03/05 ???????????????????
???????????????? 26
27
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 27
28
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 28
29
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 29
30
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 30
31
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 31
32
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 32
33
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 33
34
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 34
35
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 35
36
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 36
37
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 37
38
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 38
39
???????????? (???)
Membership Searching
i
String b y
o
b
s
h
a
e
n
t
s
t
n
e
y
s
f
r
o
t
int rsearch(Tptr p, char s) if(!p)
return 0 if(s lt p-gtsplitchar)
return rsearch(p-gtlokid, s) else if (s gt
p-gtsplitchar) return rsearch(p-gthikid,
s) else if (s 0) return 1
return rsearch(p-gteqkid, s)
30/03/05 ???????????????????
???????????????? 39
40
Insert a new string
String m e
s
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
41
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
if (p 0)
42
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
if(s lt p-gtsplitchar)
43
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
else if(s p-gtsplitchar)
44
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
else
45
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
p-gthikid insert(p-gthikid, s)
46
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
47
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
if (p 0)
48
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
if (p 0)
if(s lt p-gtsplitchar)
49
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
if (p 0)
p-gtlokid insert(p-gtlokid, s)
50
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
51
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
if (p 0)
52
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
p (Tptr) malloc(sizeof(Tnode))
53
Insert a new string
i
o
b
s
String m e
h
a
e
n
t
t
n
m
s
e
y
s
f
r
o
t
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid, s) else p-gthikid
insert(p-gthikid, s) return p
Tptr insert(Tptr p, char s) if(p 0)
p (Tptr) malloc(sizeof(Tnode))
p-gtsplitchar s p-gtlokid p-gteqkid
p-gthikid 0 if(s lt p-gtsplitchar)
p-gtlokid insert(p-gtlokid, s) else if(s
p-gtsplitchar) if(s ! 0) p-gteqkid
insert(p-gteqkid,
Write a Comment
User Comments (0)
About PowerShow.com