Tải bản đầy đủ (.pdf) (428 trang)

Bài giảng cấu trúc dữ liệu và giải thuật 17

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (9.67 MB, 428 trang )

Cấu trúc dữ liệu & Giải thuật
(Data Structures and Algorithms)

Các qui định cần biết
Nguyễn Tri Tuấn
Khoa CNTT – ĐH.KHTN.Tp.HCM
Email:

CuuDuongThanCong.com

/>

Đọc thật kỹ đề cương môn học
để nắm rõ tất cả các qui định và
kế hoạch học tập

Winter 2017

Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM

CuuDuongThanCong.com

/>

Resources
Thư mục chia sẻ tài liệu môn học (Dropbox):
/>
Moodle: />
Winter 2017

Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM



CuuDuongThanCong.com

/>

Qui định nộp bài homework
 Nộp bài tập homework: 23:55 thứ 5 hàng tuần
 Mỗi bài phải lưu riêng, không lưu chung:
Nếu nộp file docx/pdf: mỗi bài tập homework là một file riêng
Nếu nộp source: mỗi bài là một project riêng. Có thể gom chung
nhiều project vào một solution. Đặt tên solution theo dạng <HWTuần-X>
Đặt tên file (hay tên project theo mã bài). VD: H1.1, H1.2

 VD: tuần 3 cần nộp 4 bài homework là H3.1, H3.2, H3.4,
H3.6. Giả sử 2 bài đầu làm bằng Word, 2 bài sau viết
bằng C++. Cần nộp như sau:
File H3.1.docx, H3.2.docx
Solution HW-Tuan-3 có chứa hai project là H3.4 và H3.6
Tất cả được nén trong file <MSSV>-HW-Tuan-3.ZIP (hay
RAR) và upload lên Moodle
Winter 2017

Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM

CuuDuongThanCong.com

/>

Qui định nộp bài project, bài tập nhóm
 Khi nộp bài trên Moodle, bài nộp phải đáp ứng các yêu

cầu sau:
Không chấp nhận nộp link
Nộp nguyên source (solution, project)
Nộp kèm release (EXE, DLL)
Xóa các file trung gian để dung lượng khơng vượt q giới hạn
qui định của Moodle
Có file Readme.txt ghi rõ các thông tin sau. File Readme phải
encoding bằng Unicode.
Họ tên, MSSV
Source code được viết bằng Visual Studio version nào?
Các lưu ý khác khi build, khi chạy ứng dụng,…
Liệt kê rõ những chức năng đã hoàn thành, những phần chưa hồn
thành. Khơng ghi chung chung “Hồn thành tồn bộ” hay “Xong”…

Winter 2017

Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM

CuuDuongThanCong.com

/>

Tính điểm bài tập nhóm
Khơng tham gia bài tập: 0 điểm
Trong từng bài tập, các thành viên sẽ đánh giá
chéo theo mẫu được cung cấp.
Điểm của mỗi cá nhân sẽ được tính dựa trên
đánh giá tổng hợp
(*) Mỗi nhóm cần có ít nhất 1 laptop cài sẵn cơng cụ lập
trình để thực hiện các bài tập nhóm tại lớp (nếu có)

Khuyến khích mỗi cá nhân có laptop riêng khi đến lớp

Winter 2017

Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM

CuuDuongThanCong.com

/>

Điểm cộng nhóm
Áp dụng cho các hoạt động khác trong lớp:
Đi trễ >= 15 phút: -5 điểm/người/lần
Phát biểu/xử lý tình huống: +5 điểm/lần

Tổng kết cuối môn học: +10 điểm cho nhóm có
tổng điểm cao nhất

Summer 2016

Data Structures and Algorithms - Nguyen Tri Tuan, ĐH.KHTN Tp.HCM

CuuDuongThanCong.com

/>

Hỏi đáp
(Q & A)

Winter 2017


Data Structures and Algorithms - Nguyen Tri Tuan, Trường ĐH.KHTN ĐHQG-HCM

CuuDuongThanCong.com

/>

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
CHƯƠNG TRÌNH CHẤT LƯỢNG CAO

ĐỀ CƯƠNG MÔN HỌC
CTT101: Cấu trúc dữ liệu và Giải thuật
Học kỳ: 1 / 2017 - 2018
THÔNG TIN GIẢNG VIÊN
Họ và tên:

Nguyễn Tri Tuấn

Văn phòng làm việc:

I-81 (lầu 8, nhà I)

Email:



Số điện thoại:

0913-913-011


Thời gian tiếp sinh viên:

9:00 – 10:00 thứ 5

THƠNG TIN MƠN HỌC
Số tín chỉ:

4

Điều kiện bắt buộc: SV cần được học trước mơn Kỹ thuật lập trình, Lập trình hướng đối tượng
Lớp:

16CLC2

MỤC TIÊU MƠN HỌC
Sinh viên học xong mơn học này có khả năng:


Hiểu và sử dụng được các cấu trúc dữ liệu, bao gồm: khái niệm, các tính chất, ưu điểm,
hạn chế, tình huống sử dụng và các giải thuật liên quan của từng cấu trúc dữ liệu cụ thể.



Phân tích và xây dựng được cấu trúc dữ liệu mới (trên cơ sở kết hợp, thay đổi các cấu
trúc dữ liệu đã học) để phù hợp với yêu cầu thực tế của một phần mềm.



Cài đặt được các CTDL và giải thuật cơ bản đã được trình bày trong phần nội dung môn
học bằng C/C++.


CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 1

/>



Phân tích được ưu điểm và hạn chế của các cấu trúc dữ liệu khác nhau, từ đó chọn lựa ra
được cấu trúc dữ liệu và giải thuật phù hợp cho một ứng dụng cụ thể.



Đọc hiểu tài liệu tham khảo tiếng Việt, tiếng Anh được cung cấp sẵn.



Tổ chức làm việc nhóm, phân cơng cơng việc, kỹ năng trình bày và báo cáo.

Để đạt môn học này, sinh viên cần:


Áp dụng được kiến thức khoa học cơ bản trong mơn học. Sử dụng một số kiến thức tốn
để tính toán độ phức tạp của giải thuật, hay cài đặt giải thuật.




Hiểu và sử dụng được các cấu trúc dữ liệu, bao gồm: khái niệm, các tính chất, ưu điểm,
hạn chế, tình huống sử dụng và các giải thuật liên quan của từng cấu trúc dữ liệu cụ thể.



Áp dụng được các kiến thức nghề nghiệp, nghiệp vụ (nói chung trong xã hội) vào các chủ
đề trong mơn học. Có vận dụng các bài toán thực tế vào việc cài đặt những ứng dụng
minh họa CTDL



Suy nghĩ và giải quyết vấn đề. Có thể tự định nghĩa cấu trúc dữ liệu mới (trên cơ sở kết
hợp, thay đổi các cấu trúc dữ liệu đã học) để phù hợp với yêu cầu thực tế của một phần
mềm.



Phân tích và xây dựng được cấu trúc dữ liệu mới (trên cơ sở kết hợp, thay đổi các cấu
trúc dữ liệu đã học) để phù hợp với yêu cầu thực tế của một phần mềm.



Cài đặt được các cấu trúc dữ liệu và giải thuật bằng C/C++.



Phân tích được ưu điểm và hạn chế của các cấu trúc dữ liệu khác nhau, từ đó chọn lựa ra
được cấu trúc dữ liệu và giải thuật phù hợp cho một ứng dụng cụ thể.




Hiểu chính xác các thuật ngữ tiếng Anh của mơn học. Giải thích và diễn đạt được các
thuật ngữ tiếng Anh chuyên ngành của môn học. Phát âm đúng các thuật ngữ, sử dụng
chính xác theo ngữ cảnh.



Đọc và hiểu được các tài liệu tham khảo bằng tiếng Anh do GV cung cấp.



Kỹ năng viết và nói, kỹ năng trình bày (tiếng Việt) liên quan đến các chủ đề của môn
học.



Nhận biết và vận dụng được các kiến thức văn hóa, đạo đức nghề nghiệp, trách nhiệm và
các khía cạnh luật lệ liên quan đến các chủ đề trong môn học. Ý thức tuân thủ bản quyền,
tài liệu tham khảo. Ý thức tự làm, trung thực trong báo cáo kết quả. Ý thức tuân thủ kế
hoạch làm việc đã đặt ra.



Thảo luận, tranh luận, phản biện, phê phán trên cơ sở lý luận khoa học. Thảo luận qua
các seminar.



Làm việc nhóm, tổ chức và quản lý. Làm việc nhóm trong khi học ở lớp hay bài tập
nhóm hay seminar.


CLC | Đề cương mơn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 2

/>

MƠ TẢ MƠN HỌC
Nội dung của mơn học gồm 2 phần: CTDL và Giải thuật.
Về CTDL, mơn học trình bày tất cả các cấu trúc dữ liệu cơ bản, cần thiết nhất mà người lập trình
viên phải nắm vững để vận dụng trong quá trình viết ứng dụng, như: danh sách liên kết, ngăn
xếp, hàng đợi, hàng đợi ưu tiên, cây nhị phân tìm kiếm (BST, AVL, Red-Black, AA), B-cây,
bảng băm.
Về Giải thuật, ngoài những giải thuật đi kèm với từng CTDL nêu trên, mơn học cịn trình bày các
giải thuật cần thiết khác như: sắp xếp, tìm kiếm, tìm kiếm chuỗi (KMP, Rabin Karp), giải thuật
nén (Run-Length, Huffman, LZW).
Sinh viên sẽ thực hành bằng C/C++, bao gồm: làm thế nào để ước lượng, chọn lựa, và sử dụng
các thư viện để cài đặt các giải thuật và cấu trúc dữ liệu khác nhau. Môn học cung cấp các kỹ
thuật phân tích giải thuật cơ bản; phân tích gần đúng độ phức tạp của giải thuật; ký hiệu big-O,
big-Theta và big-Omega; ôn lại và thực hiện sâu hơn kỹ thuật đệ qui; các giải thuật hiệu quả cho
những cấu trúc dữ liệu rời rạc như: cây, danh sách liên kết, bảng băm,… Bên cạnh đó, sinh viên
sẽ học cách cài đặt hiệu quả các giải thuật; cũng như làm thế nào để vận dụng các kỹ thuật như:
chia để trị, đệ qui quay lui,…

TÀI LIỆU MÔN HỌC
Text book
[1]. Adam Drozdek, Data Structures and Algorithms in C++, 2nd edition, Brooks/Cole,
Thomson Learning, 2001

Sách tham khảo
[1]. Frank M.Carrano, Janet J.Prichard, Data Abstraction and Problem Solving with C++, 4th
edition, Addison Wesley
[2]. Robert L. Kruse, Alexander J. Ryba, Data Structures and Program Design in C++,
Prentice Hall, 2000
[3]. Thomas H.Cormen, Charles E. Leiserson, Ronald L. Rivest, Introduction to Algorithms,
The MIT Press and McGraw-Hill Book Company, 1990
Phần mềm
[1]. Ngơn ngữ lập trình: C++, viết ở chế độ console hay GUI (tùy chọn)
[2]. Cơng cụ lập trình: có thể sử dụng Visual Studio 2013 trở lên, đề nghị Visual Studio 2017.
Website môn học
[1]. Hệ thống Moodle của Khoa CNTT trường ĐH. KHTN
/>
CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 3

/>

CHỦ ĐỀ MƠN HỌC
Chương 1. Phân tích độ phức tạp của giải thuật
1.1 Chi phí của giải thuật
1.2 Big-O, Big-, Big-
Chương 2. Các giải thuật sắp xếp (Sorting Algorithms)
2.1 Selection Sort
2.2 Heap Sort
2.3 Merge Sort
2.4 Quick Sort

2.5 Radix sort
Chương 3. Các giải thuật tìm kiếm (Searching Algorithms)
3.1 Tìm kiếm tuần tự (Sequential Search)
3.2 Tìm kiếm nhị phân (Binary Search)
3.3 Tìm kiếm chuỗi (String Searching)
3.3.1 Brute Force
3.3.2 Rabin-Karp
3.3.3 KMP
Chương 4. Các khái niệm cơ bản
4.1 Kiểu dữ liệu (Data Type)
4.2 Kiểu dữ liệu cơ bản (Basic Data Type)
4.3 Kiểu dữ liệu có cấu trúc (Structured Data Type)
4.4 Kiểu dữ liệu trừu tượng (ADT – Abstract Data Type)
4.5 Cấu trúc dữ liệu (Data structure)
4.6 Đánh giá Cấu trúc dữ liệu
Chương 5. Các cấu trúc dữ liệu
5.1 Các cấu trúc dữ liệu cơ bản
5.1.1 Danh sách liên kết – Linked Lists: DSLK đơn, DSLK đơi, DSLK vịng
5.1.2 Ngăn xếp – Stack
5.1.3 Hàng đợi – Queue

CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 4

/>

5.1.4 Hàng đợi ưu tiên – Priority Queue

5.2 Cây nhị phân – Binary Trees
5.2.1 Các khái niệm và thuật ngữ cơ bản
5.2.2 Định nghĩa cấu trúc dữ liệu
5.2.3 Duyệt cây
5.2.4 Cây nhị phân tìm kiếm – Binary Search Tree
5.3 Các cấu trúc dữ liệu nâng cao (Advanced Data Structures)
5.3.1 Cây nhị phân tìm kiếm cân bằng
5.3.1.1 Cây AVL
5.3.1.2 Cây đỏ đen – Red Black Tree
5.3.1.3 Cây AA
5.3.2 B-Cây
5.3.3 Bảng băm – Hash Table
Chương 6. Các giải thuật nén dữ liệu
6.1 Run-Length Encoding
6.2 Nén Huffman tĩnh
6.3 Nén LZW

YÊU CẦU MÔN HỌC VÀ THANG ĐIỂM
Mã bài
kiểm tra
H

Tên bài kiểm tra

Mô tả

Bài tập ở nhà

SV thực hiện bài tập về nhà theo yêu cầu của


(Homework)

từng tuần và nộp qua moodle. Làm và nộp theo

Tỉ lệ điểm
(%)
20%

cá nhân.
Mục tiêu: giúp SV nắm được các kiến thức cơ
bản của mỗi tuần.
G

P

Bài tập nhóm (1

SV thực hiện bài tập theo nhóm, có thể thực

bài, có thể chia

hiện tại lớp hoặc chuẩn bị ở nhà và báo cáo

thành nhiều phần)

trước lớp. Nộp bài qua moodle.

Bài tập project (2

SV thực hiện bài tập ở nhà và nộp qua moodle


bài)

(làm bài theo cá nhân).

20%

20%

Thời gian: từ 1-2 tuần cho mỗi bài tập.

CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 5

/>

Mục tiêu: tổng hợp kiến thức, tăng độ khó so
với bài tập homework.
M

Kiểm tra giữa kỳ

Thi thực hành tại phòng lab.

10%

F


Thi cuối kỳ

Thi viết tự luận.

30%

QUI ĐỊNH VỀ ĐẠO ĐỨC VÀ TÍNH TRUNG THỰC


Sinh viên cần tuân thủ nghiêm túc các nội quy và quy định của Khoa và Trường.



Đối với bất kỳ sự gian lận nào trong quá trình làm bài tập hay bài thi, sinh viên phải chịu
mọi hình thức kỷ luật của Khoa/Trường và bị 0 điểm cho bài làm tương ứng.

NHỮNG QUY ĐỊNH KHÁC


Moodle và email sẽ được sử dụng để trao đổi với sinh viên trong suốt khóa học. Vì vậy,
sinh viên nên kiểm tra Moodle và email mỗi ngày.



Các thắc mắc và trao đổi về nội dung/kế hoạch của môn học nên post trực tiếp trên forum
của môn học (Moodle), hạn chế gởi email tới giảng viên, ngoại trừ các trường hợp: khẩn
cấp, không truy cập được hệ thống Moodle, hay các vấn đề ngồi nội dung mơn học.




Nộp bài đúng hạn theo deadline, không giải quyết khi nộp bài trễ hạn, dù bất kỳ lý do gì
(ngoại trừ hệ thống Moodle bị sự cố sẽ gia hạn thời gian nộp bài)



Không nộp bài qua email, không nộp lên forum. Các bài này sẽ khơng được chấp nhận và
khơng có phản hồi.



Khi gởi email tới giảng viên, tiêu đề email là: [CTT101]<space><Tiêu đề email>



Trong email, cần giới thiệu họ tên, mã SV, lớp đang học.

CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 6

/>

LỊCH TRÌNH GIẢNG DẠY
(Gồm: chủ đề mơn học, tài liệu cần đọc thêm, bài tập về nhà, bài tập nhóm và kiểm tra)
Tuần

1


Ngày

2/10/2017

6/10/2017

Nội dung

Bài đọc liên quan

Bài tập về nhà/Bài tập

Hoạt động

nhóm

khác

Chương 1. Phân tích độ phức tạp của giải thuật, Big-O, Big-,

2.1 – 2.4 (p.70 – p.76) H.1.1, H.1.2, H.1.3,

Big-

2.7 – 2.8 (p.78 – p.83) H.1.4

Chương 2. Selection Sort, Heap Sort

9.1.2 (p.473 – p.475)


H.2.1

9.3.2 (p.485 – p.488)
2

9/10/2017

Chương 2. Merge Sort, Quick Sort, Radix Sort

13/10/2017 Chương 3. Tìm tuần tự, Tìm nhị phân, Brute Force

9.3.3 – 9.3.5 (p.488 –

H.2.2, H.2.3, H.2.4

Sinh viên

p.504)

G (phần 1)

chuẩn bị
trước bài R-1

34.1 (p.864 – p.865)*

Sửa bài tập H.1.x
3


16/10/2017 Chương 3. Rabin-Karp

34.2 (p.866 – p.870)*

H.3.1, H.3.2, H.3.3,
H.3.4, H.3.5

Sửa bài R-1
20/10/2017 Chương 3. KMP

34.4 (p.878 – p.884)*

Sửa bài tập H.2.x

CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

H.3.6, H.3.8
P.1

Page 7

/>

4

23/10/2017 Chương 4. Các khái niệm cơ bản

Sinh viên

chuẩn bị

27/10/2017 Chương 5. Linked List
Sửa bài tập H.3.x

3.1 – 3.3 (p.92 –

H.5.1.2, H.5.1.3,

p.114)

H.5.1.4, H.5.1.7,

trước bài R-2

H.5.1.8, H.5.1.9
5

30/10/2017 Chương 5. Stack, Queue

3/11/2017

4.1 – 4.2 (p.154 –

5.2.1, 5.2.2, 5.2.3,

Sinh viên

Thuật toán Reverse Polish Notation


p.171)

5.2.4, 5.2.5, 5.2.6

xem trước

Chương 5. Hàng đợi ưu tiên

6.9 (p.288 – p.296)

5.3.24, 5.3.25, 5.3.26

Sửa bài R-2

G (phần 2)

Sửa bài tập H.5.1.x
6

Chương 5. Cấu trúc cây

5.3.1, 5.3.2, 5.3.3,
5.3.5, 5.3.6, 5.3.7,
5.3.8, 5.3.9, 5.3.15,
5.3.20

10/11/2017 Chương 5. Cây nhị phân tìm kiếm
Sửa bài tập H.5.2.x

6.2 – 6.6 (p.238 –


5.3.4, 5.3.11, 5.3.12,

p.269)

5.3.13, 5.3.18, 5.3.21,
5.3.22, 5.3.23

CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

5 - Các khái
niệm về cấu
trúc cây”

Thi giữa kỳ (M)
6/11/2017

bài “Chương

Page 8

/>

7

13/11/2017 Chương 5. Cây AVL

6.7.2 (p.275 – p.281)


5.4.1, 5.4.4
G (phần 3)

17/11/2017 Ôn tập
Sửa bài tập H.5.3.x
8

20/11/2017 Chương 5. Cây Đỏ-Đen

14 (p.273 – p.290)*

5.4.2, 5.4.5

24/11/2017 Chương 5. B-Cây

7 – 7.1.4 (p.319 –

5.5.1, 5.5.2, 5.5.3,

p.337)

5.5.4, 5.5.6, 5.5.7
P.2

9

27/11/2017 Chương 5. Bảng băm

10 – 10.3 (p.521 –

p.535)

1/12/2017

Ôn tập
Sửa bài tập H.5.4.x, H.5.5.x

10

4/12/2017

8/12/2017

Chương 6. Run-Length Encoding, Nén Huffman tĩnh

11.4 (p.578 – p.579)

H.6.1  H.6.9,

Sinh viên

11.2 (p.562 – p.576)

H.6.13

chuẩn bị
trước bài R-3

Ôn tập
Sửa bài R-3


11

11/12/2017 Ôn tập
15/12/2017 Ơn tập

CLC | Đề cương mơn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 9

/>

Sửa bài tập H.6.x
Thực hành: từ tuần 09/10/2017 đến tuần 16/12/2017
Thi cuối kỳ (F): từ 18/12/2017 đến 30/12/2017

CLC | Đề cương môn học | CTT101 | Nguyễn Tri Tuấn

CuuDuongThanCong.com

Page 10

/>

Cấu trúc dữ liệu & Giải thuật
(Data Structures and Algorithms)

Phân tích độ phức tạp

của giải thuật

Nguyễn Tri Tuấn
Khoa CNTT – ĐH.KHTN.Tp.HCM
Email:

LOGO


Thuật ngữ

 Chi phí (cost)

 Độ phức tạp (complexity)

 Phân tích độ phức tạp (complexity
analysis)

2/38


Nội dung

1

Chi phí của giải thuật

2

Độ phức tạp của giải thuật


3

Big-O, Big-, Big-

www.themegallery.com

3


Chi phí của giải thuật (1)

 Tính tổng n số nguyên:
sum = 0;
for (i = 0; i < n; i++)
sum += i;

 Giải thuật Bubble sort:
for (i = n-1; i > 0; i--)
for (j = 1; j <= i; j++)
if (a[j-1] > a[j]) {
temp = a[j-1];
a[j-1] = a[j];
a[j] = temp;
}
4


Chi phí của giải thuật (2)


 Cùng một vấn đề, có thể giải quyết bằng nhiều
giải thuật khác nhau

 VD. Sắp xếp mảng  Bubble sort, Heap sort, Quick sort,…

 Mỗi giải thuật có chi phí (cost) khác nhau

 Chi phí thường được tính dựa trên:
 thời gian (time)
 bộ nhớ (space/memory)

 Chi phí “thời gian” thường được quan tâm nhiều
hơn

5


Chi phí của giải thuật (3)

 Tuy nhiên, việc dùng khái niệm “thời gian” theo
nghĩa đen (vd. giải thuật A chạy trong 10s) là
khơng ổn, vì:

 tuỳ thuộc vào loại máy tính (vd. máy Dual-Core sẽ chạy nhanh
hơn Pentium II)
 tuỳ thuộc ngơn ngữ lập trình (vd. Giải thuật viết bằng C/Pascal
có thể chạy nhanh gấp 20 lần viết bằng Basic/LISP)

 Do đó, người ta thường dùng “đơn vị đo logic”


(vd. số phép tính cơ sở) thay cho đơn vị đo “thời
gian thật” (mili-giây, giây,…)
 VD. Chi phí để sắp xếp mảng n phần tử bằng giải thuật Bubble
sort là n2 (phép tính cơ sở)

6


Nội dung

1

Chi phí của giải thuật

2

Độ phức tạp của giải thuật

3

Big-O, Big-, Big-

7/38


×