Tải bản đầy đủ (.pdf) (10 trang)

Bài giảng Cấu trúc dữ liệu và giải thuật – Bài 1: Giới thiệu chung

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 (392.27 KB, 10 trang )

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

Lecturer: Dr. Ngo Huu Phuc
Tel: 0438 326 077
Mob: 098 5696 580
Email:


<b>C</b>

<b>ấu trúc dữ liệu và giải thuật</b>



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

<b>Tài li</b>

<b>ệu tham khảo</b>



 <b>Mastering Algorithms with C</b>, Kyle Loudon, 1999.


 <b>Introduction to Algorithms</b>, Thomas H. Cormen, Charles
E. Leiserson, Ronald L. Rivest and Clifford Stein, The MIT
Press © 2001.


 <b>Data Structures, Algorithms, and Object-Oriented </b>
<b>Programming</b>. NXB McGraw Hill; Tác giả Gregory
Heilleman -1996


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

<b>Bài 1. Gi</b>

<b>ới thiệu</b>



<b>N</b>

<b>ội dung:</b>



1.0. Đôi nét về khái niệm.


1.1. Giải thuật.


1.2. Dữ liệu và các cấu trúc dữ liệu.
1.3. Biểu diễn giải thuật.


1.4. Độ phức tạp của giải thuật.



<b>Tham kh</b>

<b>ảo:</b>



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

<b>1.0. Đôi nét về khái niệm</b>



 Để giải một bài toán, bắt đầu từ câu hỏi “phải làm gì?”, sau


đó trả lời câu hỏi “làm như thế nào?” → đó là cách tiếp cận
đến giải thuật và cấu trúc dữ liệu.


 Các bài toán trong thực tế không dễ giải bằng cách hiểu
thông thường và để giảm độ phức tạp, trong nhiều trường
hợp có thể mơ hình hóa bài tốn.


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

<b>1.0.1. M</b>

<b>ột số ví dụ (1)</b>



<b>Ví dụ 1: Tơ màu bản đồ thế giới</b>.


<b>Yêu cầu:</b>


 Ta cần phải tô màu cho các nước trên bản đồ thế giới.


 Trong đó mỗi nước đều được tơ một màu.


 Hai nước láng giềng (cùng biên giới) thì phải được tơ bằng


hai màu khác nhau.


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

<b>1.0.2. M</b>

<b>ột số ví dụ (2)</b>




<b>Hướng giải quyết bằng mơ hình hóa</b>:


 Ta có thể xem mỗi nước trên bản đồ thế giới là một đỉnh của đồ thị.
 Hai nước láng giềng của nhau thì hai đỉnh ứng với nó được nối với


nhau bằng một cạnh.


<b>Bài toán lúc này trở thành bài tốn tơ màu cho đồ thị như sau</b>:
 Mỗi đỉnh đều phải được tơ màu.


 Hai đỉnh có cạnh nối thì phải tơ bằng hai màu khác nhau.


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

<b>1.0.3. M</b>

<b>ột số ví dụ (3)</b>



<b>Ví dụ 2: Đèn giao thơng</b>
 Cho một ngã năm như hình 1.


 C và E là các đường một chiều theo chiều mũi tên.
 Các đường khác là hai chiều.


 Hãy thiết kế một bảng đèn hiệu điều khiển giao thông tại ngã năm này
một cách hợp lý: sao cho:


 Phân chia các lối đi tại ngã năm này thành các nhóm


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

<b>1.0.4. Hướng giải quyết (VD2)</b>



 Ta có thể xem đầu vào (input) của bài tốn là tất cả các lối
đi tại ngã năm này.



 Đầu ra (output) của bài tốn là các nhóm lối đi có thể đi
đồng thời mà không xảy ra tai nạn giao thông.


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

<b>1.0.4. Hướng giải quyết (VD2) (t)</b>



 Trước hết ta nhận thấy rằng tại ngã năm này có 13 lối đi: AB, AC, AD,
BA, BC, BD, DA, DB, DC, EA, EB, EC, ED.


 Thể hiện các lối có thể đi đồng thời.


 Ví dụ cặp AB và EC có thể đi đồng thời, nhưng AD và EB thì khơng, vì
các hướng giao thơng cắt nhau.


 Sử dụng sơ đồ trực quan:


 Tên của 13 lối đi được viết lên mặt phẳng,


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

<!--links-->

×