... Báo cáo và mã lệnh, nộp thông qua lớp
trưởng.
Gi i thi u môn h cớ ệ ọ
2
Giới thiệu
Môn học giới thiệu
Các cấutrúcdữliệu cơ bản
Các giải thuật điển hình trên các cấutrúcdữliệu đó
Dùng ... QUY
Chương 4: KỸ THUẬT TÌM KIẾM (SEARCHING)
Chương 5: KỸ THUẬT SẮP XẾP (SORTING)
Chương 6: CÂY (TREE)
ÔN TẬP - KIỂM TRA (REVIEW – TEST)
CẤU TRÚCDỮLIỆU
VÀ GIẢI THUẬT
Giới thiệu môn ... ọ
4
Tài liệu
[1] C_and_DataStructure - P. S. Deshpande, O. G.
Kakde (Bắt buộc mỗi SV phải có)
[2] Bàigiảng & Bài thực hành CTDL - Trường ĐHCN.
[3] Giáo trình Cấutrúcdữliệu 1, Trần...
... kiếm thuậttoán giải quyế
t
vấn đề.
Các tiêu chuẩn khi lựa chọn cấutrúcdữliệu
• Cấutrúcdữliệu trước hết phải biểu diễn được đầy đủ các thông tin nhập và xuất của bài
toán
• Cấutrúcdữ ... một số bài toán, trước khi tổ chức dữliệu ta phải viết một đoạn chương trình nhỏ
để khảo sát xem dữliệu cần lưu trữ lớn tới mức độ nào.
I.3. Tìm thuậttoán
Thuật toánvàCấutrúcdữliệu có ... xây dựng một
cấu trúcdữliệu thì đi đôi với việc xác lập các thuậttoán xử lý trên cấutrúcdữliệu đó.
Data Structure + Algorithm =Program
Thuật toán là một hệ thống chặt chẽ và rõ ràng các...
... có hiệu quả hơn.
Các giải thuật phụ thuộc vào vào cấutrúcdữliệu mà nó tác
động đến. Dữliệu được lưu trữ trên bộ nhớ chính và bộ nhớ
phụ.
13
2.2 Các giải thuật tìm kiếm nội (tt)
Tìm nhị ... (-1);
}
29
Bài tập
Cài đặt các thuậttoán trong lý thuyết
Bài tập trong giáo trình chương 2
Bài tập thực hành tuần 2, 3
14
2.2 Các giải thuật tìm kiếm nội (tt)
Tìm nhị phân (tt)
Thuật toán đệ ... tin F tại vị trí này để đọc dữ liệu, tránh mất thời gian.
9
2.2 Các giải thuật tìm kiếm nội (tt)
Tìm tuyến tính (tt)
Cải tiến thuật toán:
Mỗi bước lặp với thuậttoán trên cần thực hiện 2 phép...
... nghĩa cấutrúcdữliệu của danh sách liên kết đơn được mô tả
như sau:
typedef struct Node{
int Key;
Node *pNext;
};
Trong đó khai báo Node *pNext dùng để mô tả:
39
A. Con trỏ trỏ tới phần dữliệu ... nghiệp
Tài liệu học tập
Giáo trình:
C & Data Structures, P. S. Deshpande, O. G. Kakde -
CHARLES RIVER MEDIA, INC. Hingham, Massachusetts.
Tham khảo:
Giáo trình Cấutrúcdữliệu 1, Trần ... quy
14
Ôn tập tốt nghiệp
Cây nhị phân
Định nghĩa cấutrúc Node trong cây nhị phân
Các phép toán trong cây nhị phân
Khởi tạo cây
Thêm một nút mới vào cây
Các phép duyệt cây
Đếm số nút trong...
...
Lu ý:
- Trên đây là thuật giải tìm một lời giải cho bàitoán 8 hoàng hậu. Tuy
nhiên, ta có thể mở rộng để có thể tìm mọi lời giải cho bài toán. Sơ đồ tổng quát
cho giải thuật back-tracking ...
}
}
IV. CáC THUậTTOáN LầN NGƯợC:
Trong lập trình, đôi khi ta phải xác định các thuật giải để tìm lời giải cho
các bàitoán nhất định nhng không phải theo một luật tính toán cố định, mà ...
61
CHƯƠNG IV
DANH SáCH LIÊN KếT
(LINKED LIST)
I. Khái niệm:
Cấu trúc danh sách liên kết là cấutrúc động, việc cấp phát nút và giải
phóng nút trên danh sách xảy ra khi chơng trình đang chạy....
... cây
Mục tiêu
Trang bị cho sinh viên các khái niệm và ứng dụng cây
Cài đặt và thực hiện các phép toán trên cây, đặc biệt là các
phép toán trên cây nhị phân nhị phân tìm kiếm.
Khái niệm về ... nghĩa và các khái niệm
Cây nhị phân
Cây nhị phân tìm kiếm (BST)
Cây tổng quát
Các thuật ngữ
Bậc của nút và bậc của cây
Nút A: bậc 3, nút C bậc 1
Bậc của cây: 3
Nút gốc, Nút lá và nút ... dụng Liên kết
Cấu tạo của nút
Tạo lập bằng cách cấp phát bộ nhớ động
Mỗi nút gồm có các thông tin:
•
Dữ liệu (data)
•
2 liên kết pLeft, pRight liên kết đến nút con trái và
nút con phải
Cây...
... chương
Trình bày những kiến thức căn bản về lý
thuyết đồ thị, cách biểu diễn, một số
thuật toán trên đồ thị
Đánh giá thuật toán
Một số ứng dụng của đồ thị
Biểu diễn đồ thị
bằng danh sách kề (tt)
0
1
3
2
20
10
1
5
4
0
1
2
3
1 ... sách được lưu vào một
mảng (truy cập nhanh)
Với đồ thị không định hướng có n đỉnh và e
cạnh, thì cần n nút đầu và 2e nút ‘trong’ danh
sách
Với đồ thị định hướng có n đỉnh và e cạnh, thì ... y
Đồ thị G gọi là có trọng số, nếu mỗi cung
được gán một giá trị số đặc trưng
Bài toán bao đóng truyền ứng
Thuật toán WARSHALL
Void WARSHALL(A, P, n){
For (int k=0;k<n;k++)
For (int i=0;i<n;i++)
For...
... (a[j]>a[j+1]){
tmp=a[j+1];
a[j+1]=a[j];
a[j]=tmp;
}
}
}
}
Q&A
Các phương pháp sắp xếp
Các thuậttoán cơ bản
Thuật toán “Selection sort”
Thuật toán “Insertion sort”
Thuật toán “Buble sort”
Thuật toán “Heap sort”
Thuật toán “Quick sort”
Để tiện ... giản
Mục tiêu
Trình bày các thuậttoán thông dụng cho việc sắp xếp trong
(sắp xếp trên bộ nhớ trong - RAM)
Minh họa các thuật toán
Đánh giá thuật toán
Heap sort
Giải thuật
void Heapsort()
... lựa chọn (selection sort)
Ý tưởng:
Giải thuật “selection sort” sắp xếp một danh
sách các giá trị bằng cách lặp lại việc đặt một
giá trị cụ thể vào đúng vị trí thích hợp cho nó
trong dãy...
... mong muốn
Mỗi thuậttoán có một dữliệu vào
(Input) và một dữliệu ra (Output);
Thiết kế giải thuật
Từ bàitoán đến chương trình
Bài toán
thực tế
Thiết kế
Lập trình
Giải thuật
#include ... lại i i+1, quay lại bước 4
Giải bàitoán bằng máy tính
Hai yếu tố tạo nên một chương trình máy
tính
Cấu trúcdữ liệu
Giải thuật
Cấu trúcdữliệu + Giải thuật = Chương trình
Một số ví dụ
int ... trình tính toán.
Nút khởi đầu ,kết thúc:
Cung :
Kiểu dữ liệu,
Kiểu dữliệu trừu tượng
Kiểu dữliệu (Data type)
Kiểu dữliệu trừu tượng (ADT - abstract
data type):
Một kiểu dữliệu trừu...
... niệm và cách
thiết kế giải thuật đệ qui, giải thuật đệ qui quay
lui.
Giới thiệu một số bàitoán điển hình được giải
bằng giải thuật đệ qui.
Phân tích ưu và nhược điểm khi sử dụng giải
thuật ... tham số>);
}
}
}
Giải thuậtvà hàm đệ quy
Giải thuật đệ quy
Nếu bàitoán T được thực hiện bằng lời giải của bài
toán T
’
có dạng giống T là lời giải đệ quy
Giải thuật tương ứng với lời ... Ngân hàng TP.HCM
Chương 2
Đệ quy và giải thuật đệ quy
Phương pháp quay lui
(back tracking)
Đặc trưng : là các bước hướng tới lời giải
cuối cùng của bàitoán hoàn toàn được
làm thử.
Tại...
... stack và hằng số N cho biết kích thước tối đa của stack.
Tạo stack S và quản lý đỉnh stack bằng biến t:
Data S [N];
1
BÀI GIẢNGCẤUTRÚCDỮLIỆUVÀ GIẢI
THUẬT
LỜI NÓI ĐẦU
Giáo trình Cấutrúcdữliệu ... kiểu dữliệu mới
Mục tiêu của việc nghiên cứu cấutrúcdữliệu chính là tìm những phương cách thích
hợp để tổ chức, liên kết dữ liệu, hình thành các kiểu dữliệu có cấutrúc từ những kiểu dữliệu ... TIÊU CỦA MÔN HỌC
- Hiểu được dữliệu là gì, giải thuật là gì, mối quan hệ mật thiết giữa cấutrúcdữliệuvà
giải thuật.
- Phân tích được đâu là dữ liệu, đâu là giải thuật, sự kết hợp chúng để...
... hiện phép toán
Ví dụ:
7 + 3.5
39
Ch n g 1 : ươ Ôn t p ậ
C/C++
Ch ng 1: ươ Ôn t p C/C+ậ
+
Ch n g 1 : ươ Ôn t p ậ
C/C++
Nội dung
Cấu trúcdữ liệu
Thuật toán
Độ phức tạp của thuật toán
6
Ch ... toán
6
Ch ng 1: ươ Ôn t p C/C+ậ
+
Ch n g 1 : ươ Ôn t p ậ
C/C++
Nội dung
Cấu trúcdữ liệu
Thuật toán
Độ phức tạp của thuậttoán (algorithm complexity)
18
Ch ng 1: ươ Ôn t p C/C+ậ
+
Ch n g 1 ... C/C+ậ
+
Ch n g 1 : ươ Ôn t p ậ
C/C++
Cấu trúcdữ liệu
(1) Sự tổ chức hợp lý của các thành phần dữ liệu,
(2) Tập các thao tác để truy cập các thành phần dữ liệu.
(1) the logical arrangement...