Tải bản đầy đủ (.docx) (2 trang)

tài liệu võ tấn dũng votandung

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 (122.2 KB, 2 trang )

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

<b>TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP. HCM</b>
<b>KHOA CÔNG NGHỆ THÔNG TIN</b>


<b>CÂU HỎI & BÀI TẬP ÔN TẬP </b>



<b>MÔN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT</b>


<b>(Khóa 9)</b>



<b>Câu 1: </b>Cho dãy số <b>23</b> <b>21</b> <b>30</b> <b>40</b> <b>15</b> <b>19</b> <b>25</b> <b>21</b>


<b>a.</b> Hãy minh hoạ kết quả thực hiện <b>từng bước sắp xếp</b> theo thứ tự tăng bằng giải thuật <b>đổi</b>
<b>chỗ trực tiếp(Interchange Sort)</b>.


<b>b.</b> Hãy viết giải thuật bằng mã tự nhiên hoặc cài đặt hàm bằng ngôn ngữ C/ C++ cho giải
thuật đổi chỗ trực tiếp.


<b>c.</b> Giả sử cần tìm phần tử có giá trị <b>21</b>, hãy cho biết <b>vị trí tìm thấy</b> khi áp dụng <b>giải thuật</b>
<b>tìm nhị phân</b> trên dãy số đã <b>được sắp xếp ở câu a</b><i>(Dãy được đánh chỉ số bắt đầu từ 0)</i>.
<i>Ôn tập kỹ các giải thuật sắp xếp khác (minh họa từng bước và cài đặt hàm): </i>


<i>- Chọn trực tiếp (Selection Sort)</i>
<i>- Chèn trực tiếp (Insertion Sort)</i>
<i>- Nổi bọt (Bubble Sort)</i>


<b>Câu 2:</b> Cho khai báo cấu trúc danh sách liên kết đơn số nguyên và các hàm được cài đặt sẵn
bằng ngôn ngữ C++ như sau:


<i>struct tnode</i>
<i>{</i>


<i>int data;</i>



<i>struct tnode *pNext;</i>
<i>};</i>


<i>typedef</i> <i>struct tnode NODE;</i>


<i>struct tlist</i>
<i>{</i>


<i>NODE *pHead, *pTail;</i>
<i>};</i>


<i>typedef</i> <i>struct</i> tlist LIST;


<b>Stt</b> <b>Mẫu hàm</b> <b>Mơ tả</b>


1 void XoaDau(LIST &list); Xóa node đầu tiên (pHead) của danh sách<sub>list</sub>
2 void XoaCuoi(LIST &list); Xóa node cuối cùng (pTail) của danh sách<sub>list</sub>
3 void XoaNode(LIST &list, NODE *pDel); Xóa node pDel có trong danh sách list
Hãy cài đặt bổ sung các hàm sau:


<b>Stt</b> <b>Mẫu hàm</b> <b>Mô tả</b>


1 int DemX(LIST list, int x); Đếm và trả về số lượng node có giá trị lớn hơn x cho
trước


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

<i>- Duyệt danh sách để xác định số lượng node, tìm kiếm node, xuất giá trị của node, tính tổng hoặc giá</i>
<i>trị trung bình các node trong danh sách.</i>


<i>- Xóa node khỏi danh sách</i>



<b>Câu 3:</b> Cho khai báo cấu trúc hàng đợi số nguyên (quece) được tổ chức bằng mảng một chiều
như sau:


<i>typedef</i> <i>struct QUEUE </i>
<i>{</i>


<i>int *QArray; </i> <i>//Maảng chứa hàng đợi</i>


<i>int</i> <i>QMax;</i> <i>//Sốố lượng phầần tưả tốối đa </i>


<i>int</i> <i>QNumItems;</i> <i>//Sốố lượng phầần tưả trong hàng đợi</i>


<i>int</i> <i>QFront;</i> <i>//Vị trí phầần tưả đầầu cuảa hàng đợi</i>


<i>int</i> <i>QRear;</i> <i>//Vị trí phầần tưả cuốối cuảa hàng đợi</i>
<i>};</i>


Giả sử có hàng đợi với các thơng tin như sau:


<i>Chỉ số mảng</i> <i>0</i> <i>1</i> <i>2</i> <i>3</i> <i>4</i> <i>5</i> <i>6</i>


Qarray <b>15</b> <b>7</b> <b>9</b> <b>21</b> <b>8</b>


QMax <b>7</b>
QNum
Items


<b>5</b>
QFront <b>1</b>


QRear <b>5</b>


Hãy cho biết thông tin của cấu trúc hàng đợi khi lần lượt thực hiện các thao tác (sử dụng
phương pháp hàng đợi xoay vòng để tránh hàng đợi bị <i><b>“tràn giả”</b></i>):


a. Thêm giá trị <b>111</b> vào hàng đợi
b. Lấy một giá trị khỏi hàng đợi
c. Thêm giá trị <b>555</b> vào hàng đợi


<b>Câu 4:</b> Sử dụng lại <b>dãy số ban đầu của câu 1</b>, hãy thực hiện các yêu cầu sau:
<b>a.</b> Vẽ cây nhị phân tìm kiếm (<i>theo thứ tự nhập từ trái sang phải</i>).


<b>b.</b> Vẽ lại cây nhị phân tìm kiếm khi lần lượt chèn thêm các nút có giá trị: <b>10, 14 và 35</b>.
<b>c.</b> Sau khi vẽ lại cây ở câu 4b, cho biết:


<i>- Cho biết các nút có đúng 1 cây con trái.</i>
<i>- Các đường đi xuất phát từ gốc có độ dài là 3.</i>
<i>- Độ cao của cây.</i>


<b>d.</b> Trình bày từng bước duyệt cây ở (<i>câu 4b</i>) theo thứ tự trước <b>(NLR)</b>.
<b>e.</b> Trình bày từng bước khi xóa lần lượt các nút có giá trị: <b>21 và 23</b>.
<i>Ơn tập thêm về cây nhị phân tìm kiếm: </i>


<i>- Các khái niệm về bậc của nút, nút lá, nút nhánh, độ dài đường đi (tính bằng số nhánh cần phải đi</i>
<i>qua), độ cao của cây, các nút trên cùng một mức (nút gốc được tính là mức 0)</i>


<i> - Các thao tác duyệt cây: NLR, LNR và LRN</i>


</div>

<!--links-->

×