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