SlideShare a Scribd company logo
C Ấ U TRÚC DỮ LIỆ U
VÀ GIẢ I THU Ậ T
DATA STRUCTURE AND
ALGORITHMS
GV: Phạm Tuấn Hiệp
Email: hiep0109@yahoo.com
Nội dung môn học
2



Chương 1: Tổ ng quan về CTDL và GT



Chương 2.1: Các giả i thuậ t Tìm kiế m



Chương 2.2: Các giả i thuậ t Sắ p xế p



Chương 3.1: Danh sách liên kế t



Chương 3.2: Ngă n xế p - Hàng đợ i



Chương 4: Cây

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Đánh giá kết quả
3

Kiểm tra giữa kỳ: trắc nghiệm

1.


Điểm Kiểm tra giữa kỳ < 4  không được thi kết thúc môn 
học lại

2.
3.

Thi kết thúc môn: trắc nghiệm
Kiểm tra thường kỳ: thực hành

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Tài liệu học tập
4



Tham khảo:




Giáo trình Cấu trúc dữ liệu 1, Trần Hạnh Nhi – Dương Anh
Đức, Trường ĐHKHTN – ĐHQG TP.HCM.

Phần mềm lập trình:




C-Free
Visual C++
…

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Nhắc nhở một số quy định


Đi học đúng giờ



Đeo thẻ SV



Không để chuông điện thoại reo trong giờ học



Không nghe điện thoại, nhắn tin trong giờ học



Không nói chuyện riêng, làm ồn khi nghe giảng





Mang đầy đủ tài liệu học tập của môn học (khi học LT và
TH): giáo trình, bài tập, tập chép bài (hoặc slide bài
giảng), usb để lưu bài tập
Phải làm bài tập ở nhà

 Nếu vi phạm: Nhắc nhở chung  Bị mời ra khỏi lớp 
5
Chươ ng 1: Tổ ng quan v ề C TDL và
Xóa tên khỏi môn học
GT
6

Chương 1
TỔ NG QUAN VỀ CẤ U TRÚC DỮ LIỆ U
VÀ GIẢ I THUẬ T
Nội dung
7





Khái niệm cấu trúc dữ liệu
Khái niệm giải thuật (thuật toán, thuật giải)
Mối liên hệ giữa cấu trúc dữ liệu và giải thuật

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Khái niệm dữ liệu
8



Tại sao sử dụng máy tính để sử lý dữ liệu?



Nhanh hơn, chính xác hơn
Giải quyết nhiều bài toán đòi hỏi khối lượng tính toán cực
lớn, hoặc những bài toán phức tạp với khối lượng dữ liệu
lớn

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Khái niệm dữ liệu
9



Trong tin học:




Dữ liệu để biểu diễn các thông tin cần thiết cho bài toán

Các dữ liệu máy tính:


Dữ liệu đầu vào, dữ liệu trung gian, dữ liệu đầu ra

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Cấu trúc dữ liệu là gì?
10

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Cấu trúc dữ liệu là gì?
11

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Cấu trúc dữ liệu là gì?
12



Khái niệm:




Cấu trúc dữ liệu (data structure) là một phương thức cụ thể
để lư u trữ và tổ chứ c dữ liệu trong máy tính để việc xử lý
hiệ u quả

Các kiểu cấu trúc dữ liệu:


Dữ liệu không cấu trúc (kiểu dữ liệu đơn hay còn gọi là
kiểu dữ liệu cơ sở)





Mỗi đối tượng dữ liệu là một phần tử đơn lẻ
Ví dụ: int, float, char,…

Dữ liệu có cấu trúc



Được cấu thành bởi các phần tử dữ liệu cơ sở
Ví dụ: Mảng, Chuỗi, Cấu trúc (struct), …
Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Kiểu dữ liệu cơ sở
13



Số nguyên

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Kiểu dữ liệu cơ sở
14



Số thực



Luận lý (đúng/sai)

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Kiểu dữ liệu có cấu trúc
15

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Kiểu dữ liệu có cấu trúc
16

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Kiểu dữ liệu có cấu trúc
17



Kiểu cấu trúc (struct)
 Ví dụ: Bảng thông tin sinh viên như sau:

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Khái niệm giải thuật
18

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Các đặc trưng của giải thuật
19











Có dữ liệu Đầu vào (Input)
Có dữ liệu kết quả Đầu ra (Output)
Tính chính xác (Precision): Các bước của giải thuật
được mô tả chính xác
Tính hữu hạn (Finiteness): Giải thuật phải đưa được
đầu ra sau một số bước hữu hạn với mọi đầu vào
Tính đơn trị (Uniqueness): Các kết quả trung gian của
từng bước thực hiện giải thuật được xác định một cách
đơn trị và chỉ phụ thuộc đầu vào và các kết quả của các
bước trước
Tính tổng quát (Generality): Giải thuật có thể áp dụng
để giải mọi bài toán có dạng đã cho

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Các cách biểu diễn giải thuật
20






Ngôn ngữ tự nhiên
Lưu đồ (Flow chart)
Mã giả (Pseudo code)
Ngôn ngữ lập trình

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Các ký hiệu lưu đồ
21

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Các ký hiệu mã giả
22








IF <điều kiện> THEN … ENDIF
IF <điều kiện> THEN … ELSE … ENDIF
WHILE <điều kiện> DO … ENDWHILE
DO … UNTIL <điều kiện>
DISPLAY …
RETURN …

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Ví dụ
23





Bài toán: Cho 3 số nguyên a, b, c. Mô tả giải thuật tìm
số lớn nhất trong 3 số đã cho
Phân tích
 Đầu vào: 3 số nguyên a, b, c
 Đầu ra: số lớn nhất trong 3 số

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Ví dụ
24



Dùng ngôn ngữ tự nhiên mô tả giải thuật tìm số lớn nhất
trong 3 số a, b, c
 Bước 1. Gán max = a;
 Bước 2. Nếu b > max thì gán max = b;
 Bước 3. Nếu c > max thì gán max = c;

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Ví dụ
25



Dùng mã giả mô tả giải thuật tìm số lớn nhất trong 3 số
a, b, c
max = a
IF b > max THEN
max = b
ENDIF
IF c > max THEN
max = c
ENDIF
DISPLAY max
Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Ví dụ
26



Dùng lưu đồ mô tả giải thuật tìm số lớn nhất trong 3 số
a, b, c

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Độ phức tạp của giải thuật
27





Một thuật toán hiệu quả
 Sử dụng tài nguyên thấp: bộ nhớ, thời gian sử dụng
CPU, …
Phương pháp đánh giá độ phức tạp của giải thuật
 Dựa trên thời gian để thực hiện giải thuật đến khi ra
được kết quả
 Dựa trên số phép toán để thực hiện giải thuật

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Tính thời gian thực hiện giải thuật
28



Hoàn toàn có thể đo bằng cách lập trình

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Tính số phép toán thực hiện giải
thuật
29





n – Kích thước đầu vào của dữ liệu
Mô tả độ phức tạp của thuật toán qua một hàm O(n)
Hai nguyên tắc đánh giá
 Nguyên tắc cộng
 Nguyên tắc nhân

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Tính số phép toán thực hiện giải
thuật
30

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Tính số phép toán thực hiện giải
thuật
31

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Mối liên hệ giữa CTDL và GT
32








Giải thuật = phép xử lý
Đối tượng của giải thuật chính là dữ liệu được tổ chức
thành các cấu trúc
CTDL & GT gắn chặt với nhau. Niklaus Wirth đã tổng
kết:
Cấu trúc dữ liệu + Giải thuật = Chương trình
Nếu thay đổi cấu trúc dữ liệu thì giải thuật cũng sẽ thay
đổi theo

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Mối liên hệ giữa CTDL và GT
33




Ví dụ quản lý danh bạ điện thoại
Dữ liệu gồm:
 Họ và tên
 Số điện thoại

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Mối liên hệ giữa CTDL và GT
34



Bài toán tìm số điện thoại theo họ tên:
 Nếu danh bạ không có tổ chức thì dẫn đến giải thuật là
tìm tuần tự từ đầu đến cuối
 Nếu danh bạ (họ và tên) tổ chức theo thứ tự a,b,c thì ta
có thể tìm kiếm nhanh hơn

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Hướng tiếp cận môn CTDL và GT
35



Tìm hiểu về mặt lý thuyết và chi tiết cài đặt các cấu
trúc dữ liệu và giải thuật
 Điểm mạnh: hiểu sâu về bản chất, có thể xây dựng
CTDL&GT cho những bài toán phức tạp
 Điểm yếu: khó hiểu, đòi hỏi sinh viên nắm vững cả lý
thuyết và công cụ lập trình

Chươ ng 1: Tổ ng quan v ề C TDL và
GT
Tổng kết
36







Cấu trúc dữ liệu là cách tổ chức các dữ liệu cơ bản
thành các cấu trúc như mảng, chuỗi, file, …
Giải thuật là tập hữu hạn có thứ tự các bước tác động
lên dữ liệu nào đó để sau một số hữu hạn lần thực hiện
sẽ cho ta kết quả
Việc lựa chọn cấu trúc dữ liệu và giải thuật cho bài
toán là rất quan trọng

Chươ ng 1: Tổ ng quan v ề C TDL và
GT

More Related Content

Viewers also liked

Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánduysu
 
Bai giang thuat toan tim kiem va sap xep
Bai giang thuat toan tim kiem va sap xepBai giang thuat toan tim kiem va sap xep
Bai giang thuat toan tim kiem va sap xeptran0phu
 
Slide 01
Slide 01Slide 01
Slide 01
son468
 
Gioi Thieu
Gioi ThieuGioi Thieu
Gioi Thieugiang
 
Ctdl C03
Ctdl C03Ctdl C03
Ctdl C03giang
 
Ctdl C07
Ctdl C07Ctdl C07
Ctdl C07giang
 
Phần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trìnhPhần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trìnhHuy Rùa
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánduysu
 
Bài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TIN
Bài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TINBài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TIN
Bài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TIN
MasterCode.vn
 
Knlvn 131209103120-phpapp02
Knlvn 131209103120-phpapp02Knlvn 131209103120-phpapp02
Knlvn 131209103120-phpapp02
Nguyễn Quân
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
MasterCode.vn
 
Co so du lieu phan tan
Co so du lieu phan tanCo so du lieu phan tan
Co so du lieu phan tan
Thao Vu
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
MasterCode.vn
 

Viewers also liked (15)

Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
 
Bai giang thuat toan tim kiem va sap xep
Bai giang thuat toan tim kiem va sap xepBai giang thuat toan tim kiem va sap xep
Bai giang thuat toan tim kiem va sap xep
 
Bai giang thiet_ke_mang
Bai giang thiet_ke_mangBai giang thiet_ke_mang
Bai giang thiet_ke_mang
 
Slide 01
Slide 01Slide 01
Slide 01
 
Dh Uml1
Dh Uml1Dh Uml1
Dh Uml1
 
Gioi Thieu
Gioi ThieuGioi Thieu
Gioi Thieu
 
Ctdl C03
Ctdl C03Ctdl C03
Ctdl C03
 
Ctdl C07
Ctdl C07Ctdl C07
Ctdl C07
 
Phần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trìnhPhần 1: Các khái niệm cơ bản về lập trình
Phần 1: Các khái niệm cơ bản về lập trình
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
 
Bài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TIN
Bài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TINBài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TIN
Bài 1 TỔNG QUAN VỀ CÔNG NGHỆ THÔNG TIN
 
Knlvn 131209103120-phpapp02
Knlvn 131209103120-phpapp02Knlvn 131209103120-phpapp02
Knlvn 131209103120-phpapp02
 
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPTBài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
Bài 1: Tổng quan về cấu trúc và giải thuật - Giáo trình FPT
 
Co so du lieu phan tan
Co so du lieu phan tanCo so du lieu phan tan
Co so du lieu phan tan
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 

Similar to Ctdl c1-tong quan

Bai 1 tong quan ve ctdl&amp;gt
Bai 1   tong quan ve ctdl&amp;gtBai 1   tong quan ve ctdl&amp;gt
Bai 1 tong quan ve ctdl&amp;gt
TrangThu251076
 
Ctdl 01 t_quan
Ctdl 01 t_quanCtdl 01 t_quan
Ctdl 01 t_quan
Lê Giang
 
CTDL&GT_01
CTDL&GT_01CTDL&GT_01
CTDL&GT_01
kikihoho
 
Ctdl va gt_hồ_sĩ_đàm
Ctdl va gt_hồ_sĩ_đàmCtdl va gt_hồ_sĩ_đàm
Ctdl va gt_hồ_sĩ_đàm
vinhduchanh
 
Chuong 1. tong quan
Chuong 1. tong quanChuong 1. tong quan
Chuong 1. tong quanVũ Nam
 
Các phương pháp thiết kế bộ điều khiển PID.docx
Các phương pháp thiết kế bộ điều khiển PID.docxCác phương pháp thiết kế bộ điều khiển PID.docx
Các phương pháp thiết kế bộ điều khiển PID.docx
hunhlhongthi
 
Kiểm tra 1 tiết môn CTDL
Kiểm tra 1 tiết môn CTDLKiểm tra 1 tiết môn CTDL
Kiểm tra 1 tiết môn CTDL
lam04dt
 
1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx
1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx
1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx
doanvanlamvb
 
Kichbandh bai2lop10 thongtinvadulieu_thao_hoa
Kichbandh bai2lop10 thongtinvadulieu_thao_hoaKichbandh bai2lop10 thongtinvadulieu_thao_hoa
Kichbandh bai2lop10 thongtinvadulieu_thao_hoatin_k36
 
Btth1_HuynhThiThuyLinh
Btth1_HuynhThiThuyLinhBtth1_HuynhThiThuyLinh
Btth1_HuynhThiThuyLinh
linhhuynhk37sptin
 
Đề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAYĐề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAY
Viết thuê trọn gói ZALO 0934573149
 
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOTĐề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
Dịch vụ viết bài trọn gói ZALO 0917193864
 
Chuong 4 mo hinh hoa du lieu
Chuong 4 mo hinh hoa du lieuChuong 4 mo hinh hoa du lieu
Chuong 4 mo hinh hoa du lieu
Nguyen Cuong
 
Kĩ thuật phân tích và thiết kế g
Kĩ thuật phân tích và thiết kế gKĩ thuật phân tích và thiết kế g
Kĩ thuật phân tích và thiết kế g
thiendthu2008
 
Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111
Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111
Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111
mait53606
 
Dotnet
DotnetDotnet
Dotnet
daicathu
 
[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf
[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf
[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf
NuioKila
 
Bài tập CTDL và GT 13
Bài tập CTDL và GT 13Bài tập CTDL và GT 13
Bài tập CTDL và GT 13
Hồ Lợi
 
Kbdh bai2c1lop10 thongtinvadulieu
Kbdh bai2c1lop10 thongtinvadulieuKbdh bai2c1lop10 thongtinvadulieu
Kbdh bai2c1lop10 thongtinvadulieu
Sunkute
 

Similar to Ctdl c1-tong quan (20)

Bai 1 tong quan ve ctdl&amp;gt
Bai 1   tong quan ve ctdl&amp;gtBai 1   tong quan ve ctdl&amp;gt
Bai 1 tong quan ve ctdl&amp;gt
 
Ctdl 01 t_quan
Ctdl 01 t_quanCtdl 01 t_quan
Ctdl 01 t_quan
 
CTDL&GT_01
CTDL&GT_01CTDL&GT_01
CTDL&GT_01
 
Thdc 06
Thdc 06Thdc 06
Thdc 06
 
Ctdl va gt_hồ_sĩ_đàm
Ctdl va gt_hồ_sĩ_đàmCtdl va gt_hồ_sĩ_đàm
Ctdl va gt_hồ_sĩ_đàm
 
Chuong 1. tong quan
Chuong 1. tong quanChuong 1. tong quan
Chuong 1. tong quan
 
Các phương pháp thiết kế bộ điều khiển PID.docx
Các phương pháp thiết kế bộ điều khiển PID.docxCác phương pháp thiết kế bộ điều khiển PID.docx
Các phương pháp thiết kế bộ điều khiển PID.docx
 
Kiểm tra 1 tiết môn CTDL
Kiểm tra 1 tiết môn CTDLKiểm tra 1 tiết môn CTDL
Kiểm tra 1 tiết môn CTDL
 
1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx
1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx
1. Đề thi số 01 - Giữa HK2 - Toán 8 - Cánh diều.docx
 
Kichbandh bai2lop10 thongtinvadulieu_thao_hoa
Kichbandh bai2lop10 thongtinvadulieu_thao_hoaKichbandh bai2lop10 thongtinvadulieu_thao_hoa
Kichbandh bai2lop10 thongtinvadulieu_thao_hoa
 
Btth1_HuynhThiThuyLinh
Btth1_HuynhThiThuyLinhBtth1_HuynhThiThuyLinh
Btth1_HuynhThiThuyLinh
 
Đề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAYĐề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAY
 
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOTĐề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
 
Chuong 4 mo hinh hoa du lieu
Chuong 4 mo hinh hoa du lieuChuong 4 mo hinh hoa du lieu
Chuong 4 mo hinh hoa du lieu
 
Kĩ thuật phân tích và thiết kế g
Kĩ thuật phân tích và thiết kế gKĩ thuật phân tích và thiết kế g
Kĩ thuật phân tích và thiết kế g
 
Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111
Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111
Đề-cương-giua-ki-2-tin-11 (1).docx tin 111111
 
Dotnet
DotnetDotnet
Dotnet
 
[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf
[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf
[123doc] - bai-giang-nhap-mon-lap-trinh-khoa-hoc-du-lieu.pdf
 
Bài tập CTDL và GT 13
Bài tập CTDL và GT 13Bài tập CTDL và GT 13
Bài tập CTDL và GT 13
 
Kbdh bai2c1lop10 thongtinvadulieu
Kbdh bai2c1lop10 thongtinvadulieuKbdh bai2c1lop10 thongtinvadulieu
Kbdh bai2c1lop10 thongtinvadulieu
 

Recently uploaded

Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
nhanviet247
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
Điện Lạnh Bách Khoa Hà Nội
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
Qucbo964093
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
https://www.facebook.com/garmentspace
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
nvlinhchi1612
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
Nguyen Thanh Tu Collection
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTUChuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
nvlinhchi1612
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
duykhoacao
 
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docxHỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
giangnguyen312210254
 

Recently uploaded (12)

Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
ÔN-TẬP-CHƯƠNG1 Lịch sử đảng Việt Nam chủ đề 2
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
 
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTUChuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
Chuong 2 Ngu am hoc - Dẫn luận ngôn ngữ - FTU
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
 
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docxHỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
HỆ THỐNG 432 CÂU HỎI TRẮC NGHIỆM MÔN TTHCM.docx
 

Ctdl c1-tong quan

  • 1. C Ấ U TRÚC DỮ LIỆ U VÀ GIẢ I THU Ậ T DATA STRUCTURE AND ALGORITHMS GV: Phạm Tuấn Hiệp Email: hiep0109@yahoo.com
  • 2. Nội dung môn học 2  Chương 1: Tổ ng quan về CTDL và GT  Chương 2.1: Các giả i thuậ t Tìm kiế m  Chương 2.2: Các giả i thuậ t Sắ p xế p  Chương 3.1: Danh sách liên kế t  Chương 3.2: Ngă n xế p - Hàng đợ i  Chương 4: Cây Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 3. Đánh giá kết quả 3 Kiểm tra giữa kỳ: trắc nghiệm 1.  Điểm Kiểm tra giữa kỳ < 4  không được thi kết thúc môn  học lại 2. 3. Thi kết thúc môn: trắc nghiệm Kiểm tra thường kỳ: thực hành Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 4. Tài liệu học tập 4  Tham khảo:   Giáo trình Cấu trúc dữ liệu 1, Trần Hạnh Nhi – Dương Anh Đức, Trường ĐHKHTN – ĐHQG TP.HCM. Phần mềm lập trình:    C-Free Visual C++ … Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 5. Nhắc nhở một số quy định  Đi học đúng giờ  Đeo thẻ SV  Không để chuông điện thoại reo trong giờ học  Không nghe điện thoại, nhắn tin trong giờ học  Không nói chuyện riêng, làm ồn khi nghe giảng   Mang đầy đủ tài liệu học tập của môn học (khi học LT và TH): giáo trình, bài tập, tập chép bài (hoặc slide bài giảng), usb để lưu bài tập Phải làm bài tập ở nhà  Nếu vi phạm: Nhắc nhở chung  Bị mời ra khỏi lớp  5 Chươ ng 1: Tổ ng quan v ề C TDL và Xóa tên khỏi môn học GT
  • 6. 6 Chương 1 TỔ NG QUAN VỀ CẤ U TRÚC DỮ LIỆ U VÀ GIẢ I THUẬ T
  • 7. Nội dung 7    Khái niệm cấu trúc dữ liệu Khái niệm giải thuật (thuật toán, thuật giải) Mối liên hệ giữa cấu trúc dữ liệu và giải thuật Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 8. Khái niệm dữ liệu 8  Tại sao sử dụng máy tính để sử lý dữ liệu?   Nhanh hơn, chính xác hơn Giải quyết nhiều bài toán đòi hỏi khối lượng tính toán cực lớn, hoặc những bài toán phức tạp với khối lượng dữ liệu lớn Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 9. Khái niệm dữ liệu 9  Trong tin học:   Dữ liệu để biểu diễn các thông tin cần thiết cho bài toán Các dữ liệu máy tính:  Dữ liệu đầu vào, dữ liệu trung gian, dữ liệu đầu ra Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 10. Cấu trúc dữ liệu là gì? 10 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 11. Cấu trúc dữ liệu là gì? 11 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 12. Cấu trúc dữ liệu là gì? 12  Khái niệm:   Cấu trúc dữ liệu (data structure) là một phương thức cụ thể để lư u trữ và tổ chứ c dữ liệu trong máy tính để việc xử lý hiệ u quả Các kiểu cấu trúc dữ liệu:  Dữ liệu không cấu trúc (kiểu dữ liệu đơn hay còn gọi là kiểu dữ liệu cơ sở)    Mỗi đối tượng dữ liệu là một phần tử đơn lẻ Ví dụ: int, float, char,… Dữ liệu có cấu trúc   Được cấu thành bởi các phần tử dữ liệu cơ sở Ví dụ: Mảng, Chuỗi, Cấu trúc (struct), … Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 13. Kiểu dữ liệu cơ sở 13  Số nguyên Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 14. Kiểu dữ liệu cơ sở 14  Số thực  Luận lý (đúng/sai) Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 15. Kiểu dữ liệu có cấu trúc 15 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 16. Kiểu dữ liệu có cấu trúc 16 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 17. Kiểu dữ liệu có cấu trúc 17  Kiểu cấu trúc (struct)  Ví dụ: Bảng thông tin sinh viên như sau: Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 18. Khái niệm giải thuật 18 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 19. Các đặc trưng của giải thuật 19       Có dữ liệu Đầu vào (Input) Có dữ liệu kết quả Đầu ra (Output) Tính chính xác (Precision): Các bước của giải thuật được mô tả chính xác Tính hữu hạn (Finiteness): Giải thuật phải đưa được đầu ra sau một số bước hữu hạn với mọi đầu vào Tính đơn trị (Uniqueness): Các kết quả trung gian của từng bước thực hiện giải thuật được xác định một cách đơn trị và chỉ phụ thuộc đầu vào và các kết quả của các bước trước Tính tổng quát (Generality): Giải thuật có thể áp dụng để giải mọi bài toán có dạng đã cho Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 20. Các cách biểu diễn giải thuật 20     Ngôn ngữ tự nhiên Lưu đồ (Flow chart) Mã giả (Pseudo code) Ngôn ngữ lập trình Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 21. Các ký hiệu lưu đồ 21 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 22. Các ký hiệu mã giả 22       IF <điều kiện> THEN … ENDIF IF <điều kiện> THEN … ELSE … ENDIF WHILE <điều kiện> DO … ENDWHILE DO … UNTIL <điều kiện> DISPLAY … RETURN … Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 23. Ví dụ 23   Bài toán: Cho 3 số nguyên a, b, c. Mô tả giải thuật tìm số lớn nhất trong 3 số đã cho Phân tích  Đầu vào: 3 số nguyên a, b, c  Đầu ra: số lớn nhất trong 3 số Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 24. Ví dụ 24  Dùng ngôn ngữ tự nhiên mô tả giải thuật tìm số lớn nhất trong 3 số a, b, c  Bước 1. Gán max = a;  Bước 2. Nếu b > max thì gán max = b;  Bước 3. Nếu c > max thì gán max = c; Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 25. Ví dụ 25  Dùng mã giả mô tả giải thuật tìm số lớn nhất trong 3 số a, b, c max = a IF b > max THEN max = b ENDIF IF c > max THEN max = c ENDIF DISPLAY max Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 26. Ví dụ 26  Dùng lưu đồ mô tả giải thuật tìm số lớn nhất trong 3 số a, b, c Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 27. Độ phức tạp của giải thuật 27   Một thuật toán hiệu quả  Sử dụng tài nguyên thấp: bộ nhớ, thời gian sử dụng CPU, … Phương pháp đánh giá độ phức tạp của giải thuật  Dựa trên thời gian để thực hiện giải thuật đến khi ra được kết quả  Dựa trên số phép toán để thực hiện giải thuật Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 28. Tính thời gian thực hiện giải thuật 28  Hoàn toàn có thể đo bằng cách lập trình Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 29. Tính số phép toán thực hiện giải thuật 29    n – Kích thước đầu vào của dữ liệu Mô tả độ phức tạp của thuật toán qua một hàm O(n) Hai nguyên tắc đánh giá  Nguyên tắc cộng  Nguyên tắc nhân Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 30. Tính số phép toán thực hiện giải thuật 30 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 31. Tính số phép toán thực hiện giải thuật 31 Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 32. Mối liên hệ giữa CTDL và GT 32     Giải thuật = phép xử lý Đối tượng của giải thuật chính là dữ liệu được tổ chức thành các cấu trúc CTDL & GT gắn chặt với nhau. Niklaus Wirth đã tổng kết: Cấu trúc dữ liệu + Giải thuật = Chương trình Nếu thay đổi cấu trúc dữ liệu thì giải thuật cũng sẽ thay đổi theo Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 33. Mối liên hệ giữa CTDL và GT 33   Ví dụ quản lý danh bạ điện thoại Dữ liệu gồm:  Họ và tên  Số điện thoại Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 34. Mối liên hệ giữa CTDL và GT 34  Bài toán tìm số điện thoại theo họ tên:  Nếu danh bạ không có tổ chức thì dẫn đến giải thuật là tìm tuần tự từ đầu đến cuối  Nếu danh bạ (họ và tên) tổ chức theo thứ tự a,b,c thì ta có thể tìm kiếm nhanh hơn Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 35. Hướng tiếp cận môn CTDL và GT 35  Tìm hiểu về mặt lý thuyết và chi tiết cài đặt các cấu trúc dữ liệu và giải thuật  Điểm mạnh: hiểu sâu về bản chất, có thể xây dựng CTDL&GT cho những bài toán phức tạp  Điểm yếu: khó hiểu, đòi hỏi sinh viên nắm vững cả lý thuyết và công cụ lập trình Chươ ng 1: Tổ ng quan v ề C TDL và GT
  • 36. Tổng kết 36    Cấu trúc dữ liệu là cách tổ chức các dữ liệu cơ bản thành các cấu trúc như mảng, chuỗi, file, … Giải thuật là tập hữu hạn có thứ tự các bước tác động lên dữ liệu nào đó để sau một số hữu hạn lần thực hiện sẽ cho ta kết quả Việc lựa chọn cấu trúc dữ liệu và giải thuật cho bài toán là rất quan trọng Chươ ng 1: Tổ ng quan v ề C TDL và GT

Editor's Notes