... tử A Trong aij số nguyên nên ta xác định khoảng tìmkiếm miền nguyên kmin kmax thực việc tìmkiếmnhị phân miền Nếu aij số thực kĩ thuật tìmkiếmnhị phân không áp dụng miền thực [kmin, kmax] Để ... Tuy nhiên tìm cách xếp việc cho tiền công lớn nhỏ Ta có ý tưởng sau: tìm số k bé cho tồn cách xếp đủ n người, n việc yêu cầu tiền công ≤ k Dễ thấy việc tìmkiếm thực kĩ thuật tìmkiếmnhị phân, ... kĩ thuật tìmkiếmnhị phân sau: ta tìm số T nhỏ cho: dùng T xe bus chở hết khách thoả mãn điều kiện T tìm phương pháp nhị phân miền từ đến K Để kiểm tra giá trị T có thoả mãn không, ta tìm tổ hợp...
... Dùng thuật toán tìmkiếm theo chiều sâu(hoặc tìmkiếm theo chiều rộng) để xác định đường từ x tới y Chú ý nếuCtg ≤ C[i,j] từ thành phố i sang thành phố j Nếu tồn đường ta tìmkiếm tiếp đoạn [Ctg ... tính A ta dùng thuật toán nhân sốlớn Nếu A > S tìmkiếm đoạn [Ctg+1 ,Cmax ] Nếu A < S tìmkiếm đoạn [ Cmin , C tg -1 ] Nếu A=S bậc N S Ctg Tiếp tục tìmkiếm Cmin >Cmax Chương trình thể thuật toán ... tìmkiếm tiếp đoạn [Ctg +1,Cmax ],và lưu kết Nếu không tồn đường ta tìmkiếm tiếp trongđoạn [Cmin ,Ctg -1] Cứ tiếp tục tìmkiếm đoạn có điểm đầu lớnhơn điểm cuối Chương trình thể thuật toán sau:...
... con” CÂY NHỊ PHÂN Cây nhò phân có thứ tự có đặc điểm nút có tối đa con: Cây trái Cây phải KHÁI NIỆM(tt) CÂY TÌMKIẾMNHỊ PHÂN - Cây tìmkiếm nhò phân tổ chức theo nhò phân - Cây tìmkiếm nhò ... Các khoá tìmkiếm nhò phân lưu trữ theo tính chất sau: - Cho x nút tìmkiếm nhò phân Nếu y nút trái x, key[y] ≤ key[x] Nếu y nút phải x, key[x] ≤ key[y] KHÁI NIỆM(tt) VÍ DỤ CÂY TÌMKIẾMNHỊ PHÂN ... key(x) Kết duyệt: 10 10 TÌMKIẾM TRÊN CÂY Ý tưởng: Cho biến trỏ đến gốc khoá k Thủ tục tìmkiếm SEARCHNODE trả biến trỏ đến nút có khoá k tồn tại, không trỏ NIL Ví dụ: Tìm nút có khoá 55 SEARCHNODE(x,k)...
... 18có a thuậtthể s tìm cho A = điề kiệ cầ phả 20 dụnkiếm tuần t tìmtìm m nhò phân ? n g thuật toán kiế kiếm nhò phâ Trả lời :y mô việc thực tìmkiếm nhò a) Hã phân, với khóa cần tìm k = ? Dãyiđã ... tưởng toán tìmkiếm nhò phân - Biết trình bày thuật toán theo hai cách liệt kê sơ đồ khối 07/05/13 A Kiểm Tra Bài Cũ B Mục Đích Yêu Cầu C Nội Dung Xét ví dụ : BÀI TOÁN TÌMKIẾMNHỊ PHÂN NỘI ... Input Output Ý tưởng : 07/05/13 BÀI TOÁN TÌMKIẾMNHỊ PHÂN Ý tưởng : Sử dụng tính chất dãy A dãy tăng, ta chia đôi dãy thành hai dãy con, phạm vi tìmkiếm thu hẹp sau lần so sánh khóa với số...
... 4.8 Tìmkiếm mảng: Tìmkiếm Tuyến tính tìmkiếmNhị phân 60 • Tìmkiếmnhị phân – Chỉ sử dụng cho mảng xếp – So sánh phần tử (middle) với key • Nếu bằng, tìm thấy • Nếu key < ... 70 71 Sử dụng tìmNhị phân: fig04_20.cpp Nếu key middle, tìm thấy (4 of 6) Nếu nhỏ hơn, tìm nửa thấp // if searchKey less than middle element, // set new high element Nếu lớn hơn, tìm nửa cao if ... main() { const int arraySize = 100; int a[ arraySize ]; int searchKey; Lấy đối số mảng, khoá cần tìm, kích thước mảng fig04_19.cpp (1 of 2) // prototype // size of array a // create array a //...
... thước liệu vào Tìmkiếm : O(n) Tìmkiếmnhị fân: O(log2(n)) Exercise Định nghĩa mảng số nguyên nhập từ đến 100 theo thứ tự vào mảng Đọc số từ đầu vào chuẩn Tìmkiếmnhịfân mảng.In “not ... đệ quy cho thuật toán tìmkiếmnhịfân In số lần gọi hàm Binary Search đến mà liệu tìm thấy So sánh với không đệ quy Thứ tự từ điển tìmkiếmnhịfân Khi tìmkiếm xâu giá trị so sánh giá trị ... Binary Search Tìmkiếmnhịfân kỹ thuật mạnh đáng kinh ngạc để tìmkiếm list xếp Nó quen thuộc với người sử dụng danh bạ điện thoại Minh họa Tìmkiếm với key = 78: 10 11 14...
... sửtoán tìmkiếmtìmkiếmnhị phân dụng thuật toán tìmkiếmnhị phân ? a) Hãy :mô việc thực tìmkiếmnhị Trả lời Trảphân, với khóa cần tìm k = ? lời : Dãy cho phải dãy có thứ tự Thời gian thực tìmkiếm ... tưởng thuật toán tìmkiếmnhị phân: thu hẹp phạm vi tìmkiếm cách so sánh k với số hạng dãy a1, a2, …, a(N+1)/2, … aN-1, aN < a(N+1)/2 Tìmkiếm phạm vi Nếu k < a(N+1)/2 > a(N+1)/2 Tìmkiếm phạm vi ... Nhắc lại ý tưởng thuật toán tìmkiếm tuần tự? Trả lời Bài toán tìm kiếm: • Input: Dãy A gồm N số hạng a1, a2, …, aN khóa k Output: Vị trí số hạng k dãy A thông báo không tìm thấy • Ý tưởng: So sánh...
... việc tìm hiểu ý tưởng thuật toán tìmkiếmnhị phân: Bài toán tìmkiếm việc tìmkiếm - Tìmkiếm yêu cầu thường xuyên đời sống hàng ngày tin học - Ví dụ: + Tìmkiếm học sinh lớp học + Tìmkiếm ... sinh phát biểu toán tìmkiếm đưa ý tưởng thuật toán tìmkiếmnhị phân - Học sinh thực hành áp dụng thuật toán tìmkiếmnhị phân cài đặt chương trình cho toán đơn giản (tìm kiếm phần tử thỏa mãn ... kinh nghiệm Nhận xét thuật toán: Với thuật toán Tìmkiếmnhị phân việc tìmkiếm so sánh với tất phần tử dãy tìmkiếm Vì làm giảm bớt thời gian tìmkiếm Thuật toán thực tốt xác điều kiện phải đảm...
... 4: Cây TìmKiếmNhị Phân 13 Tìmkiếm nút có giá trị x cây: - Nếu giá trị x cần tìm nút gốc tìm thấy lúc đầu giá trị x có T - Ngược lại, so sánh giá trị x với nút gốc, x lớn nút gốc tìmkiếm bên ... cây: VD: Ta có nhị phân hình vẽ bên: gồm có nút Nếu xóa nút có giá trị (3) giá trị (2) dời tới chỗ giá trị (3) 7/10 Đồ Án_CTDL1_Nhóm 3_(Nhớ-Hùng-Trang_DH10ST)_Đề Tài 4: Cây TìmKiếmNhị Phân - Nếu ... 3_(Nhớ-Hùng-Trang_DH10ST)_Đề Tài 4: Cây TìmKiếmNhị Phân printf ("\nSo nut tren cay : %d",dem); dem = 0; } else } printf ("\nCay rong!"); Đếm tổng số nút cây: - B1: Xác định nhị phân khác rỗng - B2: Nếu...
... Cây tìmkiếmnhị phân binary search tree Cây tìmkiếmnhị phân (TKNP) nhị phân mà khoá nút lớn khoá tất nút thuộc bên trái nhỏ khoá ... DeleteMin(Root->Right); } Phân tích BST Tìmkiếm nút TKNP – – – Mất O(1) duyệt nút Mỗi lần duyệt sâu xuống mức Vậy thời gian tìmkiếm O(h) với h chiều cao Thời gian tìmkiếm nút, thêm nút, xóa nút TKNP ... i nút z, tức (ki,xi), nút trong, ta đổi (ki,xi) với phần tử thích hợp: – – Tìmkiếm nút chứa khóa k Xóa phần tử Tìm nút cực phải thứ i z, gọi nút v Đổi chổ (ki,xi) với phần tử cuối v Việc xóa...
... VẤN ĐỀ Tìmkiếm việc thường xảy sống Tìmkiếm thao tác móng cho nhiều tác vụ tính toán Thuật toán tìmkiếmnhị phân thuật toán tìmkiếm quan trọng tin học Thuật toán gọi thuật toán chặt nhị phân ... nhiều thời gian tìm kiếm, giúp chương trình chạy nhanh IV NỘI DUNG 1.Phương pháp tìm kiếm: Thuật toán tìmkiếmnhị phân liên quan đến toán sau: “ Cho mảng n phần tử tăng dần phần tử x Tìm xem x có ... dùng chặt nhị phân để tìmkiếm : Ttốt= O(1) ( x nằm vị trí mảng) Txấu= O(logn) Logarit hàm tăng chậm Trong trường hợp ta băn khoăn tính hiệu tìmkiếmnhị phân, xét việc tìmkiếm tên danh bạ điện...
... cần tìm Việc tìmkiếm kết thúc Nếu aGiua > k dãy A dãy xếp nên việc tìmkiếm xét dãy a1, a2, , aGiua–1 (phạm vi tìmkiếm khoảng nửa phạm vi tìmkiếm trước đó) Nếu aGiua < k thực tìmkiếm ... tìm? • Có cách tìmkiếm nhanh không? (lợi dụng tính không giảm dãy số) Ý tưởng: thu hẹp phạm vi tìmkiếm cách so sánh k với số hạng dãy a1, a2, …, a(N+1)/2, … aN-1, aN Tìmkiếm phạm vi Tìmkiếm ... số Giua (=9), kết thúc Ý tưởng gọi tìmkiếmnhị phân (hay chia để trị) giúp giảm bớt thao tác so sánh Tiết 14: Bài toán & thuật tóan (t5) Thuật tóan tìmkiếmnhị phân Xét tóan : Cho dãy số A gồm...
... CÂY TÌMKIẾMNHỊ PHÂN (Binary search tree-BST) TTree Create2(Tdata v,TTree l,TTree r){ TTree N; N=(TNode*)malloc(sizeof(TNode)); N->Data=v; N->left=l; N->right=r; return N; } CÂY TÌMKIẾMNHỊ ... chiều cao CÂY NHỊ PHÂN ĐẦY ĐỦ • Ví dụ -Một nhị phân đầy đủ CÂY NHỊ PHÂN ĐẦY ĐỦ • Bài tập – Một nhị phân đầy đủ chiều cao h có nút lá? – Một nhị phân đầy đủ chiều cao h có tất nút? CÂY NHỊ PHÂN HOÀN ... bằng” • Thời gian tìmkiếm giá trị TKNP có N nút là: – O(log N) “cân bằng” (balanced) – O(N) “không cân bằng” (unbalanced) CÂY NHỊ PHÂN ĐẦY ĐỦ (full binary tree) • Một nhị phân “cây nhị phân đầy đủ”...
... Nếu k[mid] = X việc tìmkiếm thành công (kết thúc trình tìm kiếm) Quá trình tìmkiếm thất bại đến bước đó, đoạn tìmkiếm rỗng (left>right) Tìm hiểu thuật toán tìmkiếmnhị phân( Binary search) ... việc tìmkiếm hoàn thành có hai tình sau xảy ra: • Tìm ghi có khoá tương ứng X, lúc phép tìmkiếm thành công • Không tìm ghi có khoá tìmkiếm X cả, phép tìmkiếm thất bại Sử dụng thuật toán tìm ... đơn giản, cách phương pháp tìmkiếm Ở đề cập đến phương pháp tìmkiếm ngôn ngữ lập trình Pascal thuật toán tìmkiếm Có nhiều thuật toán tìm kiếm, đơn giản thuật toán Tìmkiếm tuyến tính Thuật toán...
... việc tìm hiểu ý tưởng thuật toán tìmkiếmnhị phân: Bài toán tìmkiếm việc tìmkiếm - Tìmkiếm yêu cầu thường xuyên đời sống hàng ngày tin học - Ví dụ: + Tìmkiếm học sinh lớp học + Tìmkiếm ... sinh phát biểu toán tìmkiếm đưa ý tưởng thuật toán tìmkiếmnhị phân - Học sinh thực hành áp dụng thuật toán tìmkiếmnhị phân cài đặt chương trình cho toán đơn giản (tìm kiếm phần tử thỏa mãn ... www.themegallery.com Nhận xét thuật toán: Với thuật toán Tìmkiếmnhị phân việc tìmkiếm so sánh với tất phần tử dãy tìmkiếm Vì làm giảm bớt thời gian tìmkiếm Thuật toán thực tốt xác điều kiện phải đảm...
... then qs(l, j); end; Tìmkiếmnhị phân dựa dãy ghi Các thuật toán tìmkiếmnhị phân trình bày tương tự thuật toán tìmkiếmnhị phân dãy số lưu ý thao tác phần tử với phần tử cần tìm ta phải sử dụng ... ta tìmkiếmnhị phân trên đoạn số [1, j-1] dãy T phần tử lớn thỏa mãn ≤ a[j]-p - Lưu ý : Ở dãy T dãy giảm dần nên thuật toán có chút thay đổi so với thuật toán giới thiệu III Sắp xếp tìmkiếmnhị ... thực chất yêu cầu: Với phần tử Bi ta tìmkiếmnhị phân phần tử Cj gần phần tử Bi Để thực yêu cầu ta cần xếp tăng dần mảng C sử dụng hai thuật toán tìmkiếmnhị phân đề xuất Bài toán 2: Bước nhảy...