27
2016/04/07 2016 1 URL http://www-ikn.ist.hokudai.ac.jp/~arim/pub/algo/

情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

2016/04/07 �� �������� 2016

1

�� ��������

����� �����

������URL�http://www-ikn.ist.hokudai.ac.jp/~arim/pub/algo/

Page 2: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

�G�,A2@4=%���

n ��&��

¨,A2@4=&�����+��"*H

¨�������.C6C D(#'OD;71.CEE

¨.C6C&��&�

¨�%!$�?C0@7:&���&�����+�)*

n <-B9

¨.C6C��

¨;71.CF;71.>/F;713C5

¨ �����%�������,A2@4=%8C5�� 20162016/04/07

2

Page 3: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

+�.@2?5:#&D

�-�-$�

l����

l;<?305

l���'%����

l968AB1%���

(�%��

l<4=>?7/ Modularityl����� Reusabilityl�)*!� Readabilityl� *!� Portabilityl ...

��"&C����#;<?305"�,

����

;<?305

2016/04/07

3

Page 4: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

�� "2�8�

�� "3$;$;0��1�*9!

◆1. =PDOGM

◆2. CRI>QBFH?P

◆3. ��2�#/CQL?N2�

◆4. KRJ@A=2��

◆5. ��+252

,&7��13�47:0$

)&)TTT

2016/04/07

4

+(.�&0!�3��)-

��E?G1*9

�� "2��2

��,'<�6%T

((.3=PDOG

M2 $,'1�

�*9S

Page 5: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

'4(3*0!.5+� 20162016/04/07

5

���"��

n ���"��

¨�����(time complexity) )-,/�¨�����(space complexity) 123�

n �%��&��'4(3*0

���6

���7

�6

�7

6�"��8��"���"��

'4(3*0

��

� #$�

Page 6: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

4@6?8>';A9�� 20162016/04/07

6

��'���

GCD (Greatest Common Diviser) [� ���3�.1��]

�D���a0, a1

�Da0'a1*� ���

��

(a0,a1)=(28,12), (987654321,123456789)���

SUBSET-SUM [����]

�Dn+1�*���a0,a1,…,an-1,b�DΣj∈S aj=b'(1S⊆{0,1,…,n-1}��� #0yes��� (�$#0no

��

(a0,a1,a2,b)=(1,2,3,5), (a0,a1,a2,a3,a4,a5,b)=(1,2,4,8,16,32,60)���

�758Ea0'a1*=:<�

�758E�*��n+1B,#+��*�*=:<�*C

�D!2"2*��B�C&��758+�)(1�?

��%-/�

Page 7: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

,>1=3;!6?4� 20162016/04/07

7

��!���

EULER-PATH [.-<?�+�&)��]

��C/<9 G = (V,E)��C.-<?�@��+B����)�A��*$��*'#�#B��"�*$�"��

��

���

V={v1,v2,v3,v4}E={e1,e2,e3,e4,e5,e6}

0?758:>/#� (��

��2-3D�% #��!�#�

�A��2-3D��!�#� = 4 + 6 = 10

Page 8: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

fuitkrUovl$7 20162016/04/07

8

2+9Y3�'�@�Y1&X`RS2+9H�db

⇒�@�Y1&X�MP3�⇒�:nY< T(n)ULS2+9e3��:G`[2+9Z2+hjpsouX��

n � w�%xhjpsou

N\SY ey4U]WLAVY�#��_��";T�.TIbU��

n � hjpsou

�BY ZOce/)NbYX�0Wqnp Y4 H�0TCaA�#��Y�.Zqnp X�MP";H�0U-Fb

(�xGCDY�(a0,a1) � hjpsou log a0 + log a1

�=XZ0,eJb �a!�H�0QHgvmv3�YP^� �Z�>WD

�IW �e�EKUH#5*W�@Z� hjpsouAOETWD��Z� hjpsou

SUBSET-SUMY�a0,a1,…,an-1,b � hjpsou n+1EULER-PATHY�V,E � hjpsou |V|+|E|

?(Y U6Y

80

Page 9: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

�.;CF-f�' �&@�H�

n ��?)�' �&A)��1�.GJ8=2@[aP^] �@SXW[�<A0I*

n 743��?)SXW[�LA0I��1+I0g

¨�e SXW[� T(n) = 2n2+5n+1000 n SXW[�A)/>6M`R_T]<D)[aP^\bP�!E)QbZN^)�2�<�KI*��

n ��n?�5;)9,8,@����1K0JBF,@<A>,0*

n → �$� �&dOcVce��¨�eSXW[� T(n) = O(n2)

M`R_T]=YcU�% 20162016/04/07

9

�.;CF-

( �&?D�6#"1>H8:

Page 10: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

�"/(/�� ��

1.3 �������������

.$-%,�*/'�� 20162016/04/07

10

����0

http://www.shutterstock.com/

�XX .$-%,�������������"/(/��#!)#&/+ .$-%,�O(n log n)���

"/(/����1

Page 11: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

VbYaZ`I^c[�/ 20162016/04/07

11

�. *"1hOe_]XWcf

•*"1T(n)M���<JnK�AG,�CU4•���L�MJ8QLIOJC4

�%h�. ��(_]XWc+�) +O

T(n) = O(f(n)) ⇔ 7U��c>0I&��n0;� AG�GL

n≧n0K�AGT(n)≦cf(n);�T!F

�. ��M8=SHQ� CU;H<UE>$H#�LR8QL;R8

(1) 2n2+5n+1000 = O(n2) ← ��'8 best!(2) 2n2+5n+1000 = O(n2+n) ← (1)RT(3(3) 2n2+5n+1000 = O(n3) ← (1)RT#�;�8

Wc\c,� �. �� = asymptotic upper bound

�� 52�T(n)Mf(n)I�B:�@86

5T(n)MgWc\c f(n) H7U6NDMg5T(n)Mg_]XWcf(n) H7U6I-P

??M��d

KWc\c+�IQ89

0)

Page 12: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

* ����47F=F' 2,�J

5D9C;A(>F<�� 20162016/04/07

12

n !3"3, 2n, n3/2, 5n2, 100n,����4.%4%,@E8BA+��&G!,��n4�/�*�1�1�#(�,����,8B?H

n 7F=F����-)G�+01�������+���2

��I ��,:6;4����&�$#1)�*2�JT = 2n T = n3/2

T = 5n2

T = 100n

Page 13: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

+"����14B:B)�/-�H

2@6?8=*;B9 � 20162016/04/07

13

n ��G ��1��%�&���+738-�����/�H

n �D4'<A5>=, (E��.E#-����*E#0$0E1��*1��)��/��-��7381�!F

n ��G ����110�,!/*EO(n)��2@6?8=+.10�-738-���*�/F � EO(n3)��+.2.3�EO(2n)��+.1.3� ���/��-738����+.+�C

Page 14: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

HQJPKO@NSL�, 20162016/04/07

14

�)�$�/A�'

�'U T1(n)=O(f(n)), T2(n)=O(g(n))A@94�A� 8��

T1(n)+T2(n)=O(max{f(n),g(n)}) ← 5:>7A��G1�"6�B��-5��8��A��+�G�.<F

T1(n)T2(n)=O(f(n)g(n)) ← ��G!E*;"6@=A���0877F

(�) n2+n3=O(n3), n2Rn3=O(n5)

ISMS#%A���

&�;?CD6T

�(A �≧�(A �

(�) 3 2n2+5n+1000 = O(n2)2 O(n2)=2n2+5n+1000

Page 15: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

R_V^W\GZ`X�0 20162016/04/07

15

�/#+'1cΩa[YUS]Tb

�*c�/#�!a[YUS]T,�b ,Ω

T(n)=Ω(f(n)) ⇔ 7Pc:� =E�3�InH�=ET(n)≧cf(n):�O&D

(�) 2n2+5n+1000 = Ω(n2)

T(n)= n2 if nJ��n3 if nJ��

T(n)=Ω(n2)

��I�*QΩI�*G=E� ?P<GM7P4($%.�FJ<BNM�8b

T(n)=Ω(f(n)) ⇔ 7Pc,n0:� =E�EIn≧n0H�=ET(n)≧cf(n):�O&D

��*c�/#�!a[YUS]T,�I��*b

�I�*I�:=8IF�I�*Q�A@K<BNI�*M�A?

�I�*FJΩ(n3)

�/#�!=asymptotic lower bound

5T(n)J[YUS]T f(n)F7P6G-L�� 52�T(n)Jf(n)G�>9MCG�;86

�()

"�

Page 16: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

=J@IBH2EKC�" 20162016/04/07

16

�!���#NΘLGD?AKCM

��N�!�4C>F3%�(asymptotic tight bound) ��Θ

T(n)=Θ(f(n)) ⇔ (; �c0,c1>02���n0*�+0�05n≧n04�+0c0f(n)≦T(n)≦c1f(n)*�:�/

(�) 2n2+5n+1000 = Θ(n2)

T(n)= n2 if n6�n3 if n6��

T(n)≠Θ(n3)

T(n)=Θ(f(n)) ⇔ T(n)=O(f(n)), T(n)=Ω(f(n))

��4

Ω5���1(<7`⇒’58��

�� &$�T(n)6f(n)2.)-)�,'

&T(n)6GD?AKC f(n) 1(;'2 9

��

Page 17: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

AOENGK6IPH� 20162016/04/07

17

�"604o6ω<�14*.)Q���8HBJ57(�� ��o

T(n)=o(f(n)) ⇔ ��9�c>08�0,'?n0+�04�49n≧n08�04T(n)≦cf(n)+�>�2

(�) 2n = o(n2), 2n2≠o(n2)

T(n):n+�!�8�3-82@4f(n)8�04���8�/-7?#

2;># 67?$limn→∞

T(n)f(n) = 0

���8HBJ57(�� ��ωT(n)=ω(f(n)) ⇔ ��9�c>08�0,'?n0+�04

�49n≧n08�04T(n)≧cf(n)+�>�2

(�) 2n2 = ω(n), 2n2≠ω(n2)

T(n):n+�!�8�3-82@4f(n)8�04���8�,-7?#

2;># 67?$limn→∞

T(n)f(n) = ∞

T(n)=o(f(x))

f(x)=ω(T(n))

%T(n):FMPOCP f(n) 5'?&

���

%T(n):FMPOCLD f(n) 5'?&

T(n):f(n)=>�8�/(.6

T(n):f(n)=>�8�,(.6

Page 18: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

/81726%593�� 20162016/04/07

18

0949(���< ��(+-�"

��1< T(n)�n(��&,*;��� (�(0949'&.

��)��:

�<

��2< �(0949(���!.<

��3< T(n)���#�(�(�&,*;��� (�(0949'&.

�<

• log(n) = O(n)• n = O(2n)• ��(c>0' $;log n = O(nc)

10n+ 2 n + 5=10n1 + 2n0.5 + 5=O(n)

3n2 + 2 n +100 logn+ 5=O(logn)

2n2 +3n+100 =O(n2 )�<

��

Page 19: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

-6/504"371� 20162016/04/07

19

.727%���9 ��!��� ',��%.727$),��(1/2)����T1(n)"T2(n)%-6/504!&#�*����:⇒��%.727��������

��49 T1(n))+(T2(n)%����%.727����

⇔ limn→∞ = 0 ⇔ limn→∞ = ∞T1(n)T2(n)

T2(n)T1(n)

��59 T1(n)"T2(n)&��%.727� ��⇔ T1(n)=Θ(T2(n)) ⇔ T2(n)=Θ(T1(n))

T1(n)"T2(n)&��%.727� �� limn→∞ = c for some 0<c<∞T1(n)T2(n)

��&��8

��

Page 20: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

,5.4/3"270�� 20162016/04/07

20

-717%���8��%-717$(* �(2/2)

f(x)g(x)

��68 l’Hospital%��1. f(x),g(x):R →R�����!f(a)=g(a)=0,x=a��!g’(x)≠0!�+'

limx→a =limx→a

2. f(x),g(x):R →R�����!limx→∞f(x)=limx→∞g(x)=∞!�+'

limx→∞ =limx→∞

f’(x)g’(x)

f(x)g(x)

f’(x)g’(x)

(�) n0.01"log100n!&# )�����������9

limn→∞ =limn→∞ =limn→∞

=limn→∞ =666=limn→∞ =0

log100nn0.01

100log99n�(1/n)0.01 n-0.99

100log99n0.01 n0.01

100699log98n0.012 n0.01

100!0.01100 n0.01

Page 21: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

AJCIDH3GKE�� 20152015/10/28

21��L�� M

(5) 0)6BKFK��@���-;"(a) O(nlogn+n2)+O(n1.83logn)

�<&5nlogn<n2, nlogn<n1.83logn2#>"8.!

limn→∞ = limn→∞ = limn→∞

= limn→∞ =0

;/1���(4n5�,1n1.83logn<n22#>&<

O(nlogn+n2)+O(n1.83logn)=O(n2)(b) O(nlogn+n100+n30logn)

n30logn<n1007�<&"8.���(4n5�,1n100<nlogn' =�0";/1

O(nlogn+n100+n30logn)=O(nlogn)

n1.83logn logn 1/nn2 n0.17 0.17nN0.83

10.17n0.17

(c) O(n3sin2n)O(2n/logn)sin2n≦12#>&<

O(n3sin2n)O(2n/logn)=O(n32n/logn)

��6a,b>05�,limn→∞ = 02#>&<���(4n5�,17!5 logan<nb 2#>"

logannb

�?1(.<+6��&<�����*1:OK

�%19;$

Page 22: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

+.#,')����������

������� � ��+.#,')����!-$,"*������ �����

!-$,%*�(.&� 20162016/04/07

22

�����/

Page 23: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

=F?E@D4CGA� 20162016/04/07

23

=F?E@D7��"

��"<&�7�#N7%�4.2>GBG��.097��7M17���,);(

����"Iworst case complexity)�#,N3);&�7�3� 7��"

����"(average case complexity)�#,N3);&�7��"7���

I�J �#,N7&�6�.��(N-1)/N3O(N)'��1/N3O(N2)3);:+5=F?E@D7��"

���$��" O(N2) ���$��" O(N)

--8 �H

��8K����"3��/;-4,�*L

!�

Page 24: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

0=2<3:#6>4�� 20162016/04/07

24

GCD/��'&$�-�,�0=2<3:(1/2)@

(a)��%0=2<3:

Step 1 n←a1

Step 2 n�a0#a1'��"�.)

n/���!��

Step 3 n←n-1#�!Step 2*

(b) ;>1<58'��

Step 1 a←a0, b←a1

Step 2 r←a�b���� �Step 3 r=0��b�������Step 4 a←b, b←r���Step 2

��? a0, a1 (a0≧a1) ���(N = O(log a0)(a0/���"��'957�)

$ ����@

��!+,�

Page 25: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

ALBKDJ3HME�� 20162016/04/07

25

GCD@�)764/=(<$ALBKDJ(1/2)O

(a)��5ALBKDJStep 1 n←a1

Step 2 n(a03a17��2#?9

n@�+1��Step 3 n←n-13+1Step 2:

(1) ��7�� LMI7 �8a1(≦a0)*?8��N=log(a0)7��

(2) LMI�6'$1>�(O(log2a0)CGFI!-7�7��8O(loga0)CGFI"��28O(a0log2a0)CGFI"

(3) +.(01��@N3,?9��� ���8O(N22N)"

�N a0, a1 (a0≧a1) ��8N = O(loga0)

��� ALBKDJ

��5ALBKDJ7���

�&1;<%

Page 26: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

fviuksTpwl'5 20162016/04/07

26

GCDe1FXWUO`E_@fviuks(2/2)|

(b) twhunqX�:+

Step 1 a←a0, b←a1

Step 2 r←aebS�PN�aStep 3 r=0V`Zbe��JR*Step 4 a←b, b←rTJRStep 2[

��{ a0, a1 (a0≧a1)

0�{�(W=�"XiW�JR=ai+2< ai/2 >Q\a=vwre2�\dbHTWaXE����WVb>

JNEPR=ak+1 = 0 WVb\Sk�vwrE�bT= a2k< a0/2k (1�)>

GGS�X2._a=&!X��S^=vwrX�#YO(log a0)�>�vwr WC@R=�a.EO(log2a0)jonr=MX�X6�YO(loga0)jonr>_PR��SYO(log3a0)jonr>

JNEPR��8eNTKcZ=&!%92.7YO(N3)>

��8YO(loga0)

�;�%9fviuks

twhunqX�:+X2.7

GO`ELPT4@x

vwre�bHTW=)X_AV2.e<)JR=aXE�IFVa=& Wak+1=0TVb>a0=q1a1+a2,a1=q2a2+a3,…,ak-1=qkak+ak+1

a0-a2=q1a1≧a1>a2S?bD`a2<a0/2>

vwr�#XgwmwX��2.

0 = a2k≦ a0/2k y(1)�_az→ log2 0 ≦ log2 a0 – k log2 2y�3Xlog2eTbz

→ k+1 ≦ log2a0 ($,Kb)→ k = O(log2a0) (gwmw)

/BR]_A

-�

Page 27: 情報知識ネットワーク研究室arim/pub/algo/algo2wrong.pdf2016/04/07 fuitkrUovl$72016 8 2+9Y3 ' @ Y1&X`RS2+9H db ⇒ @ Y1&X MP3 ⇒ :nY< T(n)ULS2+9e3 :G`[2+9Z2+hjpsouX n w

�4��/".$,����

n�����

¨�/".$,������

¨������

¨�1&1�����

¨ ���������

¨�2GCD�/".$,���������

n +�0)

¨�1&1��

¨*'!�13*'!�- 3*'!#1%�/".$,�(1%�� 20162016/04/07

27