Top Banner
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Số tiết lý thuyết: 45 Số tiết thực hành: 30
30

CTDL_01_TQuan

Nov 10, 2015

Download

Documents

Tổng quan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Dãy – Danh sách*
S tit lý thuyt: 45
S tit thc hành: 30
CU TRÚC D LIU VÀ GII THUT
CU TRÚC D LIU VÀ GII THUT
*
Tài Liu Tham Kho
Trn Hnh Nhi, Dng Anh c. Giáo trình Cu Trúc D Liu 1, HQG Tp. HCM, 2000.
Nguyn Trung Trc, Cu trúc d liu, HBK HCM.
Robert Sedgewick. Cm nang thut toán (bn dch ca nhóm tác gi H KHTN), NXB Khoa hc k thut, 1994.
P. S. Deshpande, O. G. Kakde. C & Data Structures, 2004.
Dr. Dobb's. Algorithms and Data Structures, 1999
A.V. Aho, J.E Hopcroft, J.D Ullman. Data structures and Algorithms, Addison Wesley, 1983.
CU TRÚC D LIU VÀ GII THUT
*
Các thut toán tìm kim.
Bui 2: Interchange Sort, Selection Sort, Bubble Sort, Insertion Sort.
Bui 3: Shaker Sort, Shell Sort, Heap Sort.
Bui 4: Quick Sort, MergeSort, Radix Sort.
Bui 5: Cu trúc ng, Danh sách liên kt n.
CU TRÚC D LIU VÀ GII THUT
*
Bui 7: Danh sách liên kt kép.
Bui 8: Cây, Cây nh phân, cây nh phân tìm kim.
Bui 9: Cây cân bng (AVL).
Bui 10: Các CTDL m rng.
Bui 11: Ôn tp.
*
Cui k: 8 im
Thc hành: Vit CT (3 im)
Bài cng thêm im:
Tng im: 10 im.
*
*
Các tiêu chun ca CTDL
Vai trò ca CTDL
Thc hin và hiu chnh chng trình
Tiêu chun ca chng trình
CU TRÚC D LIU VÀ GII THUT
*
Niklaus Wirth:
Cn nghiên cu v thut toán và CTDL!
CU TRÚC D LIU VÀ GII THUT
*
S cn thit ca Thut Toán
Ti sao s dng máy tính x lý d liu?
Nhanh hn.
Nhiu hn.
Gii quyt nhng bài toán mà con ngi không th hoàn thành c.
Làm sao t c nhng mc tiêu ó?
Nh vào s tin b ca k thut: tng cu hình máy chi phí cao
Nh vào các thut toán hiu qu: thông minh và chi phí thp
“Mt máy tính siêu hng vn không th cu vãn mt thut toán ti!”
CU TRÚC D LIU VÀ GII THUT
*
Thut Toán
Thut toán: Mt dãy hu hn các ch th có th thi hành t mc tiêu ra nào ó.
Ví d: Thut toán tính tng tt c các s nguyên dng nh hn n gm các bc sau:
Bc 1: S=0, i=1;
Bc 2: nu i<n thì s=s+i;
Ngc li: qua bc 4;
Bc 3:
*
Xác nh
Hu hn
*
Dng lu (s khi)
Dng mã gi
*
Biu Din Bng Ngôn Ng T Nhiên
NN t nhiên thông qua các bc c tun t lit kê biu din thut toán.
u im:
n gin, không cn kin thc v v cách biu din (mã gi, lu ,...)
Nhc im:
ôi lúc khó hiu, không din t c thut toán.
CU TRÚC D LIU VÀ GII THUT
*
Lu
Là h thng các nút, cung hình dng khác nhau th hin các chc nng khác nhau.
A
B
A
Begin
End
úng
Sai
CU TRÚC D LIU VÀ GII THUT
*
Tìm phn t mang giá tr ln nht trong mng
Bt u
amax = a0
i<n
i = 1
*
Ngôn ng ta ngôn ng lp trình:
Dùng cu trúc chun hóa, chng hn ta Pascal, C.
Dùng các ký hiu toán hc, bin, hàm.
u im:
Nhc im:
*
Mt s quy c
2. Lnh gán: “=” (AB)
3. So sánh: “==”, “!=”
Input: <d liu vào>
Output: <d liu ra>
*
5. Các cu trúc:
Tr giá tr v: return [giá tr]
Li gi hàm: <Tên>(tham s)
CU TRÚC D LIU VÀ GII THUT
*
Biu Din Bng Mã Gi
Ví d: Tìm phn t ln nht trong mng mt chiu.
amax=a0;
i=1;
i++;
*
Biu Din Bng Ngôn Ng Lp Trình
Dùng ngôn ng máy tính (C, Pascal,...) din t thut toán, CTDL thành câu lnh.
K nng lp trình òi hi cn hc tp và thc hành (nhiu).
Dùng phng pháp tinh ch tng bc chuyn hoá bài toán sang mã chng trình c th.
CU TRÚC D LIU VÀ GII THUT
*
Mt thut toán hiu qu:
Chi phí cn s dng tài nguyên thp: B nh, thi gian s dng CPU, …
Phân tích phc tp thut toán:
N là khi lng d liu cn x lý.
Mô t phc tp thut toán qua mt hàm f(N).
Hai phng pháp ánh giá phc tp ca thut toán:
Phng pháp thc nghim.
CU TRÚC D LIU VÀ GII THUT
*
Phng Pháp Thc Nghim
Cài thut toán ri chn các b d liu th nghim.
Thng kê các thông s nhn c khi chy các b d liu ó.
u im: D thc hin.
Nhc im:
Chu s hn ch ca ngôn ng lp trình.
nh hng bi trình ca ngi lp trình.
Chn c các b d liu th c trng cho tt c tp các d liu vào ca thut toán: khó khn và tn nhiu chi phí.
Ph thuc vào phn cng.
CU TRÚC D LIU VÀ GII THUT
*
Phng Pháp Xp X
ánh giá giá thut toán theo hng tim xp x tim cn qua các khái nim O().
u im: Ít ph thuc môi trng cng nh phn cng hn.
Nhc im: Phc tp.
CU TRÚC D LIU VÀ GII THUT
*
S Phân Lp Theo Phc Tp Ca Thut Toán
S dng ký hiu BigO
Hng s : O(c)
CU TRÚC D LIU VÀ GII THUT
*
D Liu
Theo t in Ting Vit: s liu, t liu ã có, c da vào gii quyt vn
Tin hc: Biu din các thông tin cn thit cho bài toán.
CU TRÚC D LIU VÀ GII THUT
*
Các tiêu chun ca CTDL:
Phi biu din y thông tin.
Phi phù hp vi các thao tác trên ó.
Phù hp vi iu kin cho phép ca NNLT.
Tit kim tài nguyên h thng.
CU TRÚC D LIU VÀ GII THUT
*
Vai Trò Ca Cu Trúc D Liu
Cu trúc d liu óng vai trò quan trng trong vic kt hp và a ra cách gii quyt bài toán.
CTDL h tr cho các thut toán thao tác trên i tng c hiu qu hn
CU TRÚC D LIU VÀ GII THUT
*
Chy th.
Cp nht, thay i chng trình theo yêu cu (mi).
CU TRÚC D LIU VÀ GII THUT
*
Tính tin cy
Tính uyn chuyn
Tính trong sáng
Tính hu hiu.
*
Bc 1: Xác nh yêu cu (Requirements Specification).
Bc 2: Phân tích (Analysis).
Bc 3: Thit k (Design).
Bc 4: Cài t (Implementation).
Bc 5: Th nghim (Testing).