1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 1: Tổng quát về cấu trúc dữ liệu và thuật toán pdf

10 608 1
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 1,43 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Do vậy, việc tổ chức để lưu trữ dữ liệu cho chương trình có ý nghĩa rất quan trọng, quyết định rất lớn đến chất lượng cũng như công sức của người lập trình trong thiết kê, cài đặt chươ

Trang 1

"xa in TONG QUAN VE

CAU TRUC DU LIEU & THUAT TOAN

1.1 Khái niệm về cấu trúc dữ liệu va thuật toán

1.1.1 Câu trúc dữ liệu 1.1.2 Thuật toán

1.1.3 Sự liên hệ giữa câu trúc dữ liệu và thuât toán 1.2 Phân tích giải thuật

1.2.1 Phân tích thời gian thực hiện giải thuật

1.2.2 Độ phức tạp tính toán của giải thuật

1.2.3 Xác định độ phức tạp tính toán 1.3 Bài tập

Trang 2

1.1 Khái niệm về câu trúc dữ liệu và thuật toán

1.1.1 Cầu trúc dữ liệu

Bất kỳ một chương trình máy tính nào cũng cân có

dữ liệu để xử lý

* Dữ liệu vào (mnput data), dữ liệu trung gian xử lý

hoặc dữ lieu ra (output data)

Do vậy, việc tổ chức để lưu trữ dữ liệu cho chương

trình có ý nghĩa rất quan trọng, quyết định rất lớn đến

chất lượng cũng như công sức của người lập trình

trong thiết kê, cài đặt chương trình

© Dương Thành Phết-www.thayphet.net

Trang 3

Z“

1.1.2 Giải thuật

v Giải thuật - Thuật giải - Thuật toán dùng để chỉ

phương pháp hay cách thức đề giải quyết vân đề

vGiải thuật có thể được minh họa bằng ngôn ngữ tự

nhiên (natural language), bằng sơ đồ (flow chart) hoặc bằng mã giả pseudo code)

vTrong thực tê, giải thuật thường được minh hoa

bằng mã giả tựa ngôn ngữ lập trình nào đó như C,

Pascal,

© Duong Thanh Phét-www.thayphet.net Khoa CNTT Trường TC TÂY NAM Á

Trang 4

1.1.3 Sự liên hệ giữa câu trúc dữ liệu và giải thuật

Câu trúc dữ liệu tốt, nắm vững giải thuật thực hiện thì

việc thê hiện chương trình bằng một ngôn ngữ cụ thể

chỉ là van dé thời gian

vMột chương trình máy tính chỉ có thể được hoàn thiện

khi có đầy đủ cả Câu trúc dữ liệu để lưu trữ dữ liệu và

Giải thuật xử lý dữ liệu theo yêu câu của bài toán đặt ra

© Dương Thành Phết-www.thayphet.net Khoa CNTT Trường TC TÂY NAM Á

Trang 5

Z“

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

1.2.1 Các tiêu chuẩn đánh giá cấu trúc dữ liệu

vPhải tiết kiệm tài nguyên (bộ nhớ trong),

vPhải phản ảnh đúng thực tê của bài toán,

vPhải dễ dàng trong việc thao tác dữ liệu

© Dương Thành Phết-www.thayphet.net Khoa CNTT Trường TC TÂY NAM Á

Trang 6

1.2.2 Đánh giá độ phức tạp của thuật toán

Đánh giá độ phức tạp của một thuật toán là ước

lượng thời gian thực hiện thuận toán T(n) để so sánh tương đồi giữa các thuật toán

Thời gian thực hiện một thuật toán còn phụ thuộc rất

nhiều điều kiện khác như: câu tạo máy tính, dữ liệu

đưa vào, ., ta chỉ xét trên mức độ của lượng dữ liệu

đưa vào đề ước lượng thời gian thực hiện:

Trong trường hợp tốt nhất: Tmin Trong trường hợp xâu nhất: Tmax

Và ước lượng thời gian trung binh Tavg

© Dương Thành Phết-www.thayphet.net Khoa CNTT Trường TC TÂY NAM Á

Trang 7

Z“

1.2.3 Phân tích thuật toán

Bảng các cấp thời gian thực hiện thuật toán được sử

dụng rộng rãi

O(n) Binh phuong O(n?) Lap phuong

© Dương Thành Phết-www.thayphet.net Khoa CNTT Trường TC TÂY NAM Á

Trang 8

Ví dụ: Tìm trong dãy số a1, a2, , an một phân tử có giá

trị bằng x

Vào: Dãy số nguyên a[N] và khoá cân tìm x

Ra: Vị trí phần tử có khoá x hoặc là -1 nêu không tìm thay

Int Timtuyentinh (int aj], irnfN, Inf x)

{

Inf I;

I=0;

while((i < N) && (ali] != x)

[=[+7;

if( i == N)

retum -† ; hết mảng không có x

else

retum ¡ ; alï] là phân tử có khóa x

© Dương Thành Phết-www.thayphet.net

Khoa CNTT Trường TC TÂY NAM Á

Trang 9

vNếu alO] = x thi lệnh ¡ := I + †1 trong vòng lặp thực hiện

1lân Do đó thời gian tính tôt nhât của thuật toán là O(1)

vNếu x không có trong dãy thì lệnh ¡ := ¡ + 1được thực

hiện n lân Vi thê thời gian tính xâu nhat la O(n)

v Thời gian tính trung bình của thuật toán

= Néu x duoc tim thay ở vị trí thứ ¡ thì lệnh ¡ := ¡ + 1 thực hiện I lân (ï = 1, 2, , n),

: Nếu x không xuất hiện trong dãy thì lệnh ¡ := ¡ + 1

thực hiện n lân

© Dương Thành Phết-www.thayphet.net Khoa CNTT Trường TC TÂY NAM Á

Trang 10

Ta có:

[(1+2+ +n)+n]/(n+1)<(n+n)/(n+1)=n

Vậy thời gian tính trung bình của thuật toán là O(n)

© Dương Thành Phết-www.thayphet.net Khoa CNTT Trường TC TÂY NAM Á

Ngày đăng: 26/07/2014, 03:22

HÌNH ẢNH LIÊN QUAN

Bảng cỏc cấp thời gian thực hiện thuật toỏn ủược sử dụng rộng rãi. - Chương 1: Tổng quát về cấu trúc dữ liệu và thuật toán pdf
Bảng c ỏc cấp thời gian thực hiện thuật toỏn ủược sử dụng rộng rãi (Trang 7)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w