1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập cấu trúc dữ liệu giải thuật CAT

7 441 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 199,13 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chuỗi vòng nhị phân đối xứng Phạm Lan Anh, Lê Ngọc Khang Tóm tắt: Chuỗi vòng k-phân là một đối tượng tổ hợp cơ bản được ứng dụng rộng rãi trong nhiều lĩnh vực như đại số Lie tự do, mã

Trang 1

Chuỗi vòng nhị phân đối xứng

Phạm Lan Anh, Lê Ngọc Khang

Tóm tắt: Chuỗi vòng k-phân là một đối tượng

tổ hợp cơ bản được ứng dụng rộng rãi trong nhiều

lĩnh vực như đại số Lie tự do, mã hóa Gray, lý

thuyết thống kê hay trong sinh học phân tử Một

chuỗi vòng phân là một là một lớp các xâu

k-phân tương đương với nhau khi quay vòng chúng

Ví dụ chuỗi vòng tam phân 0123 là một lớp các

xâu tương đương sau: 0123, 3012, 2301, 1230

Chuỗi vòng phân đối xứng là một chuỗi vòng

k-phân mà khi ta đọc chuỗi đó từ trái qua phải hay

từ phải qua trái đều được chính chuỗi vòng ấy Ví

dụ 0011 là một chuỗi vòng nhị phân đối xứng vì

0011 và 1100 là hai chuỗi nhị phân tương đương

khi quay vòng Trong báo cáo này, chúng tôi đưa

ra một số tính chất về chuỗi vòng nhị phân đối

xứng và đề xuất thuật toán đệ quy sinh toàn bộ

các xâu nhị phân đối xứng cùng độ dài với thời

gian là hằng số theo phân tích khấu trừ

Từ khóa: CAT, chuỗi vòng, thuật toán sinh

I Giới thiệu

Có rất nhiều lý do để phát triển các thuật toán sinh

một dãy các đối tượng tổ hợp cơ bản Thứ nhất, các

thuật toán này thực sự hữu ích cho rất nhiều lĩnh vực

như kiểm thử phần mềm, phần cứng hay xác suất

thống kê Thứ hai, có được những thuật toán này sẽ

Công trình được thực hiện dưới sự hướng dẫn của

thầy Đỗ Phan Thuận, Bộ môn Khoa học máy tính,

Viện CNTT&TT, ĐH Bách Khoa Hà Nội

(email:dophanthuan@gmail.com)

Phạm Lan Anh, sinh viên lớp KSTN_CNTT_K54,

Viện Công nghệ thông tin và Truyền thông, trường

Đại học Bách Khoa Hà Nội ( e-mail:

lananh2734@gmail.com )

KSTN_CNTT_K54, Viện Công nghệ thông tin và

Truyền thông, trường Đại học Bách Khoa Hà Nội (

e-mail: khangngocless@gmail.com )

© Viện Công nghệ thông tin và Truyền thông,

trường Đại học Bách Khoa Hà Nội

giúp ta tìm được các định lý, tính chất toán học khác liên quan đến đối tượng nghiên cứu bằng cách thông gian tính của thuật toán phải tỉ lệ thuận với số lượng đối tượng được sinh ra Trong báo cáo này một thuật

toán được gọi là hiệu quả nếu như trung bình thuật

toán chỉ sử dụng số lượng hằng số các phép toán để sinh ra một đối tượng Ta gọi thuật toán đó là thuật toán thuật toán CAT (Constant Amortized Time), nghĩa là thuật toán có thời gian tính hằng số theo phân tích khấu trừ

Chuỗi vòng k-phân là một đối tượng tổ hợp cơ

bản được ứng dụng rộng rãi trong nhiều lĩnh vực như đại số Lie tự do [9], mã Gray [ ] hay trong lý thuyết thống kê, trong sinh học phân tử Các công trình nghiên cứu hiện biết đều tìm cách đếm số lượng chuỗi vòng và đề xuất các thuật toán CAT sinh chuỗi vòng Công thức hiện đếm số lượng chuỗi vòng cùng

độ dài có thể được tính toán nhờ định lý Burnside [1] Các thuật toán CAT sinh chuỗi vòng hiện biết đều dựa trên một định lý rất mạnh sử dụng chuỗi Lyndon như một chuỗi vòng tiền tố [3, ] Từ đó rất nhiều công trình đã phát triển các thuật toán sinh chuỗi vòng để sinh các chuỗi vòng đặc biệt như chuỗi

Unlabelled [ ], chuỗi Baraclet [ ], chuỗi vòng k-phân

với trình tự bị cấm hay sinh chuỗi vòng theo thứ tự

mã Gray [4,5,6,…]

Một chuỗi vòng có tính chất đối xứng qua một trục bất kỳ được gọi là chuỗi vòng đối xứng Chuỗi vòng đối xứng có ứng dụng quan trọng trong sinh học phân tử để nghiên cứu các chuỗi vòng ADN có tính chất đối xứng Theo tìm hiểu của chúng tôi, hiện nay vẫn chưa có công trình nào công bố về bài toán đếm

và bài toán sinh các chuỗi vòng đối xứng Trong báo cáo này, chúng tôi đưa ra và chứng minh một số định

lý, tính chất về chuỗi vòng nhị phân đối xứng có mật

độ cố định Từ đó chúng tôi đề xuất ra thuật toán sinh toàn bộ các chuỗi vòng nhị phân đối xứng cùng độ dài và chứng minh tính CAT hiệu quả của thuật toán

đề xuất

Trang 2

II Định nghĩa

Định nghĩa 1: Một chuỗi vòng k-phân độ dài 

là một xâu đại diện của một lớp các xâu k-phân tạo

nên từ các số nguyên dương      có độ dài n

tương đương với nhau khi quay vòng chúng

Ví dụ 1: trong hệ tam phân (hệ

sau là tương đương: 0123, 3012, 2301, 1230 khi quay

vòng Ta có thể chọn một xâu đại diện bất kì trong

các xâu trên để làm chuỗi vòng tương ứng

Ví dụ 2: các chuỗi vòng nhị phân độ dài

4là:0000, 0001, 0011, 0101, 0111,1111 Ta có lớp

xâu: 0001, 0100, 0010,1000 cùng là những xâu nhị

phân độ dài 4, tuy nhiên 4 xâu trên là tương đương

khi quay vòng, chính vì vậy, ta chỉ có 1xâu đại diện

là 0001 trong bài toán liệt kê các chuỗi vòng nhị phân

độ dài 4

Hình 1.1.Các chuỗi vòng nhị phân độ dài 4

Từ đinh nghĩa ta dễ dàng suy ra bổ đề sau

Bổ đề 1: Bài toán liệt kê tất cả các chuỗi vòng

k-phân độ dài n cũng tương đương với bài toán liệt kê

các cách sắp xếp n số, các số được chọn trong khoảng

từ 0 tới k-1 trên một đường tròn

Với bài toán liệt kê các chuỗi vòng thì với mỗi

lớp xâu tương đương khi quay vòng, ta chỉ cần liệt kê

một xâu đại diện trong lớp ấy là được Thông thường

xâu đại diện là xâu có thứ tự từ điển nhỏ nhất.Tuy

nhiên, người ta có thể có rất nhiều cách chọn xâu đại

diện trong lớp xâu tương đương để làm chuỗi vòng,

tùy theo thuật toán sinh, vì vậy nếu gặp

xâu…… bất kì thì chưa thể kết luận nó là

chuỗi vòng Và nếu giả thiết đã cho …… là

chuỗi vòng thì      không thể là chuỗi

vòng với mọi       

Định nghĩa 2: Nếu A được gọi là một tập chuỗi

vòng độ dài n thì trong A không tồn tại 2 chuỗi khác

nhau …… và   mà khi một chuỗi

quay đi một số nguyên lần ta được chuỗi còn lại

Bổ đề sau đây được suy ra trực tiếp từ định nghĩa 2 sẽ được sử dụng để chứng minh các định lý tính chất trong phần sau

Bổ đề 2: Xét một tập A các chuỗi vòng khác nhau

độ dài n có cùng tính chất (α) nào đó đảm bảo rằng mỗi chuỗi vòng trong A là đại diện của một lớp xâu

có duy nhất một phần tử Khi đó bài toán sinh chuỗi vòng có tính chất (α) tương đương với bài toán sinh các xâu có tính chất (α)

Ví dụ 3: Liệt kê các chuỗi vòng  thỏa mãn

  

kê các xâu  thỏa mãn   

Định nghĩa 3: Mật độ chuỗi vòng:

Mật độ của chuỗi vòng là số các số khác 0 xác định trong chuỗi Ví dụ chuỗi 10012012 có mật độ là

5

Nhận xét 1: Mật độ của chuỗi vòng nhị phân đối

xứng là số các số 1 trong chuỗi

Nhận xét 2: Với các bài toán liệt kê chuỗi vòng,

ta chỉ cần liệt kê chuỗi vòng mật độ cố định d rồi cho

d chạy từ 1 tới độ dài chuỗi vòng sẽ được tất cả các chuỗi vòng cần sinh

Định nghĩa 4: Chuỗi vòng đối xứng là những

chuỗi vòng mà khi đọc chuỗi đó từ trái qua phải hay

từ phải qua trái ta đều được chính chuỗi vòng ấy

Ví dụ 4: a Chuỗi vòng nhị phân độ dài 4 khi đọc

từ phải qua trái là: 0011 Khi ta đọc từ phải qua trái là

1100 Tuy nhiên, theo định nghĩa thì chuỗi 1100 chính là chuỗi 0011 khi quay vòng nên 0011 là chuỗi vòng nhị phân đối xứng

b Chuỗi vòng tam phân độ dài 6 khi đọc từ trái qua phải là 001102

Khi ta đọc từ phải qua trái là 201100, chuỗi

201100 khi quay vòng khác với chuỗi 001102 nên

001102 không phải là chuỗi vòng nhị phân đối xứng

Nhận xét 3: Các tính chất của chuỗi vòng đối

xứng giống với tính chất của chuỗi vòng do chuỗi vòng đối xứng là một trường hợp đặc biệt của chuỗi vòng

Bài toán đề xuất: Sinh toàn bộ các chuỗi vòng

nhị phân đối xứng

Nhận xét 4: Dựa vào nhận xét 3 ta có thể chuyển

về bài toán sinh chuỗi vòng nhị phân đối xứng mật độ

d cố định Từ đó phát triển thành bài toán sinh toàn

bộ chuỗi vòng nhị phân đối xứng

Trang 3

III Các định lý và tính chất liên quan tới

chuỗi vòng đối xứng

Định lý 1: Bài toán sinh các chuỗi nhị phân đối

xứng mật độ  cố định tương đương với bài toán sắp

xếp  số 1 và n - d số 0 trên một đường tròn sao cho

đường tròn này tồn tại ít nhất 1 trục đối xứng

Định lý 2: Sinh một chuỗi vòng nhị phân đối

xứng mật độ d cố định …… tương đương với

việc sinh một chuỗi vòng đối xứng   thỏa

mãn điều kiện:    với mọi 0< i≤ d và

 +  

Chứng minh:

Phần thuận:

Xét một chuỗi vòng nhị phân đối xứng mật độ d

hay chính là xét một cách xếp d số 1 và n-d số 0 trên

một đường tròn sao cho đường tròn này tồn tại ít nhất

1 trục đối xứng.(theo định lý 1)

Gọi  là khoảng cách giữa số  thứ  và số 

thứ    trên đường tròn.(với điều kiện số 

thứ   chính là số 1 thứ nhất) với     

Trên vòng tròn có  số nên có  khoảng cách hay

khoảng cách giữa các số 1 là  Từ đó ta có:

 + 

Do đường tròn này có ít nhất 1 trục đối xứng nên

các số 1 đối xứng qua trục này suy ra khoảng cách

giữa các số 1 cũng đối xứng qua trục này, vì vậy

  cũng là một chuỗi vòng đối xứng

Phần đảo: Chứng minh tương tự

Định lý 3: Không tồn tại 2 xâu khác nhau có

…. ! mà chúng cùng là biểu diễn của

một chuỗi vòng đối xứng α độ dài n (dễ thấy n phải

lẻ)

Nói cách khác không tồn tại chuỗi

….   mà sau khi quay nó đi 1 số vị

trí nhất định thì được chuỗi …. ! 

Chứng minh: Giả sử tồn tại 2 xâu khác nhau có

   !    mà chúng cùng là biểu diễn

của một chuỗi vòng đối xứng α Dễ thấy  ! và

chuỗi vòng đối xứng α khi biểu diễn trên đường tròn

phải có ít nhất 2 trục đối xứng Gọi 2 trục đối xứng

gần nhất cách nhau 1 khoảng m Có thể nói xâu

…. !  có thể sinh ra được từ xâu

….   sau khi quay đi m vị trí

Quy ước : Đánh tọa độ các điểm trên vòng tròn

độ dài n (vòng tròn được chia đều bởi n điểm) bắt đầu

từ 0 theo chiều ngược chiều kim đồng hồ (tọa độ

"   và" chỉ cùng 1 điểm với mọi "nguyên)

Bổ đề : Cho vòng tròn độ dài  Cho #   , viết lên vòng tròn số x ở tất cả các tọa $ộ% %  # % 

  &'()*# +thì khi đó số, sẽ được viết tại tất

cả các điểm có tọa độ %  "*"nguyên) Do đó đường tròn sẽ được chia thành

 đoạn bằng nhau có

độ dài 

Đánh toạ độ 0 tại điểm thuộc 1 trục đối xứng.Khi

đó 1 điểm A có tọa độ x thì điểm có tọa độ , và

,  # ,  #cũng scó giá trị A.( do tính chất đối xứng qua trục đi qua điểm có tọa độ 0 và m) Xét 1 điểm K có tọa độ # => có 1 điểm K có tọa độ# => Các điểm K có tọa độ #  -#( - nguyên , khoảng cách giữa 2 số K liên tiếp là 2m) .Gọi   &'()*# + =>   &'()*# +( do

 lẻ) Áp dụng bổ đề ta có các điểm có tọa độ ./#  -( - nguyên) đều là K Như vậy xét các điểm "này chia đường tròn thành  đoạn ( số lẻ đoạn ) mỗi đoạn có độ dài 

Xét 1 điểm C có tọa độ , bất kì (  ,  ) Tương tự ta có ,  - (- nguyên) đều là điểm C ( như vậy điểm C có mặt ở cả  đoạn ở cùng vị trí tương đối trên đoạn đó) Vì vậy, tất cả các chuỗi trên các đoạn có độ dài d là như nhau

Do đối xứng nên tọa độ,cững là điểm C

=> ,  - đều là điểm C Như vậy trên mỗi đoạn thẳng đều có 1 điểm C khác ở vị trí đối xứng với điểm trước đó trên mỗi đoạn thẳng Vậy các chuỗi trên các đoạn có độ dài d là các chuỗi đối xứng

Suy ra α có dạng 0 00 0    0  0 Kể cả khi ta xoay chuỗi thẳng này đi m (m chia hết cho d) vị trí nhau thì ta vẫn được chính chuỗi đó Vậy giả sử là vô lý

=> đpcm

Định lý 4: Không tồn tại 2 chuỗi thẳng khác nhau

có dạng  ….    

Trang 4

…. ! ! mà chúng cùng là biểu diễn

của một chuỗi vòng đối xứng.(y  và !  !)

Chứng minh: Tương tự Định lý 3

Dựa vào định lý 3 và 4 và định nghĩa 3 ta nhận

thấy việc sinh chuỗi vòng đối xứng có dạng

….  (hoặc ….   +

tương đương với việc sinh các xâu có dạng

….  (hoặc ….   )

Định lý 5: a Nếu  lẻ, tập các chuỗi vòng đối

xứng chính là tập các xâu có dạng

….  

Ta gọi các xâu….1 (trong đó ….1 là

xâu không đối xứng và xâu ….1 khác xâu

1 ) là các xâu không đối xứng và không lật

b Nếu chẵn, tập các chuỗi vòng đối

xứng được chia làm các tập sau:

Tập các xâu có dạng ….   

(y +

 ….      (trong đó

….  là xâu không đối xứng và không lật)

Tập các xâu có dạng ….  

(trong đó …. là xâu không đối xứng và không

lật)

 ….    ….    (trong đó

….  là một chuỗi vòng đối xứng)

Chứng minh:

+ Nếu  lẻ, theo định lý 3 có điều phải chứng minh

+ Nếu chẵn, dễ thấy chuỗi vòng đối xứng sẽ chỉ có

1 trong 3 dạng :

Dạng 1: ….   (y  + (do chuỗi

vòng đối xứng nên luôn có thể quay được về dạng

 +

Dạng 2: ….  

Dạng 3: ….    

Trong đó các chuỗi vòng dạng 1 là độc lập hoàn

toàn, không trùng với chuỗi dạng 2 và 3, mặt khác

theo định lý 4, khi sinh một chuỗi vòng dạng 1 chính

là sinh một xâu dạng 1

Các chuỗi vòng dạng 2 thì vẫn thể có dạng 3 và

ngược lại

Xét các chuỗi dạng 2 và dạng 3; ta chia các chuỗi này

ra thành 3 dạng:

-Dạng 2.1: Các chuỗi vòng dạng

 ….      (D1)(trong đó

….  là xâu không đối xứng và không lật) -Dạng 2.2: Tập các chuỗi vòng có dạng

….   (D2)(trong đó …. là xâu không đối xứng và không lật)

Dễ chứng minh không tồn tại 2 xâu dạng D1(hoặc dạng D2) mà khi quay đi cùng là 1 chuỗi vòng nên tập này tương đương với các xâu dạng D1(hoặc dạng D2)

-Dạng 2.3: là tập các chuỗi vòng dạng

 ….     + , trong đó

…. (hoặc ….  + là xâu đối xứng

Để tránh bị lặp lại thì    (hoặc

….  + phải là các chuỗi vòng đối xứng Vậy tập này tương đương với tập các chuỗi vòng dạng ….     *22+(trong

đó ….  là một chuỗi vòng đối xứng).Mà không tồn tại 2 chuỗi vòng dạng(**) nên tập này tương đương với tập xâu dạng (**)

IV Thuật toán sinh chuỗi vòng nhị phân đối xứng

1 Thuật toán sinh sinh các xâu dạng :

….   sao cho

 2 *  …. ++y =n,  3 "     Dùng mảng để ghi nhớ các phần tử sinh được trong dãy và mảng 4 để nhớ tổng các phần tử đã sinh Chúng ta thừa nhận 45  và lời gọi ban đầu Gen1(1,n,d)

Procedure Gen1(i,n,d: interger);

local j: integer;

Begin

if   6 then for j{1,2,…., 7189:

 } do   ;<   ;<

4  4 7 ; 3 <

Gen1(i+1,n,d);

endfor;

endif;

else

Trang 5

    4 7<

if    duaketqua();

endelse;

End;

2 Thuật toán sinh các xâu có dạng

 ….    (  ) sao cho

 2 *  ++    ,  3 "    

Dùng mảng để ghi nhớ các phần tử sinh được

trong dãy và mảng 4để nhớ tổng các phần tử đã sinh

Chúng ta thừa nhận 45  và lời gọi ban đầu

Gen2(  )

Procedure Gen2(i,n,d: interger);

local j,= ": interger;

Begin

if   6 then

for j{1,2,…., 7189:

 } do

  ;< 7  ;<

4  4 7 ; 3 <

Gen2(i+1,n,d);

endfor;

endif;

else

if   4 7>  then

=  7189:

 <

for "     = do

  "<  =  "<

if  ?  duaketqua();

endfor;

endelse;

End;

3 Thuật toán sinh xâu dạng …. (trong

đó …. là xâu không đối xứng và không lật và

*  …. +  0 (c cho trước)

Dùng mảng  để ghi nhớ các phần tử sinh được

trong dãy và mảng 4 để nhớ tổng các phần tử đã sinh,

dùng mảng 0@A0" để lưu xem thời điểm sinh hiện tại

chuỗi là đối xứng hay không Chúng ta thừa nhận

45  0@A0"5  và lời gọi ban đầu Gen3(1,c,n)

Procedure Gen3(i,c,n: interger);

local j,l:interger;

Begin

if   *  B+ then for ;     0  4 7 do begin

  ;< 4  4 7 ;<

Gen3(i+1,c,n);

end; end;

else begin

if    then   0  4 7<

if 0@A0" 7? 

then duaketqua();

if 0@A0" 7 CC  

then duaketqua();

end;

else begin (nếu  ? +

if 0@A0" 7  then for     

     0  4 7 do begin

  <4  4 7 "<

if  ?  then

0@A0"  0@A0" 7 <

if      then   0  4 ;

 if0@A0" 7? 

then duaketqua();

if 0@A0" 7

CC   then duaketqua();

endif;

else begin (nếu

i?   +

Gen3(i+1,c,n);

endelse ;endif;

endfor;

else begin (nếu check? +

for      4 7 do begin

  "< 4  4 7 "<

if      then

  0  4 7 ; duaketqua();

endif; else

Gen3(i+1,c,n); endfor;endelse;endelse;endelse; End;

Trang 6

Dựa vào định lý 5 ta có thuật toán

sinh chuỗi vòng nhị phân đối xứng

Procedure GEN(n,d: interger);

local l:interger;

Begin

if B   then Gen1(1,n,d);

else begin

Gen2(1,n,d);

if B   then

- Gen3(1,

+ được chuỗi

….  ( 3 *"  +   +

Inchuoi

….     ;

for  D    E do begin

Gen3(1,

 , ); được chuỗi

…. ;

Inchuoi ….   ;

endfor;

+< được chuỗi

….  ;

Inchuoi

….  ….  ;

endif;

endelse;

End;

Chứng minh thuật toán hiệu quả

Phần này chúng tôi chứng minh ngắn gọn thuật

toán đề xuất trên là thuật toán có thời gian tính khấu

trừ là hằng số (CAT) Các hàm của thuật toán sinh

chuỗi vòng đối xứng trên đều dựa vào bài toán cơ bản

trong lý thuyết tổ hợp sau: Liệt kê các cách phân tích

n thành tổng các số nguyên dương ,,…,

Thuật toán sinh sau đây giải quyết bài toán cơ

bản này được biết đến như một thuật toán CAT

Procedure Phantich(i);

local j: integer;

Begin

if   " then

for j{1,2,….,  4 7 } do begin

  ;<

4  4 7 ;<

Phantich(i+1);

endfor; endif;

else begin

    4 7<

 if    duaketqua();

endelse;

End;

Nhận thấy: Thuật toán Gen1 được viết dựa trên việc sinh các chuỗi   F    4<

   4<

Thuật toán Gen2 được viết dựa trên sinh các chuỗi

  F    4<     4<

Thuật toán Gen3 được viết dựa trên sinh các chuỗi

  F    0 và đưa thêm mảng check để

kiểm tra xem chuỗi có thỏa mãn hay không

Vì vậy thuật toán Gen1, Gen2, Gen3 dựa trên bài toán cơ bản trên nên thuật toán Gen1,Gen2,Gen3 là CAT

Từ đó suy ra GEN là CAT suy ra điều phải chứng minh

V Kết luận và hướng phát triển

Qua công trình này chúng tôi đã xây dựng được một thuật toán CAT hiệu quả để sinh toàn bộ các chuỗi vòng nhị phân đối xứng cùng độ dài Điều này cũng có nghĩa là ta có thể đếm chính xác số lượng chuỗi vòng này bằng thuật toán sinh Tuy nhiên do thời gian hạn chế, chúng tôi chưa kịp xây dựng công thức đệ quy hay công thức hiện cho chúng Trong thời gian tới chúng tôi sẽ hoàn thiện công thức đếm

và mở rộng kết quả cho chuỗi vòng k-phân đối xứng

Báo cáo sẽ được hoàn thiện và gửi vào tạp chí chuyên ngành giải thuật và tổ hợp

VI Lời tri ân

Chúng tôi gửi lời cám ơn sâu sắc tới PGS TS Nguyễn Đức Nghĩa người đã gợi mở cho chúng tôi

đề tài này và TS Đỗ Phan Thuận - người đã giúp đỡ chúng tôi rất nhiều trong quá trình thực hiện đề tài Tài liệu tham khảo

[1] R Lyndon, On Burnside problem I, Trans American Math Soc 77 (1954) 202–215

[2] T M Y WANG and C D SAVEGE, A Gray code for necklaces of fixed density, SIAM J Discrete Math., 9 (1996), pp 654-673

[3] F RUSKEY, C D SAVEGE, and

T M Y WANG,Generating

[4] Gray-ordered Binary Necklaces Christopher Degnil

Trang 7

[5] A Gray code for fixed-density necklaces and

Lyndon words in Constant amortized time J Sawada

A Williams

[6] Gray codes for necklaces and Lyndon words

ofarbitrary base Mark Weston

...

Chứng minh thuật toán hiệu

Phần chúng tơi chứng minh ngắn gọn thuật

tốn đề xuất thuật tốn có thời gian tính khấu

trừ số (CAT) Các hàm thuật tốn sinh

chuỗi... tổng số nguyên dương ,,…,

Thuật toán sinh sau giải toán

bản biết đến thuật toán CAT

Procedure Phantich(i);

local j: integer;...

kiểm tra xem chuỗi có thỏa mãn hay khơng

Vì thuật tốn Gen1, Gen2, Gen3 dựa toán nên thuật toán Gen1,Gen2,Gen3 CAT

Từ suy GEN CAT suy điều phải chứng minh

V Kết luận hướng

Ngày đăng: 08/01/2016, 11:30

HÌNH ẢNH LIÊN QUAN

Hình 1.1.Các chuỗi vòng nhị phân độ dài 4. - Bài tập cấu trúc dữ liệu giải thuật  CAT
Hình 1.1. Các chuỗi vòng nhị phân độ dài 4 (Trang 2)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w