1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình Cấu trúc dữ liệu và thuật toán trên C++

20 12 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 572,64 KB

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

Nội dung

Tuy nhiên, ta có th  so sánh th i gian th c hi n c a hai thu t toán khác nhau.[r]

Trang 1

M C L C Ụ Ụ

M C L CỤ Ụ

               1  

Chương 1: GI I THI U CHUNGỚ Ệ

               3   1.1. Thu t toán và c u trúc d  li u:ậ ấ ữ ệ

               3   1.2. M t s  v n đ  liên quan:ộ ố ấ ề

              3   1.3. Ngôn ng  di n đ t thu t toán:ữ ễ ạ ậ

              3    Ngôn ng  di n đ t thu t toán đữ ễ ạ ậ ược quy ướ ử ục s  d ng trong giáo trình này là ngôn ngữ 

t a C++.ự

              3   1.3.1. C u trúc c a m t chấ ủ ộ ương trình chính:

               3   1.3.2. Các ký t :ự

              5   1.3.3. Các câu l nh:ệ

               5   1.3.4. Chương trình con: 

              6  

Chương 2: Thi t k  và phân tích thu t TOÁNẾ Ế Ậ

               8   2.1. Thi t k  thu t toán:ế ế ậ

               8   2.1.1. Module hoá thu t toán:ậ

               8   2.1.2. Phương pháp tinh ch nh t ng bỉ ừ ước:

              9   2.2. Phân tích thu t toán: ậ

               9   2.2.1. Tính đúng đ n:ắ

              9   2.2.2. Mâu thu n gi a tính đ n gi n và tính hi u qu :ẫ ữ ơ ả ệ ả

              9   2.2.3. Phân tích th i gian th c hi n thu t toán:ờ ự ệ ậ

               9  

Chương 3: đ  quy (RecursiON)Ệ

               12    3.1. Đ i cạ ương:

               12    3.2. Phương pháp đ  thi t k  m t thu t toán đ  quy:ể ế ế ộ ậ ệ

               13    3.3. Thu t toán quay lui:ậ

               16   

Chương 4: M ng và danh sách tuy n tínhẢ Ế

              18    4.1. M ng và c u trúc l u tr  c a m ng:ả ấ ư ữ ủ ả

               18    4.2. Danh sách tuy n tính (Linear list):ế

              19    4.3. Ngăn x p (Stack):ế

              20    4.3.1. Đ nh nghĩa:ị

              20    4.3.2. L u tr  Stack b ng m ng:ư ữ ằ ả

               20    4.3.3. Các ví d :ụ

              21    4.3.4. Stack v i vi c cài đ t thu t toán đ  quy:ớ ệ ặ ậ ệ

              25    4.4. Hàng đ i (Queue):ợ

              28    4.4.1. Đ nh nghĩa:ị

              28    4.4.2. L u tr  Queue b ng m ng:ư ữ ằ ả

               28   

Chương 5: danh sách móc n i (LINKED LIST)Ố

               31    5.1. Danh sách móc n i đ n:ố ơ

              31    5.1.1. T  ch c danh sách n i đ n:ổ ứ ố ơ

               31    5.1.2. M t s  phép toán trên danh sách n i đ n:ộ ố ố ơ

               31    5.2. Danh sách n i vòng:ố

               33    5.2.1. Nguyên t c:ắ

               33    5.2.2. Thu t toán b  sung và lo i b  m t nút c a danh sách n i vòng:ậ ổ ạ ỏ ộ ủ ố

               34    5.3. Danh sách n i kép:ố

               34    5.3.1. T  ch c:ổ ứ

              34    5.3.2. M t s  phép toán trên danh sách n i kép:ộ ố ố

              35    5.4. Ví d  v  vi c s  d ng danh sách móc n i:ụ ề ệ ử ụ ố

              36   

Trang 2

5.5. Stack và Queue móc n i:ố

               37   

Chương 6: CÂY (TREE)

              40    6.1. Đ nh nghĩa và các khái ni m:ị ệ

              40    6.1.1. Đ nh nghĩa:ị

              40    6.1.2. Các khái ni m liên quan:ệ

              40    6.2. Cây nh  phân:ị

              41    6.2.1. Đ nh nghĩa và tính ch t:ị ấ

              41    6.2.2. Bi u di n cây nh  phân:ể ễ ị

              42    6.2.3. Phép duy t cây nh  phân:ệ ị

              43    6.2.4. Cây nh  phân n i vòng:ị ố

               49    6.3. Cây t ng quát:ổ

              51    6.3.1. Bi u di n cây t ng quát:ể ễ ổ

              51    6.3.2. Phép duy t cây t ng quát:ệ ổ

              53    6.4.  ng d ng (Bi u di n cây bi u th c s  h c):Ứ ụ ể ễ ể ứ ố ọ

              53   

Chương 7:  Đ  th  (GRAPH)Ồ Ị

               58    7.1. Đ nh nghĩa và các khái ni m v  đ  th :ị ệ ề ồ ị

              58    7.2. Bi u  di n đ  th :ể ễ ồ ị

              59    7.2.1. Bi u di n b ng ma tr n lân c n (ma tr n k ):ễ ễ ằ ậ ậ ậ ề

               59    7.2.2. Bi u di n b ng danh sách lân c n (danh sách k )ể ễ ằ ậ ề

              59    7.3. Phép duy t m t đ  th :ệ ộ ồ ị

              61    7.3.1. Tìm ki m theo chi u sâu:ế ề

               61    7.3.2.Tìm ki m theo chi u r ng:ế ề ộ

               62    7.4. Cây khung và cây khung v i giá c c ti u:ớ ự ể

              63   

Chương 8:  S P X PẮ Ế

               65    8.1. Đ t v n đ :ặ ấ ề

               65    8.2. M t s  phộ ố ương pháp s p x p đ n gi n:ắ ế ơ ả

               65    8.2.1. S p x p ki u l a ch n:ắ ế ể ự ọ

               65    8.2.2. S p x p ki u chèn:ắ ế ể

               65    8.2.3. S p x p ki u n i b t:ắ ế ể ổ ọ

              66    8.3. S p x p ki u phân đo n (S p x p nhanh ­ quick sort):ắ ế ể ạ ắ ế

              66    8.4. S p x p ki u vun đ ng (Heap sort):ắ ế ể ố

               67    8.5. S p x p ki u tr n (Merge sort):ắ ế ể ộ

               69   

Chương 9:  tìm ki mẾ

              71    9.1. Bài toán tìm ki m:ế

               71    9.2. Tìm ki m tu n t :ế ầ ự

               71    9.3. Tìm ki m nh  phân:ế ị

              71    9.4. Cây nh  phân tìm ki m:ị ế

              71    Tài li u Tham kh oỆ Ả

              74   

2

Trang 3

CH ƯƠ NG 1: GI I THI U CHUNG Ớ Ệ

1.1. Thu t toán và c u trúc d  li u:ậ ấ ữ ệ

Theo Niklaus Wirth: Thu t toán + C u trúc d  li u = Chậ ấ ữ ệ ương trình

Ví dụ: Cho 1 dãy các ph n t , có th  bi u di n dầ ử ể ể ễ ướ ại d ng m ng ho c danhả ặ   sách

C u trúc d  li u và thu t toán có m i quan h  m t thi t v i nhau. do đó vi cấ ữ ệ ậ ố ệ ậ ế ớ ệ   nghiên c u các c u trúc d  li u sau này đi đôi v i vi c xác l p các thu t toán xứ ấ ữ ệ ớ ệ ậ ậ ử 

lý trên các c u trúc  y.ấ ấ

1.2. M t s  v n đ  liên quan:ộ ố ấ ề

L a ch n m t c u trúc d  li u thích h p đ  t  ch c d  li u vào ra và trên cự ọ ộ ấ ữ ệ ợ ể ổ ứ ữ ệ ơ 

s  đó xây d ng đở ự ược thu t toán x  lý h u hi u nh m đ a t i k t qu  mongậ ử ữ ệ ằ ư ớ ế ả  

mu n cho bài toán là m t khâu r t quan tr ng.ố ộ ấ ọ

Ta c n phân bi t 2 lo i quy cách d  li u: ầ ệ ạ ữ ệ Quy cách bi u di n hình th c: Còn để ễ ứ ược g i là c u trúc logic c a d  li u.ọ ấ ủ ữ ệ  

Đ i v i m i ngôn ng  l p trình xác đ nh s  có m t b  c u trúc logic c a dố ớ ỗ ữ ậ ị ẽ ộ ộ ấ ủ ữ 

li u. D  li u thu c lo i c u trúc nào thì c n ph i có mô t  ki u d  li uệ ữ ệ ộ ạ ấ ầ ả ả ể ữ ệ  

tương  ng v i c u trúc d  li u đó. ứ ớ ấ ữ ệ Ví d : ụ Trong C có các ki u d  li u: Struct,ể ữ ệ   Union, File,

Quy cách l u tr : là cách bi u di n m t c u trúc d  li u trong b  nh   Víư ữ ể ễ ộ ấ ữ ệ ộ ớ  

d : C u trúc d  li u m ng đụ ấ ữ ệ ả ượ ưc l u tr  trong b  nh  theo quy t c l u tr  kữ ộ ớ ắ ư ữ ế 

ti p.ế   Có 2 quy cách l u tr :ư ữ

         L u tr  trong: ví d  RAM.ư ữ ụ

         L u tr  ngoài: ví d  đĩa (disk).ư ữ ụ

1.3. Ngôn ng  di n đ t thu t toán:ữ ễ ạ ậ

Ngôn ng  di n đ t thu t toán đữ ễ ạ ậ ược quy ướ ử ục s  d ng trong giáo trình này 

là ngôn ng  t a C++.ữ ự

Đ c đi mặ ể : G n gi ng v i Turbo C++, do đó d  dàng trong vi c chuy nầ ố ớ ễ ệ ể  

m t chộ ương trình vi t b ng ngôn ng  t a C++ sang ngôn ng  C++.ế ằ ữ ự ữ

1.3.1. C u trúc c a m t ch ấ ủ ộ ươ ng trình chính:

void main()

{

S1;

S2;

Sn; }

L u ýư :

Các l nh c a chệ ủ ương trình dùng đ  di n t  thu t toánể ễ ả ậ

Trang 4

Đ  đ n gi n, chể ơ ả ương trình có th  không c n vi t khai báo. Tuy nhiên có thể ầ ế ể 

mô t  trả ước chương trình b ng ngôn ng  t  nhiên.ằ ữ ự

Ph n thuy t minh đầ ế ược đ t gi a 2 d u /* , */ ho c // đ  ghi chú trên 1 dòng.ặ ữ ấ ặ ể

4

Trang 5

void main() /* Chuong trinh chuyen so he 10 thanh he 2*/ {

cout << "n = ";

cin >> n; /* Nhap n la so he cs 10*/

T=0;

while (n!=0)

{

r = n % 2;

Push(T, r);

n = n / 2;

}

cout << "Ket qua chuyen doi sang he co so 2 la: ";

while (T!=0)

{

Pop(T, r);

cout << r;

}

}

1.3.2. Các ký t :

  Các ký t  s  d ng trong ch ng trình là t ng t  nh  trong C++.ự ử ụ ươ ươ ự ư

L u ý: Trong C++ là có s  phân bi t gi a ch  hoa và ch  thư ự ệ ữ ữ ữ ường

Trong đó: V là bi n (variable), và E là bi u th c (expression).ế ể ứ

L u ýư : Có th  dùng phép gán chung.  ể Ví dụ: a=b=1;    

­ L nh ghép ệ :  {S1; S2;  ; Sn;} coi nh  là m t câu l nh (trong đó Sư ộ ệ i là các câu 

l nh).ệ

­ L nh if ệ : Tương t  nh  l nh if c a ngôn ng  C.ự ư ệ ủ ữ

if (<biểu thức điều kiện>) <câu lệnh>;

ho c:ặ if (<biểu thức điều kiện>) <câu lệnh 1>;

else <câu lệnh 2>;

­ L nh switch ệ : Theo c u trúc sau:ấ

switch (<biểu thức>) {

case gt1: S1; case gt2: S2;

case gtn: Sn; [default : Sn+1;]

Trang 6

­ L nh l p ệ ặ : for, while, do while:  Tương t  nh  các l nh l p c aự ư ệ ặ ủ   C

­ L nh nh y ệ ả : goto n  (n: s  hi u/nhãn c a chố ệ ủ ương trình)

­  L nh vào ra ệ :  cin và cout  gi ng nh  C++.ố ư

<kiểu trả về> <Tên hàm>(<danh sách tham số>)

{

S1;

S2;

S3; [return (giá trị trả về) ]      Báo k t thúc chế ương trình con }

L u ýư : N u hàm có ki u tr  v  khác ki u void thì khi k t thúc hàm ph i có câuế ể ả ề ể ế ả  

l nh ệ return <giá tr  c a hàm>ị ủ  đ  gán k t qu  cho hàmể ế ả

Sau đây là ví d  v  hàm có tr  v  giá tr ụ ề ả ề ị

Ví dụ: Vi t chế ương trình con d ng hàm NamNhuan(x). Cho k t qu  n u s  x làạ ế ả ế ố   năm nhu n có giá tr  là True(1), ngậ ị ược l i có giá tr  là False(0); ch ng h nạ ị ẳ ạ :  NamNhuan(1996) cho giá tr  1, NamNhuan(1997) cho giá tr  0. Bi t r ng x đị ị ế ằ ượ  c

g i là năm nhu n n u x chia h t cho 4 và x không chia h t cho 100 ho c x chiaọ ậ ế ế ế ặ  

h t cho 400.ế

{ if ((x % 4 == 0 && x % 100 != 0)||(x % 400 == 0))

return 1;

else return 0;

}

{ return(((x % 4 == 0) && (x % 100 != 0)) ||

(x % 400 = 0));

}

Ví d  vi t v  chụ ế ề ương trình con không có giá tr  tr  v  (hay còn g i là th  t c).ị ả ề ọ ủ ụ

Ví dụ: Vi t hàm Hoandoi(a, b) đ  hoán đ i giá tr  c a 2 bi n s  a và b cho nhau.ế ể ổ ị ủ ế ố

{ tam=a;

a=b;

b=tam;

}

{ a= a+b;

b= a-b;

6

Trang 7

a= a-b;

}

L u ý:ư  Bên trong 1 chương trình con có th  dùng l nh return; (thoát kh i chể ệ ỏ ươ  ng trình con), exit(1) (thoát kh i chỏ ương trình chính)

Trang 8

CH ƯƠ NG 2: THI T K  VÀ PHÂN TÍCH THU T Ế Ế Ậ  TOÁN

2.1. Thi t k  thu t toán:ế ế ậ

Các bài toán ngày càng đa d ng và ph c t p, do đó thu t toán mà ta đ  xu tạ ứ ạ ậ ề ấ   càng có quy mô l n và vi c vi t chớ ệ ế ương trình c n có m t lầ ộ ượng l p trình đôngậ  

đ o. Mu n làm đả ố ược vi c này , ngệ ười ta phân chia các bài toán l n thành các bàiớ   toán nh  (module). Và dĩ nhiên m t module có th  chia nh  thành các module conỏ ộ ể ỏ   khác n a,  b y gi  vi c t  ch c l i gi i s  đữ ấ ờ ệ ổ ứ ờ ả ẽ ược th  hi n theo m t c u trúcể ệ ộ ấ   phân c p.ấ

Ví dụ:

Quá trình module hoá bài toán được xem là nguyên lý “chia đ  tr ” (divide &ể ị   conquer) hay còn g i là thi t k  t  đ nh xu ng (top­down) ho c là thi t k  tọ ế ế ừ ỉ ố ặ ế ế ừ  khái quát đ n chi ti t (specialization).ế ế

Vi c module hoá trong l p trình th  hi n  :ệ ậ ể ệ ở

Các chương trình con

C m các chụ ương trình con xung quanh m t c u trúc d  li u nào đó. Ch ngộ ấ ữ ệ ẳ  

h n, th  vi n trong C.ạ ư ệ

Ví dụ: Chương trình qu n lý đ u sách c a m t th  vi n nh m ph c v  đ c giả ầ ủ ộ ư ệ ằ ụ ụ ộ ả  tra c u sách. C  th , gi  s  ta đã có m t file d  li u g m các b ng ghi v  cácứ ụ ể ả ử ộ ữ ệ ồ ả ề   thông tin liên quan đ n m t đ u sách nh : tên sách, mã s , tác gi , nhà xu t b n,ế ộ ầ ư ố ả ấ ả   năm xu t b n, giá ti n,  ấ ả ề

Yêu c u: ầ

­ C p nh t d  li u đậ ậ ữ ệ ược

­ Tìm ki m.ế

­ In  n.ấ

8

A

D

H  ch ệ ươ ng trình 

qu n lý sách ả

B  sung thêm sách ổ S a thông tin  ử

file d  li u ữ ệ Xoá d   ữ

li u ệ Xem v i  ớ

m i b n  ọ ả ghi

Tra 

c u ứ

Th    ẻ sách

Th ng kê ố

Theo  mã

Theo  ngày 

nh p ậ

Trang 9

Nh n xétậ :

­ Vi c module hoá làm cho bài toán đệ ược đ nh hị ướng rõ ràng

­ B ng cách này, ngằ ười ta có th  phân chia công vi c cho đ i ngũ l p trình.ể ệ ộ ậ

­ Đây là m t công vi c m t nhi u th i gian.ộ ệ ấ ề ờ

Phương pháp tinh ch nh t ng bỉ ừ ước là phương pháp thi t k  thu t toán g nế ế ậ ắ  

li n v i l p trình. Nó ph n ánh tinh th n c a quá trình module hoá và thi t kề ớ ậ ả ầ ủ ế ế  thu t toán theo ki u top­down.ậ ể

Xu t phát t  ngôn ng  t  nhiên c a thu t toán, thu t toán s  đấ ừ ữ ự ủ ậ ậ ẽ ược chi ti t hoáế  

d n d n và cu i cùng công vi c x  lý s  đầ ầ ố ệ ử ẽ ược thay th  d n b i các câu l nhế ầ ở ệ   (c a m t ngôn ng  l p trình nào đó). Quá trình này là đ  tr  l i d n d n các câuủ ộ ữ ậ ể ả ờ ầ ầ  

h i: What? (làm gì?), How (làm nh  th  nào?)ỏ ư ế

2.2. Phân tích thu t toán: 

Ch t lấ ượng c a m t chủ ộ ương trình hay thu t toán bao g m:ậ ồ

­ Tính đúng đ n.ắ

­ Tính đ n gi n (d  hi u, d  qu n lý, d  l p).ơ ả ễ ể ễ ả ễ ậ

­ Tính t i  u (hi u qu ) v  m t th i gian cũng nh  không gian nh ố ư ệ ả ề ặ ờ ư ớ

Đây là m t yêu c u phân tích quan tr ng nh t cho m t thu t toán. Thôngộ ầ ọ ấ ộ ậ  

thường, người ta th  nghi m (test) nh  m t s  b  d  li u nào đó đ  cho ch yử ệ ờ ộ ố ộ ữ ệ ể ạ  

chương trình r i so sánh k t qu  th  nghi m v i k t qu  mà ta đã bi t. Tuyồ ế ả ử ệ ớ ế ả ế   nhiên, theo Dijkstra: “Vi c th  nghi m chệ ử ệ ương trình ch  ch ng minh s  có m tỉ ứ ự ặ  

c a l i ch  không ch ng minh s  v ng m t c a l i”.ủ ỗ ứ ứ ự ắ ặ ủ ỗ

Ngày nay, v i các công c  toán h c ngớ ụ ọ ười ta có th  ch ng minh tính đúng đ nể ứ ắ  

c a m t thu t toán.ủ ộ ậ

2.2.2. Mâu thu n gi a tính đ n gi n và tính hi u qu : ẫ ữ ơ ả ệ ả

M t thu t toán đ n gi n (d  hi u) ch a h n t i  u v  th i gian và b  nh ộ ậ ơ ả ễ ể ư ẳ ố ư ề ờ ộ ớ  

Đ i v i nh ng chố ớ ữ ương trình ch  dùng m t vài l n thì tính đ n gi n có th   coiỉ ộ ầ ơ ả ể  

tr ng nh ng n u chọ ư ế ương trình được s  d ng nhi u l n (ví d , các ph n m m)ử ụ ề ầ ụ ầ ề   thì th i gian th c hi n rõ ràng ph i đờ ự ệ ả ược chú ý

Yêu c u v  th i gian và không gian ít khi có m t gi i pháp tr n v n.ầ ề ờ ộ ả ọ ẹ

2.2.3. Phân tích th i gian th c hi n thu t toán: ờ ự ệ ậ

Th i gian th c hi n thu t toán ph  thu c vào nhi u y u t :ờ ự ệ ậ ụ ộ ề ế ố

­ Kích thước d  li u đ a vào (dung lữ ệ ư ượng).  N u g i n là kích thế ọ ước d  li uữ ệ   vào thì th i gian th c hi n m t thu t toán, ký hi u là T(n).ờ ự ệ ộ ậ ệ

­ T c đ  x  lý c a máy tính, b  nh  (RAM).ố ộ ử ủ ộ ớ

­ Ngôn ng  đ  vi t chữ ể ế ương trình

Trang 10

Tuy nhiên, ta có th  so sánh th i gian th c hi n c a hai thu t toán khác nhau.ể ờ ự ệ ủ ậ

Ví dụ: N u th i gian th c hi n c a thu t toán th  nh t Tế ờ ự ệ ủ ậ ứ ấ 1(n) = Cn2  (C: h ngằ  

dương) và th i gian th c hi n thu t toán th  hai Tờ ự ệ ậ ứ 2(n) = Kn (K: h ng) thì khi nằ   khá l n, th i gian th c hi n thu t toán 2 s  t i  u h n so v i thu t toán 1.ớ ờ ự ệ ậ ẽ ố ư ơ ớ ậ

Cách đánh giá th i gian th c hi n thu t toán theo ki u trên đờ ự ệ ậ ể ược g i là đánhọ   giá th i gian th c hi n thu t toán theo “đ  ph c t p tính toán c a thu t toán”.ờ ự ệ ậ ộ ứ ạ ủ ậ

2.2.3.1. Đ  ph c t p tính toán c a thu t toán: ộ ứ ạ ủ ậ

N u th i gian th c hi n m t thu t toán là T(n) = Cnế ờ ự ệ ộ ậ 2  (C: h ng), thì ta nóiằ  

r ng: Đ  ph c t p tính toán c a thu t toán này có c p là nằ ộ ứ ạ ủ ậ ấ 2 và ta ký hi u T(n) =ệ   O(n2)

T ng quát: ổ  T(n) = O(g(n)) thì ta nói đ  ph c t p c a thu t toán có c p là g(n).ộ ứ ạ ủ ậ ấ

2.2.3.2. Xác đ nh đ  ph c t p c a thu t toán: ị ộ ứ ạ ủ ậ

Vi c xác đ nh đ  ph c t p tính toán c a m t thu t toán nói chung là ph c t p.ệ ị ộ ứ ạ ủ ộ ậ ứ ạ   Tuy nhiên, trong th c t  đ  ph c t p c a m t thu t toán có th  đự ế ộ ứ ạ ủ ộ ậ ể ược xác đ nh tị ừ 

đ  ph c t p t ng ph n c a thu t toán. C  th , ta có m t s  quy t c sau:ộ ứ ạ ừ ầ ủ ậ ụ ể ộ ố ắ

­ Quy t c tính t ng ắ ổ :

N u chế ương trình P được phân tích thành 2 ph n: Pầ 1, P2 và n u đ  ph c t pế ộ ứ ạ  

c a Pủ 1 là T1(n) = O(g1(n)) và đ  ph c t p c a Pộ ứ ạ ủ 2 là T2(n) = O(g2(n)) thì đ  ph cộ ứ  

t p c a P là:  T(n) = O(max(gạ ủ 1(n), g2(n)))

Ví dụ: g1(n) = n2, g2(n) = n3.  Suy ra: T(n) = O(n3)

L u ýư :  g1(n)   g2(n) ( n   n0)   O(g1(n) + g2(n)) = O(g2(n))

N u đ  ph c t p c a Pế ộ ứ ạ ủ 1  là O(g1(n)), đ  ph c t p c a Pộ ứ ạ ủ 2  là O(g2(n)) thì độ 

ph c   t p   c a   Pứ ạ ủ 1  l ng   Pồ 2  (P1  câu   l nh   l p)   thì   đ   ph c   t p   tính   toán   làệ ặ ộ ứ ạ   O(g1(n).g2(n))

L u ý:ư

 Câu l nh gán, cin, cout, if, switch có th i gian th c hi n b ng h ng s  C =ệ ờ ự ệ ằ ằ ố   O(1)

 Câu l nh l p trong vòng g(n) l n thì s  có th i gian th c hi n là O(g(n)).ệ ặ ầ ẽ ờ ự ệ

 O(Cg(n)) = O(g(n)) (C: h ng)ằ

Ví dụ:

1) Câu l nh:ệ for (i=1;i<=n;i++) // O(n)

có th i gian th c hi n là: O(n*1) = O(n).ờ ự ệ 2) for (i=1;i<=n;i++)

1

Ngày đăng: 30/03/2021, 04:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w