Thông tin về môn học
ThThờời lưi lượợngng Thời lượng • Số tiết lý thuyết : 45
• Số tiết thực hành : 30
Cấu Trúc Dữ Liệu (Data Structures)
ĐiĐiềều kiu kiệệnn Điều kiện • Nắm vững ngôn ngữ C
Phan Mạnh Thường
• Các khái niệm lập trình cơ bản
c tiêu MMụục tiêu Mục tiêu Cung cấp các kiến thức cơ bản về
• Các cấu trúc lưu trữ dữ liệu
LOGO
11/03/2010
3/11/2010
www.lhu.edu.vn
• Các thuật toán xử lý
Thông tin về môn học
Nội dung môn học
Chương 1: Gi Chương
1: Giớới thi
ng quan i thiệệu tu tổổng quan
u tham khảảoo i liệệu tham kh TTàài li Tài liệu tham khảo
Chương 2: C2: Cáác cc cấấu tru trúúc dc dữữ liliệệu cơ b Chương
u cơ bảảnn
1. Trần Hạnh Nhi và Dương Anh Đức, Giáo Trình Cấu Trúc Dữ Liệu, CĐ Công
Nghệ Thông Tin TP. HCM, 2003.
2
Chương 3: C3: Cấấu tru trúúc lưu tr Chương
c lưu trữữ ngongoààii
2. Chủ biên: Hoàng Kiếm, Giáo trình cấu trúc dữ liệu, ĐH KHTN, 1996.
3. Niclaus Wirth, bản dịch Algorithms+Data structures, NXB Thống Kê, 1981.
3
4
Chương 04: C04: Cấấu tru trúúc dc dữữ liliệệu đu độộngng Chương
4. Đỗ Xuân Lôi, Cấu trúc dữ liệu và giải thuật, NXB Khoa học Kỹ Thuật, 1996.
ng băm Chương 05: B05: Bảảng băm Chương
5. Nguyễn Quốc Cường và Hoàng Đức Hải, Cấu trúc dữ liệu + Giải Thuật =
Chương Trình, NXB Giáo Dục, 1995.
5
c cây Chương 06: C06: Cấấu tru trúúc cây Chương
6. Đinh Mạnh Tường, Cấu trúc dữ liệu và giải thuật, NXB Giáo dục, 1998
7. Nguyễn Trung Trực, Cấu trúc dữ liệu, ĐH Kỹ thuật, 1995
3/11/2010
3/11/2010
www.lhu.edu.vn
www.lhu.edu.vn
5
Thông tin về môn học
(cid:67)(cid:104)(cid:432)(cid:417)(cid:110)(cid:103) (cid:49)
(cid:71)(cid:105)(cid:7899)(cid:105)(cid:32)(cid:116)(cid:104)(cid:105)(cid:7879)(cid:117)(cid:32)(cid:116)(cid:7893)(cid:110)(cid:103)(cid:32)(cid:113)(cid:117)(cid:97)(cid:110) (cid:71)(cid:105)(cid:7899)(cid:105)(cid:32)(cid:116)(cid:104)(cid:105)(cid:7879)(cid:117)(cid:32)(cid:116)(cid:7893)(cid:110)(cid:103)(cid:32)(cid:113)(cid:117)(cid:97)(cid:110)
nh giáá ĐĐáánh gi Đánh giá
i dung NNộội dung Nội dung Gồm 3 cột điểm:
• Điểm chuyên cần (10%): điểm danh buổi học 1 Vai trò của CTDL • Điểm kiểm tra (30%): bài tập, seminar 2 Tiêu chuẩn đánh giá • Điểm thi (60%): làm bài thi giấy 3 Một vòng bộ nhớ
3/11/2010
www.lhu.edu.vn
4 Trừu tượng hóa dữ liệu
Chương 1 Giới thiệu tổng quan
Chương 1 Giới thiệu tổng quan
a CTDL Vai trò củủa CTDL Vai trò c a CTDL Vai trò củủa CTDL Vai trò c
(cid:61607) Khi giải quyết một bài toán thực tế bằng máy
(cid:61607) Một CTDL được đánh giá theo các tiêu chuẩn:
tính cần quan tâm đến: (cid:61607) Tổ chức lưu trữ dữ liệu (CTDL) (cid:61607) Phương pháp xử lý dữ liệu (Thuật toán)
(cid:61607) Phản ánh đúng dữ liệu thực tế (cid:61607) Phù hợp với các thao tác xử lý trên đó (cid:61607) Tiết kiệm tài nguyên hệ thống Niclaus Wirth
CTDL + Thuật toán = Chương trình
3/11/2010
3/11/2010
www.lhu.edu.vn
www.lhu.edu.vn
Chương 1 Giới thiệu tổng quan
Chương 1 Giới thiệu tổng quan
MMộột vòng quanh b t vòng quanh bộộ nhnhớớ MMộột vòng quanh b t vòng quanh bộộ nhnhớớ
(cid:61607) Đơn vị lưu trữ trong bộ nhớ là Byte (cid:61607) Bộ nhớ chính gồm nhiều byte (ô nhớ), mỗi ô
được đánh địa chỉ gọi là địa chỉ bộ nhớ (Memory Address)
Kiểu số nguyên 2 bytes (int)
(cid:61607) Mọi dữ liệu trên máy tính đều ở dạng nhị phân (cid:61607) Bộ nhớ là nơi lưu trữ dữ liệu và các lệnh xử lý, bộ nhớ gồm: (cid:61607) RAM (cid:61607) Cache memory (cid:61607) Persistent storage
3/11/2010
3/11/2010
www.lhu.edu.vn
www.lhu.edu.vn
Tốc độ truy xuất: Cache>>RAM>> Persistent storage
Chương 1 Giới thiệu tổng quan
Chương 1 Giới thiệu tổng quan
TrTrừừu tưu tượợng hng hóóa da dữữ liliệệuu TrTrừừu tưu tượợng hng hóóa da dữữ liliệệuu
(cid:61607) Dữ liệu trong thực tế rất đa dạng (cid:61607) Trừu tượng hóa dữ liệu giúp ánh xạ một nhóm
Ví du:
(cid:61607) Giả sử có kiểu dữ liệu mẫu tự = với
byte thành một kiểu dữ liệu (Data Type)
(cid:61607) Vc = { a-z,A-Z} (cid:61607) Oc = { lấy mã ASCII của ký tự, biến đổi ký tự thường
(cid:61607) Kiểu dữ liệu T được xác định bởi một bộ
thành ký tự hoa…}
(cid:61607) Giả sử có kiểu dữ liệu số nguyên = với
trong đó : (cid:61607) V (Values): tập các giá trị hợp lệ mà một đối tượng
3/11/2010
3/11/2010
www.lhu.edu.vn
www.lhu.edu.vn
kiểu T có thể lưu trữ (cid:61607) O (Operations): tập các thao tác xử lý có thể thi hành (cid:61607) Vi = { -32768..32767} (cid:61607) Oi = { +, -, *, /, %} trên đối tượng kiểu T
Chương 1 Giới thiệu tổng quan
Chương 1 Giới thiệu tổng quan
TrTrừừu tưu tượợng hng hóóa da dữữ liliệệuu TrTrừừu tưu tượợng hng hóóa da dữữ liliệệuu
(cid:61607) Các thuộc tính của 1 kiểu dữ liệu bao gồm:
Thông thường, các kiểu dữ liệu cơ bản bao gồm :
3/11/2010
3/11/2010
www.lhu.edu.vn
www.lhu.edu.vn
(cid:61607) Kiểu có thứ tự rời rạc: số nguyên, ký tự, logic, liệt kê, miền con … (cid:61607) Kiểu không rời rạc: số thực (cid:61607) Tên kiểu dữ liệu (cid:61607) Miền giá trị (cid:61607) Kích thước lưu trữ (cid:61607) Tập các toán tử tác động lên kiểu dữ liệu
Chương 1 Giới thiệu tổng quan
TrTrừừu tưu tượợng hng hóóa da dữữ liliệệuu
Các kiểu dữ liệu cơ bản trong ngôn ngữ C
Ghi chú
Tên kiểu
Kthước
Miền giá trị
Char
01 byte
-128 đến 127
Có thể dùng như số nguyên 1 byte có dấu hoặc kiểu ký tự
Unsign char
01 byte
0 đến 255
Số nguyên 1 byte không dấu
Int
02 byte
-32738 đến 32767
Số nguyên 2 byte
Unsign int
02 byte
Có thể gọi tắt là unsign
Long
04 byte
Unsign long
04 byte
0 đến 65535 -232 đến 231 -1 0 đến 232-1
Float
04 byte
3.4E-38 (cid:61628) 3.4E38
Giới hạn chỉ trị tuyệt đối.Các giá trị <3.4E-38 được coi = 0. Tuy nhiên kiểu float chỉ có 7 chữ số có nghĩa.
Double
08 byte
1.7E-308 (cid:61628) 1.7E308
Long double
10 byte
3.4E-4932(cid:61628) 1.1E4932
3/11/2010
www.lhu.edu.vn