37
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT TS. Đặng Xuân Thọ Trường Đại học Sư phạm Hà Nội

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

  • Upload
    others

  • View
    7

  • Download
    1

Embed Size (px)

Citation preview

Page 1: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

TS. Đặng Xuân Thọ

Trường Đại học Sư phạm Hà Nội

Page 2: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Support

• Full name: TS. Đặng Xuân Thọ

• Mobile: 091-2629-383

• Email: [email protected]

• Website: http://fit.hnue.edu.vn/~thodx/

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

2

Page 3: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Cấu trúc dữ liệu và giải thuật

GIỚI THIỆU 1

THIẾT KẾ VÀ PHÂN TÍCH GIẢI THUẬT 2

ĐỆ QUY VÀ GIẢI THUẬT ĐỆ QUY 3

DANH SÁCH MÓC NỐI 4

STACK VÀ QUEUE 5

CẤU TRÚC DỮ LIỆU KIỂU CÂY 6

CÁC THUẬT TOÁN SẮP XẾP 7

CÁC THUẬT TOÁN TÌM KIẾM 8

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

3

Page 4: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 1. Giới thiệu

• Cấu trúc dữ liệu và giải thuật

• Khái niệm bài toán

• Khái niệm về giải thuật (thuật toán, thuật giải).

• Mối quan hệ giữa cấu trúc dữ liệu và giải thuật.

• Cấu trúc dữ liệu và các vấn đề liên quan

• Khái niệm về cấu trúc dữ liệu.

• Định nghĩa kiểu dữ liệu.

• Các kiểu dữ liệu. Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

4

Page 5: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 2. Thiết kế và phân tích giải thuật

• Thiết kế giải thuật

• Chia để trị.

• Phân tích giải thuật

• Phân tích tính đúng đắn của giải thuật.

• Phân tích tính đơn giản.

• Đánh giá thời gian thực hiện của giải thuật

• Thời gian thực hiện của giải thuật.

• Một số quy tắc cơ bản Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

5

Page 6: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 3. Đệ quy và giải thuật đệ quy

• Khái niệm đệ quy

• Giải thuật đệ quy và thủ tục đệ quy

• Ứng dụng

• Thủ tục không đệ quy (khử đệ quy)

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

6

Page 7: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 4. Danh sách móc nối

• Danh sách móc nối đơn • Khái niệm

• Cài đặt trên cơ sở con trỏ

• Ứng dụng

• Danh sách móc nối mở rộng • Danh sách với nút đầu

• Danh sách móc nối liên kết vòng

• Danh sách móc nối liên kết kép

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

7

Page 8: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 5. Stack và Queue

• Stack • Khái niệm

• Cài đặt Stack

• Ứng dụng

• Queue • Khái niệm

• Cài đặt Queue

• Ứng dụng

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

8

Page 9: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 6. Cấu trúc dữ liệu kiểu Cây

• Khái niệm về Cây

• Cây nhị phân

• Khái niệm

• Biểu diễn cây nhị phân

• Phép duyệt cây (PreOrder, InOrder, PosOrder)

• Cây biểu diễn biểu thức số học

• Cây nhị phân nối vòng

• Cây tổng quát

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

9

Page 10: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 7. Các thuật toán sắp xếp

• Các phương pháp sắp xếp đơn giản

• Phương pháp lựa chọn trực tiếp

• Phương pháp nổi bọt

• Phương pháp chèn trực tiếp

• Các phương pháp sắp xếp phức tạp

• Phương pháp sắp xếp nhanh (Quick-Sort)

• Phương pháp sắp xếp vun đống (Heap-Sort)

• Phương pháp sắp xếp hòa nhập (Merge-Sort) Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

10

Page 11: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Chương 8. Các thuật toán tìm kiếm

• Tìm kiếm tuần tự có phần tử đứng canh

• Tìm kiếm nhị phân

• Cây tìm kiếm nhị phân

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

11

Page 12: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

CHƯƠNG 1. MỞ ĐẦU

Page 13: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Mục tiêu

• Hiểu khái niệm giải thuật (thuật toán, thuật giải)

• Khái niệm

• Đặc trưng

• Minh họa

• Mối liên hệ giữa cấu trúc dữ liệu và giải thuật

• Hiểu khái niệm cấu trúc dữ liệu

• Khái niệm

• Định nghĩa kiểu dữ liệu

• Một số kiểu dữ liệu

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

13

Page 14: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Khái niệm bài toán

• Bài toán?

• Trong phạm vi Tin học

• In dòng chữ ra màn hình

• Giải phương trình bậc 2

• Quản lý hồ sơ cán bộ

• …

• Dùng máy tính giải bài toán, 2 yếu tố quan tâm

• INPUT

• OUTPUT

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

14

Page 15: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Phát biểu bài toán

• Ví dụ 1: Bài toán tìm ước chung lớn nhất?

• Ví dụ 2: Bài toán tìm nghiệm của đa thức 1 biến?

• Ví dụ 3: Bài toán kiểm tra tính nguyên tố?

• Ví dụ 4: Bài toán quản lý hồ sơ cán bộ?

• Ví dụ 5: Bài toán sắp xếp?

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

15

INPUT

OUTPUT

BLACK BOX

Page 16: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Khái niệm giải thuật

• Giải thuật hay còn gọi là thuật toán, thuật giải.

• Định nghĩa: Là tập hữu hạn có thứ tự các bước tác động trên một đối tượng dữ liệu Input để sau một số hữu hạn lần thực hiện sẽ cho ta kết quả Output.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

16

Page 17: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Ví dụ về giải thuật

• 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:

• Input: 3 số nguyên a, b, c.

• Output: số lớn nhất trong 3 số.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

17

Page 18: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Ví dụ về giải thuật

• 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.

• Thuật toán: • 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;

• Tư tưởng của thuật toán là duyệt lần lượt giá trị của từng số và giữ lại giá trị lớn nhất vào biến max.

• Kết thúc thuật toán max cho số nguyên lớn nhất trong 3 số đã cho.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

18

Page 19: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Bước 1: Gán max=a

Bước 2: nếu max<b, gắn max=b

Bước 3: nếu max<c, gắn max=c

Bước 4: Output: max

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

19

Max =a ;

If (max<b) max = b;

If (max<c) max = c;

Printf (so lon nhat la:, max);

return

Page 20: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Ví dụ về giải thuật

• 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.

• Theo dõi quá trình thực hiện của thuật toán với giá trị cụ thể của a, b, c.

• a := 1;

• b := 5;

• c := 3;

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

20

Page 21: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Ví dụ về giải thuật

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

21

a = 1 b = 5 c = 3

Bước 1. Gán giá trị của a vào biến max max = 1

Bước 2. Do b > max (5 > 1) nên max gán bằng b max = 5

Bước 3. Do c < max (3 < 5) nên ko thực hiện gán max = 5

Page 22: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Ví dụ về giải thuật

• Một vài nhận xét:

• Giải thuật nhận đầu vào là 3 số a, b, c và đưa kết quả ở đầu ra là Max.

• Các bước của giải thuật được mô tả chính xác.

• Giải thuật kết thúc sau 3 bước và đưa ra lời giải của bài toán, vì vậy giải thuật là hữu hạn

• Nếu đầu vào là đã xác định, kết quả tại mỗi bước của giải thuật được xác định duy nhất.

• Giải thuật luôn đưa ra giá trị của số lớn nhất trong 3 số bất kì, như vậy giải thuật có tính tổng quát.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

22

Page 23: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Các đặc trưng của giải thuật

• Đầu vào (Input): Giải thuật nhận dữ liệu vào từ một tập nào đó.

• Đầu ra (Output): Với một tập các dữ liệu đầu vào, giải thuật đưa ra các dữ liệu tương ứng với lời giải của bài toán.

• Chính xác (Precision): Các bước của giải thuật được mô tả chính xác.

• Hữu hạn (Finiteness): Giải thuật phải đưa được đầu ra sau một số hữu hạn bước với mọi đầu vào.

• Đơ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ổ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.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

23

Page 24: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

i=1

Do

i=i*i

While (i==1)

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

24

i = 1;

s = 1;

While (s > 0)

s := s + i;

EndWhile

Page 25: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Biểu diễn thuật toán

• Có nhiều phương pháp biểu diễn thuật toán.

• Có thể biểu diễn bằng liệt kê các bước.

• Có thể biểu diễn bằng sơ đồ khối.

• Có thể mô tả giải thuật dùng giả mã

• Một chương trình là sự biểu diễn của một thuật toán trong ngôn ngữ lập trình đã chọn.

• Thông thường các trình bày các thuật toán bởi các thủ tục và hàm trong ngôn ngữ tựa Pascal.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

25

Page 26: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Biểu diễn thuật toán

Bước 1: đứng dậy và gán chính mình là số 1

Bước 2: cặp đôi với một người đang đứng;

cộng số của hai bạn với nhau;

lấy tổng đó như số của bạn

Bước 3: Một trong hai người ngồi xuống;

người còn lại quay trở lại bước 2

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

26

Page 27: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Biểu diễn thuật toán bằng 3 cách?

• Bài toán 1: 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?

• Bài toán 2: Tìm ước chung lớn nhất của hai số tự nhiên?

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

27

Page 28: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

MỐI LIÊN HỆ GIỮA CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

Page 29: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Mối liên hệ giữa CTDL và Giải thuật

• Giải thuật chính là 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 ta thay đổi cấu trúc dữ liệu thì giải thuật cũng sẽ thay đổi theo.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

29

Page 30: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Mối liên hệ giữa CTDL và Giải thuật

• Ví dụ: Danh bạ điện thoại

• Họ và tên

• Số điện thoại

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

30

Page 31: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Mối liên hệ giữa CTDL và Giải thuật

Họ và tên SĐT

Nguyễn Văn D 098123456

Vũ Thị B 091557799

Trần Xuân A 090333999

Quách Thái C 093886868

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

31

• Ví dụ: Danh bạ điện thoại

• Nếu danh bạ không có tổ chức gì cả thì dẫn đến giải thuật là tìm tuần tự từ đầu đến cuối (Cho họ tên và tìm số điện thoại)

Page 32: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Mối liên hệ giữa CTDL và Giải thuật

Họ và tên SĐT

Trần Xuân A 090333999

Vũ Thị B 091557799

Quách Thái C 093886868

Nguyễn Văn D 098123456

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

32

• Ví dụ: Danh bạ điện thoạ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 theo giải thuật tìm kiếm nhị phân.

Page 33: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Mối liên hệ giữa CTDL và Giải thuật

Họ và tên SĐT

Trần Xuân A 098123456

Vũ Thị A 091662288

Quách Thái A 090333999

Nguyễn Văn A 093886668

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

33

• Ví dụ: Danh bạ điện thoại

• Nếu danh bạ vừa xếp thứ tự vừa có một bảng mục lục • A - Trang 10

• B - Trang 40

• C - Trang 100

• Thì: Tìm trong bảng mục lục trước.

• Nếu thấy thì chỉ cần tìm trong một vần.

Họ và tên SĐT

Trần Xuân B 012321432

Vũ Thị B 094325325

Quách Thái B 091987412

Nguyễn Văn B 096666666

Page 34: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Niklaus Wirth

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

34

Cấu trúc dữ liệu Giải thuật Chương trình + =

Page 35: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Tổng kết

• Hiểu được khái niệm giải thuật (thuật toán) các đặc trưng cơ bản của giải thuật.

• Hiểu được mối quan hệ giữa Cấu trúc dữ liệu và Giải thuật đồng thời nắm rõ việc lựa chọn CTDL cho bài toán là rất quan trọng.

• Hiểu được khái niệm cơ bản một CTDL, một kiểu dữ liệu và một số kiểu dữ liệu cơ bản có cấu trúc.

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

35

Page 36: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Luyện tập

• Trình bày giải thuật

• Sắp xếp nổi bọt n phần tử.

• Kiểm tra một số có phải số nguyên tố hay ko?

Cấ

u t

rúc d

ữ li

ệu v

à g

iải t

huậ

t

36

Page 37: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTfit.hnue.edu.vn/~thodx/data/ctdlgt/Chuong1_GioiThieu_print.pdf · Chương 6. Cấu trúc dữ liệu kiểu Cây •Khái niệm về Cây

Thank you!