Tải bản đầy đủ (.ppt) (15 trang)

Bài 4 - Bài toán và thuật toán (Tìm kiếm tuần tự)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (497.38 KB, 15 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Tiết 12</b>



<b>Bài 4.</b>

<b>BÀI TOÁN VÀ THUẬT TỐN</b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

2


3. Các ví dụ về thuật tốn


b)Ví dụ 2 : Bài tốn tìm kiếm


Trong cuộc sống, ta thường gặp những yêu cầu
liên quan đến tìm kiếm:


- Tìm học sinh có điểm tổng kết cao nhất
- Tìm người trẻ tuổi nhất trong một hội thi


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>XÁC ĐỊNH BÀI TOÁN</b>


<b>OUPUT</b>


<b>INPUT</b> <b>Dãy A gồm N số nguyên khác </b>
<b>nhau a<sub>1</sub>,a<sub>2</sub>,…,a<sub>N</sub> và số nguyên k</b>


<b>Chỉ số i mà a<sub>i</sub>=k hoặc thơng </b>
<b>báo khơng có số hạng nào của </b>
<b>dãy A có giá trị bằng k</b>


<b>BÀI TỐN:</b>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

4



<b>TÌM KIẾM TUẦN TỰ</b>



<b>TÌM KIẾM TUẦN TỰ</b>



Ví dụ:


<i>Dãy A gồm các số</i>


<b>5</b>

<b>7</b>

<b>4</b>

<b>2</b>

<b>9</b>

<b>6</b>



<b>8</b>

<b>10</b>



<b> a<sub>1</sub> a<sub>2</sub> a<sub>3</sub> a<sub>4</sub> a<sub>5</sub> a<sub>6</sub> a<sub>7</sub> a<sub>8</sub></b>
N=8
<b>K=2 </b>

<b>2</b>


<b>||</b>
<b>k</b>
<b>≠</b> <b>≠</b> <b>≠</b> <b>≠</b> <b>≠</b> <b>||</b>
<b>Tìm thấy</b>


<b>, có a<sub>6</sub>=k, vậy chỉ số cần tìm là i=6</b>


<b>K=3 , khơng có giá trị nào </b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

5


<i><b>TÌM KIẾM TUẦN TỰ</b></i>




<i><b>TÌM KIẾM TUẦN TỰ</b></i>



<i><b>(Sequential Search)</b></i>



<i><b>(Sequential Search)</b></i>



•<b>Ý tưởng:</b>


Lần lượt từ số hạng thứ nhất (i chạy từ
1, 2,3,…), ta so sánh giá trị số hạng ai
với khóa (K) đến khi:


- Gặp một số hạng ai bằng khóa k thì
đưa ra chỉ số i của số hạng đó


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

6


<i><b>Thuật tốn tìm kiếm tuần tự</b></i>



<i><b>Thuật tốn tìm kiếm tuần tự</b></i>



<b>SƠ ĐỒ KHỐI</b>


<b>B1. Nhập N, a1,a2,…aN, </b>


<b>khóa k;</b>


<b>B2. i1;</b>


<b>B3. Nếu ai=k thì thơng </b>



<b>báo chỉ số i rồi kết </b>
<b>thúc;</b>


<b>B4. ii+1;</b>


<b>B5.Nếu i>N thì thơng báo </b>
<b>dãy A khơng có số </b>
<b>hạng nào có giá trị </b>
<b>bằng k, rồi kết thúc;</b>


<b>B6. Quay lại bước 3.</b>


<b>LIỆT KÊ</b>


<b>Nhập N, a<sub>1</sub>,a<sub>2</sub>….,a<sub>N</sub>,k</b>


<b>i1</b>


<b>a<sub>i</sub>=k</b> <b>Đưa ra i rồi </b>
<b>kết thúc</b>
<b>ii+1</b>


<b>i>N?</b>


<b>Thông báo dãy A không có số </b>
<b>hạng nào có giá trị bằng k rồi kết thúc</b>


<b>Đúng</b>



<b>Sai</b>


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7></div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>Chú ý: </b>


<b>1.Áp dụng thuật toán này khi dãy chưa được sắp </b>
<b>xếp.</b>


<b>2.Nguyên tắc tìm kiếm là phải xác định được </b>
<b>khóa</b>


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>Dặn dị</b>


<b>1.Hồn thiện các bài tập từ 1 đến 7 trong sgk </b>
<b>trang 44</b>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>XÁC ĐỊNH BÀI TOÁN</b>
<b>OUPUT</b>


<b>INPUT</b> <b>Dãy A gồm N, dãy a<sub>1</sub>,a<sub>2</sub>,…,a<sub>N</sub></b>
<b>Dem (số lượng số =0)?</b>


<b>BÀI 7.sgk tr 44:</b>


<b> Dãy A gồm N số nguyên a<sub>1</sub>,a<sub>2</sub>,…,a<sub>N</sub>. Đưa ra: </b>
<b>số lượng số 0 trong dãy</b>


<b>Áp dụng thuật toán tìm kiếm tuần tự </b>



</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11></div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

12



<i><b>BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ</b></i>



<i><b>BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ</b></i>



•<b>Ý tưởng:</b>


- Khởi tạo Dem0;


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<b>B1. Nhập N, a1,a2,…aN.</b>


<b>B2. i1; Dem0</b>


<b>B3. Nếu ai=0 thì DemDem + 1</b>


<b>B4. ii+1;</b>


<b>B5.Nếu i>N thì đưa ra Dem, rồi kết thúc;</b>


<b>B6. Quay lại bước 3.</b>


<b>LIỆT KÊ</b>


<i><b>BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ</b></i>



</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

14
<b>SƠ ĐỒ KHỐI</b>


<b>Nhập N, a<sub>1</sub>,a<sub>2</sub>….,a<sub>N</sub></b>


<b>i1; Dem0</b>


<b>a<sub>i</sub>=0</b>


<b>ii+1</b>


<b>i>N?</b>


<b>Đưa ra Dem rồi kết thúc</b>


<b>Đúng</b>


<b>Sai</b>


<b>Đúng</b>
<b>Sai</b>


<b>DemDem +1</b>


<i><b>BÀI 7:ÁP DỤNG TÌM KIẾM TUẦN TỰ</b></i>



</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15></div>

<!--links-->

×