CẤU TRÚC DỮ LIỆU & GIẢI THUẬT Gi ng viên: HỒ ĐẮC QUÁN ảng viên: HỒ ĐẮC QUÁN Bài giảng: hodacquan.wordpress.com 1 LT:45 TIẾT TH:60 TIẾT... MỤC TIÊU BUỔI HỌCGi i thi u vai trò c a t ch c
Trang 1CẤU TRÚC DỮ LIỆU
& GIẢI THUẬT
Gi ng viên: HỒ ĐẮC QUÁN ảng viên: HỒ ĐẮC QUÁN
Bài giảng: hodacquan.wordpress.com
1
LT:45 TIẾT TH:60 TIẾT
Trang 2MỤC TIÊU BUỔI HỌC
Gi i thi u vai trò c a t ch c d li u ới thiệu vai trò của tổ chức dữ liệu ệu vai trò của tổ chức dữ liệu ủa tổ chức dữ liệu ổ chức dữ liệu ức dữ liệu ữ liệu ệu vai trò của tổ chức dữ liệu
M i quan h gi a gi i thu t và c u trúc ối quan hệ giữa giải thuật và cấu trúc ệu vai trò của tổ chức dữ liệu ữ liệu ải thuật và cấu trúc ật và cấu trúc ấu trúc
d li u ữ liệu ệu vai trò của tổ chức dữ liệu
Các khái ni m và yêu c u v c u trúc d ệu vai trò của tổ chức dữ liệu ầu về cấu trúc dữ ề cấu trúc dữ ấu trúc ữ liệu
li u ệu vai trò của tổ chức dữ liệu
T ng quan v ánh giá ph c t p gi i ổ chức dữ liệu ề cấu trúc dữ đánh giá độ phức tạp giải đánh giá độ phức tạp giải ộ phức tạp giải ức dữ liệu ạp giải ải thuật và cấu trúc
Chương 1 Tổng quan về CTDL >
Trang 3SUY NGHĨ
3
?
Trang 4VAI TRÒ CỦA CẤU TRÚC DỮ LIỆU
4
C u ấu trúc
li u ệu vai trò của tổ chức dữ liệu
Trang 5CÁC TIÊU CHUẨN ĐÁNH GIÁ CTDL
o Ph n ánh úng th c t ải thuật và cấu trúc đánh giá độ phức tạp giải ực tế ết
o Phù h p v i thao tác ợp với thao tác ới thiệu vai trò của tổ chức dữ liệu
o Ti t ki m tài nguyên h th ng ết ệu vai trò của tổ chức dữ liệu ệu vai trò của tổ chức dữ liệu ối quan hệ giữa giải thuật và cấu trúc
5
Trang 6KHÁI NIỆM VỀ KIỂU DỮ LIỆU
T = <V, O>
V = {T p các giá tr }ật và cấu trúc ị}
O = {T p các thao tác x lý ật và cấu trúc ử lý được phép thực hiện} đánh giá độ phức tạp giải ượp với thao tácc phép th c hi n}ực tế ệu vai trò của tổ chức dữ liệu
Ví d : Ki u d li u s nguyên int trong ngôn ụ: Kiểu dữ liệu số nguyên int trong ngôn ểu dữ liệu số nguyên int trong ngôn ữ liệu số nguyên int trong ngôn ệu số nguyên int trong ngôn ố nguyên int trong ngôn
ng C ữ liệu số nguyên int trong ngôn
T = int
V = {-32768, 32767}
O = {+, -, *, /, %}
Trang 7Các thu c tính c a m t ki u d li u g m: ộ phức tạp giải ủa tổ chức dữ liệu ộ phức tạp giải ể giải quyết một bài ữ liệu ệu vai trò của tổ chức dữ liệu ồm:
Tên
Mi n giá trề cấu trúc dữ ị}
Kích th c l u trưới thiệu vai trò của tổ chức dữ liệu ư ữ liệu
T p các thao tác tác ng lên ki u d li u óật và cấu trúc đánh giá độ phức tạp giải ộ phức tạp giải ể giải quyết một bài ữ liệu ệu vai trò của tổ chức dữ liệu đánh giá độ phức tạp giải
Các lo i ki u d li u ạp giải ể giải quyết một bài ữ liệu ệu vai trò của tổ chức dữ liệu
Ki u d li u c b n: C s , m ng, c u trúc ể giải quyết một bài ữ liệu ệu vai trò của tổ chức dữ liệu ơng trình để giải quyết một bài ải thuật và cấu trúc ơng trình để giải quyết một bài ở, mảng, cấu trúc ải thuật và cấu trúc ấu trúc
c b nơng trình để giải quyết một bài ải thuật và cấu trúc
Ki u d li u có c u trúc h ng gi i quy t v n ể giải quyết một bài ữ liệu ệu vai trò của tổ chức dữ liệu ấu trúc ưới thiệu vai trò của tổ chức dữ liệu ải thuật và cấu trúc ết ấu trúc
: Danh sách liên k t, hàng i, ng n x p, cây,
đánh giá độ phức tạp giải ề cấu trúc dữ ết đánh giá độ phức tạp giải ợp với thao tác ăn xếp, cây, ết
b ng b m, …ải thuật và cấu trúc ăn xếp, cây, 7
KHÁI NIỆM VỀ KIỂU DỮ LIỆU
Trang 8T nh ĩnh
• Được định nghĩa ở thời định nghĩa ở thời c nh ngh a th i ĩnh ở thời ời
i m biên d ch.
đ ểm biên dịch ịnh nghĩa ở thời
• Được định nghĩa ở thời c c p phát th i ấp phát ở thời ở thời ời
i m liên k t.
đ ểm biên dịch ết.
• Cĩ th cĩ giá tr ban ểm biên dịch ịnh nghĩa ở thời đầu u
tùy theo t ng ngơn ng ừng ngơn ngữ ữ
l p trình ập trình.
• T n t i ồn tại đến khi kết thúc ại đến khi kết thúc đết n khi k t thúc ết.
ch ương trình ng trình.
ng
Động
• Được định nghĩa ở thời c g n k t v i m t ắn kết với một ết ới một ộng con tr ỏ (t i th i i m biên ại thời điểm biên ời điểm biên điểm biên ểm biên
d ch ch a cĩ) ịch chưa cĩ) ưa cĩ).
• Phát sinh lúc th c thi ực thi.
• Khơng xác nh giá tr ban định nghĩa ở thời ịnh nghĩa ở thời
u
đầu
• Được định nghĩa ở thời c gi i phĩng kh i b ảng viên: HỒ ĐẮC QUÁN ỏ ộng
nh khi c n ới một ầu 8
KHÁI NIỆM VỀ KIỂU DỮ LIỆU
Trang 9ĐÁNH GIÁ ĐỘ PHỨC TẠP GIẢI THUẬT
Do ph i cài ải thuật và cấu trúc đánh giá độ phức tạp giải ặt bằng một ngôn ngữ lập t b ng m t ngôn ng l p ằng một ngôn ngữ lập ộ phức tạp giải ữ liệu ật và cấu trúc
trình c th nên thu t toán s ch u s h n ụ thể nên thuật toán sẽ chịu sự hạn ể giải quyết một bài ật và cấu trúc ẽ chịu sự hạn ị} ực tế ạp giải
ch c a ngôn ng l p trình này.ết ủa tổ chức dữ liệu ữ liệu ật và cấu trúc
Đồm:ng th i, hi u qu c a thu t toán s b ời, hiệu quả của thuật toán sẽ bị ệu vai trò của tổ chức dữ liệu ải thuật và cấu trúc ủa tổ chức dữ liệu ật và cấu trúc ẽ chịu sự hạn ị}
nh h ng b i trình c a ng i cài t.
ải thuật và cấu trúc ưở, mảng, cấu trúc ở, mảng, cấu trúc đánh giá độ phức tạp giải ộ phức tạp giải ủa tổ chức dữ liệu ười, hiệu quả của thuật toán sẽ bị đánh giá độ phức tạp giải ặt bằng một ngôn ngữ lập
Vi c ch n ệu vai trò của tổ chức dữ liệu ọn được các bộ dữ liệu thử đặc trưng đánh giá độ phức tạp giải ượp với thao tácc các b d li u th c tr ng ộ phức tạp giải ữ liệu ệu vai trò của tổ chức dữ liệu ử lý được phép thực hiện} đánh giá độ phức tạp giải ặt bằng một ngôn ngữ lập ư
cho t t c t p các d li u vào c a thu t toán là ấu trúc ải thuật và cấu trúc ật và cấu trúc ữ liệu ệu vai trò của tổ chức dữ liệu ủa tổ chức dữ liệu ật và cấu trúc
r t khó kh n và t n nhi u chi phí.ấu trúc ăn xếp, cây, ối quan hệ giữa giải thuật và cấu trúc ề cấu trúc dữ
Các s li u thu nh n ối quan hệ giữa giải thuật và cấu trúc ệu vai trò của tổ chức dữ liệu ật và cấu trúc đánh giá độ phức tạp giải ượp với thao tácc ph thu c nhi u ụ thể nên thuật toán sẽ chịu sự hạn ộ phức tạp giải ề cấu trúc dữ
vào ph n c ng mà thu t toán ầu về cấu trúc dữ ức dữ liệu ật và cấu trúc đánh giá độ phức tạp giải ượp với thao tácc th ử lý được phép thực hiện}
nghi m trên ó i u này khi n cho vi c so ệu vai trò của tổ chức dữ liệu đánh giá độ phức tạp giải Đ ề cấu trúc dữ ết ệu vai trò của tổ chức dữ liệu
sánh các thu t toán khó kh n n u chúng ật và cấu trúc ăn xếp, cây, ết đánh giá độ phức tạp giải ượp với thao tácc
th nghi m nh ng n i khác nhau.ử lý được phép thực hiện} ệu vai trò của tổ chức dữ liệu ở, mảng, cấu trúc ữ liệu ơng trình để giải quyết một bài 9