TRƯỜNG TRUNG CẤP NGHỀ TỔNG HỢP HÀ NỘI
GIÁO TRÌNH
MÔN HỌC: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
NGHỀ: CÔNG NGHỆ THÔNG TIN
TRÌNH ĐỘ: TRUNG CẤP NGHỀ
( Ban hành kèm theo Quyết định số: /QĐ-TCNTH ngày tháng năm 2025
của Hiệu trưởng trường TCN Tổng hợp Hà Nội)
Hà Nội, năm 2025
TUYÊN BỐ BẢN QUYỀN:
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin thể
được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo
tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh
doanh thiếu lành mạnh sẽ bị nghiêm cấm.
1
LỜI GIỚI THIỆU
Trong những năm qua, dạy nghề đã có những bước tiến vượt bậc cả về số
lượng chất lượng, nhằm thực hiện nhiệm vụ đào tạo nguồn nhân lực kỹ thuật
trực tiếp đáp ứng nhu cầu xã hội. Cùng với sự phát triển của khoa học công nghệ
trên thế giới, lĩnh vực Công nghệ thông tin Việt Nam nói riêng đã những
bước phát triển đáng kể.
Chương trình khung quốc gia nghề Công nghệ thông tin đã được xây
dựng trên sở phân tích nghề, phần kỹ thuật nghề được kết cấu theo các
đun. Để tạo điều kiện thuận lợi cho các cơ sở dạy nghề trong quá trình thực hiện,
việc biên soạn giáo trình kỹ thuật nghề theo các môđun đào tạo nghề là cấp thiết
hiện nay.
Môn học 13: Cấu trúc Dữ liệu Giải thuật đun đào tạo nghề
được biên soạn theo hình thức tích hợp thuyết thực hành. Trong quá trình
thực hiện, nhóm biên soạn đã tham khảo nhiều tài liệu trong ngoài nước, kết
hợp với kinh nghiệm trong thực tế.
Mặc rất nhiều cố gắng, nhưng không tránh khỏi những sai sót, rất
mong nhận được sự đóng góp ý kiến của độc giả để giáo trình được hoàn thiện
hơn.
Xin chân thành cảm ơn!
Hà Nội, ngày ...... tháng ...... năm 2025
Tham gia biên soạn
1. Lê Bá Thạnh.
2
3
MỤC LỤC
TUYÊN BỐ BẢN QUYỀN:................................................................................1
LỜI GIỚI THIỆU...............................................................................................3
MỤC LỤC............................................................................................................5
CHƯƠNG 1: PHÂN TÍCH VÀ THIẾT KẾ GIẢI THUẬT............................9
1. Mở đầu..........................................................................................................9
2. Thiết kế giải thuật......................................................................................10
2.1. Dạng lưu đồ (sơ đồ khối )......................................................................11
2.2. Dạng ngôn ngữ tự nhiên (Ngôn ngữ liệt kê từng bước).........................12
2.3. Ngôn ngữ lập trình.................................................................................13
3. Phân tích giải thuật....................................................................................15
3.1. Phân tích tính đúng đắn..........................................................................15
3.2. Phân tích tính đơn giản..........................................................................15
4. Một số giải thuật cơ bản............................................................................15
4.1. Hoán vị hai phần tử................................................................................15
4.2. Tìm số lớn nhất, nhỏ nhất......................................................................17
4.3. Đệ quy....................................................................................................20
4.4. Chia để trị...............................................................................................20
CHƯƠNG 2: CÁC KIỂU DỮ LIỆU CƠ SỞ..................................................23
1. Các kiểu dữ liệu cơ bản..............................................................................23
1.1. Kiểu số...................................................................................................23
1.2. Kiểu kí tự, chuỗi.....................................................................................24
1.3. Kiểu logic...............................................................................................24
2. Kiểu dữ liệu có cấu trúc.............................................................................24
2.1. Kiểu bản ghi...........................................................................................24
2.2. Kiểu con trỏ............................................................................................25
3. Kiểu tập hợp...............................................................................................26
3.1. Khái niệm...............................................................................................26
3.2. Các phép xử lý kiểu dữ liệu tập hợp......................................................26
3.3. Cài đặt tập hợp.......................................................................................27
CHƯƠNG 3: MẢNG, DANH SÁCH CÁC KIỂU DỮ LIỆU TRỪU
TƯỢNG..............................................................................................................33
1. Mảng............................................................................................................33
4