1. Trang chủ
  2. » Công Nghệ Thông Tin

Thực hành cấu trúc dữ liệu và giải thuật 11

18 41 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 765,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11 Thực hành cấu trúc dữ liệu và giải thuật 11

Trang 1

INT2203 Cấu trúc dữ liệu và giải thuật HKI, 2012-2013

Đề thi giữa kì

Thời gian làm bài: 90 phút

Câu 1 Vì sao để đánh giá thuật toán nên dùng phân tích toán học hơn phân tích thực nghiệm? Hãy đưa ra 2 đoạn chương trình ví dụ có thời gian O(1)

Câu 2 Giải thích mối quan hệ giữa f(n) và g(n) trong biểu thức f(n) = O(g(n)) Hãy đưa ra 2 đoạn chương trình ví dụ có thời gian O(n)

Câu 3 Khi áp dụng thuật toán tìm kiếm nhị phân để tìm x = 3 trên mảng a (hình dưới), ta cần bao nhiêu phép so sánh x với phần tử của a?

Câu 4 Khi áp dụng thuật toán tuyến tính trộn 2 mảng a, b tăng thành một mảng c tăng (hình dưới), ta cần bao nhiêu phép so sánh phần tử của a với phần tử của b?

Câu 5 Phân tích độ phức tạp thời gian của đoạn mã sau:

int mystery1(int n){

int sum = 0;

for (int i = 0; i < n; i++) {

for (int j = 0; j < i; j++) {

sum += i * j;

}

}

return sum;

}

Câu 6 Phân tích độ phức tạp thời gian của đoạn mã sau:

for (int i = 0; i < n; i++)

for (int j = 0; j < n; j++){

c[i][j] = 0;

for (int k = 0; k < n; k++)

c[i][j] += a[i][k] * b[k][j];

}

Câu 7 Phân tích độ phức tạp thời gian của đoạn mã sau:

int mystery2(int a[], unsigned int n)

{

int sum = 0;

int thisSum = 0;

for(int i = 0; i < n; i++){

thisSum += a[i];

if(thisSum > sum)

sum = thisSum;

if(thisSum < 0)

Trang 1/4

Trang 2

INT2203 Cấu trúc dữ liệu và giải thuật HKI, 2012-2013

thisSum = 0;

}

return sum;

}

Câu 8 Cho biết a là một mảng n phần tử và swap là hàm tráo đổi giá trị 2 đối số Đoạn mã dưới đây sắp xếp mảng a theo thứ tự giảm dần:

for(int i = 0; i < n - 1; i++)

for(int j = 0; j < n - 1 - i; j++)

if(a[j] < a[j + 1]) swap(a[j], a[j + 1]);

Hãy cho biết đoạn mã trên gọi hàm swap bao nhiêu lần nếu truyền vào mảng a có a[i] = i với i = 0, …, n-1 ?

Câu 9 Mô tả ngắn gọn và so sánh các phương án cài đặt ngăn xếp nêu dưới đây:

(a) cài bằng mảng tĩnh

(b) cài bằng danh sách liên kết đơn

(c) cài bằng danh sách liên kết kép

Câu 10 Bắt đầu từ ngăn xếp rỗng, ta thực hiện xen lẫn các phép push và các phép pop trên nó Các phép push lần lượt thêm các số nguyên từ 0 đến 9 vào ngăn xếp Mỗi phép pop loại một phần tử khỏi ngăn xếp và in giá trị vừa loại ra màn hình Chuỗi output nào sau đây không thể xảy ra trên màn hình? Giải thích

(a) 4 3 2 1 0 9 8 7 6 5

(b) 4 6 8 7 5 3 2 9 0 1

(c) 2 5 6 7 4 8 9 3 1 0

(d) 4 3 2 1 0 5 6 7 8 9

(e) 1 2 3 4 5 6 9 8 7 0

(f) 0 4 6 5 3 8 1 7 2 9

(g) 1 4 7 9 8 6 5 3 0 2

(h) 2 1 4 3 6 5 8 7 9 0

Câu 11 Giả sử ta thực hiện trộn lẫn enqueue và dequeue trên một hàng đợi Ban đầu hàng đợi rỗng Các phép enqueue lần lượt thêm các số nguyên từ 0 đến 9 vào hàng đợi này Phép dequeue loại một phần tử khỏi hàng đợi và in giá trị vừa loại ra màn hình Chuỗi output nào sau đây không thể xảy

ra trên màn hình? Giải thích

(a) 0 1 2 3 4 5 6 7 8 9

(b) 4 6 8 7 5 3 2 9 0 1

(c) 2 5 6 7 4 8 9 3 1 0

(d) 4 3 2 1 0 5 6 7 8 9

Câu 12 Mô tả ngắn gọn và so sánh các phương án cài đặt hàng đợi nêu dưới đây:

(a) cài bằng mảng tĩnh vòng

(b) cài bằng danh sách liên kết đơn

(c) cài bằng danh sách liên kết kép

Câu 13 Viết biểu thức postfix cho cây biểu thức số học bên dưới Trình bày và phân tích thuật toán tính giá trị biểu thức postfix

Trang 2/4

Trang 3

INT2203 Cấu trúc dữ liệu và giải thuật HKI, 2012-2013

Câu 14 Hãy vẽ cây nhị phân biểu diễn biểu thức số học postfix 1 5 12 7 4 - / * + Trình bày và phân tích thuật toán xây dựng cây biểu thức từ dạng postfix

Câu 15 Cho cây tìm kiếm nhị phân trong hình vẽ Hãy cho biết cây kết quả sau khi

(a) thêm 11 vào cây

(b) xóa gốc khỏi cây thu được ở câu a

Câu 16

(a) Bắt đầu từ cây tìm kiếm nhị phân rỗng, lần lượt thêm vào dãy khóa 16 6 2 11 20 12 Hãy vẽ cây kết quả

(b) Vẽ cây thu được ở câu a sau khi xóa gốc

Câu 17 Sử dụng cây tìm kiếm nhị phân, hãy đưa ra thuật toán sắp xếp mảng theo thứ tự khoá tăng dần, bằng cách sử dụng các phép toán insert và deleteMin

Câu 18 Giả sử tập dữ liệu được lưu giữ dưới dạng cây tìm kiếm nhị phân Bài toán tìm kiếm phạm vị được xác định như sau: Cho hai giá trị khoá k1 < k2, ta cần tìm tất cả các dữ liệu d mà k1 ≤ d.key ≤ k2 Hãy thiết kế thuật toán cho bài toán tìm kiếm phạm vi

Câu 19 Lớp ArrayStack biểu diễn ngăn xếp số nguyên cài bằng mảng cấp phát động Hãy cài đặt phương thức void push(int x); thêm x vào đỉnh ngăn xếp Chú ý cấp phát thêm bộ nhớ động khi

mảng đầy

class ArrayStack{

public:

ArrayStack(): element(NULL), capacity(0), t( -1 ){}

// Các phương thức khác của ngăn xếp

void push(int x);

private:

int * element; // con trỏ tới mảng cấp phát động

int capacity; // dung lượng mảng động

Trang 3/4

Trang 4

INT2203 Cấu trúc dữ liệu và giải thuật HKI, 2012-2013

int t; // chỉ số mảng của phần tử đỉnh ngăn xếp

};

Câu 20 Lớp SList biểu diễn danh sách các số nguyên cài bằng danh sách liên kết đơn

(DSLKĐ) Mỗi phần tử của DSLKĐ có kiểu Node định nghĩa bên dưới SList có một thành viên dữ liệu duy nhất là head lưu địa chỉ phần tử đầu tiên của DSLKĐ

Hãy định nghĩa hàm thành viên appendList nối một danh sách (truyền qua tham số someList) vào

đuôi danh sách đang xét

struct Node{

int data;

Node * next;

};

class SList{

public:

SList(): head(NULL) {}

// Các phương thức khác của danh sách

void appendList(const SList & someList);

private:

Node * head; // con trỏ tới phần tử đầu tiên của DSLKĐ

};

Trang 4/4

Trang 5

DE THI cAu TRUCDU LI~U VA THU~ T ToAN

Tha'igian 120phlit

ill A

Gin 1 Cho danhsaeh lien k~t yang tran (DSLKVT), mQtcan tro ngoai Ptr tro to'i mQt ph~n tlr

cua danh sach ilhu hinh ve Ptr I ~tP1Y' -7YV

l~,-,C

{ J ~ \ \' J

-I Hay khai baa c:iu tnk du' li~u (CTDL) tren.

2 Slr d~mgDSLKVT tren o~ cai o~Hhang oQ'i,hay cho bi~t o~u hang oQ'j0' oau? Ta co

th~ truy e~p to-iph~n tu' 0' o~u hang \a ph~n tli'6' ouai hang b~ng cae con tro nilO?

3 Slr d\lng DSLKVT tren o~ cai o~t ngan x~p hay cho bi~t olnh ngan x~p 0'dau? Hay

vi~t ham o~v mat oh~n tlr m6'i vaa oinh n2:anx~o.- ~ .

Can 2 Cho cay tim ki~m nhi phan (TKNP) v6'i khoa t?i cae olnh la cac s6 nguyen.

1 Dlnh co khoa nho nh~t trang ciiy TK:.IP la olnh nao?

2, Hay khai baa CTDL bi~u di~n cdy TKNP va vi~t ham tim gia trj khoa nho nh~t trong cay.

Can 3 Cho hang uu tien v6'i cac gia tri uu tien la cac s6 nguyen.Hang uu tien oUQ'cluu trong

mc'mgtheo th(r tv uu tien giam d~n

I, Hay khai bao CTDL bi~u di~n hang llll tien theo cach tren.

2 Hay vi~t ham xen mQt06i tUQ'ngm6'i co gia trj uu tien la k vaa hang uu tien.

Can 4 Cho mQtt~p du' li~u v6'i khoa la cac 56 nguyen duong T<;ipdu' li~u oUQ'eluu trong bang

bam day chuy~n.

I, Hay khai bao CTDL bang bam day chuy~n,

2 Gia Slrbang barn co co' N=5, ham barn la ham ehia I~ydU.Tlr bang barn r6ng, hay ou'a cac du' li~u vo-ikhoa 13, 25, 502 30 23, 152 va 128 VaGbang barn Dua ra hinh ve bi~u dien bang bam k€t qua.

Can 5 Cho 06 thj oinh hu'6'ngco trQng56, D6 thi co N olnh oUQ'coanh 56 tlr 0 o€n N-l, trQng56

cua cac cung la cac s6 thvc duong D6 thj oUQ'cbj~u dien bO'ima tr~n k~.

~ I, Hay khai bao CTDL bi~u dien 06 thi,

I 2 Hay vi€t ham duy~t 06 thj theo oQsau o~ tfnh t6ng oQdai cac cung

Trang 6

Đề thi cuối kì cấu trúc dữ liệu và giải thuật

Học kì I, 2009-2010 Lớp k52ca, cb, cc Thời gian : 90’

Lưu ý : các thí sinh không được phép trao đổi bài

Câu 1 (1 điểm)

Hãy cho biết các phát biểu sau đúng hay sai :

a Các phần tử trong cấu trúc dữ liệu hàng đợi ưu tiên được thực hiện theo nguyên tắc vào trước

ra trước

b Độ phức tạp của hai thuật toán merge-sort và heap-sort là như nhau

c Một đồ thị vô hướng là liên thông nếu có số cạnh nhiều hơn hoặc bằng hai lần số đỉnh của đồ thị

d Giữa hai đỉnh bất kì trong cây chỉ tồn tại một đường đi duy nhât

e Tư tưởng của thuật toán duyệt là giải quyết bài toán lớn dựa vào kết quả của các bài toán nhỏ

Câu 2 (2 điểm)

Cho một mảng có n số nguyên đã được sắp xếp theo thứ tự không giảm hãy mô tả thuật toán dưới dạng mã giả để đếm số lần xuất hiện của số nguyên k trong mảng đó với độ phức tạp tốt nhất có thể được tính độ phức tạp của thuật toán

Câu 3 (2 điểm)

Hãy mô tả một thuật toán đệ quy dưới dạng mã giả để tìm số phần tử bằng giá trị x cho trước trong một dãy danh sách liên kết đơn

Câu 4 (1 điểm)

a Độ cao nhỏ nhất của cây nhị phân có 7 đỉnh là bao nhiêu ? Vẽ hình minh họa

b Hãy mô tả thuật toán duyệt Postorder cho một câu nhị phân dưới dạng mã giả

Câu 5 (1 điểm)

Cho dãy số : 9, 1, 2, 8, 5

a Hãy vẽ một cấu trúc dữ liệu heap chứa dãy số trên

b Hãy vẽ một câu trúc dữ liệu cây nhị phân tìm kiếm chứa dãy trên

Câu 6 (1 điểm)

Hãy viết mã giả mô tả thuật toán kiểm tra một đồ thị vô hướng G có liên thông hay không Hãy cho biết độ phức tạp của thuật toán dưới dạng O() ?

Câu 7 (2 điểm)

Cho một mảng A = {a1, a2, …., an} chứa n số nguyên dương Một cách chọn một số phần tử trong A (mỗi phần tử được chọn không quá một lần) có tổng bằng một giá trị k cho trước được gọi là thỏa mãn điều kiện k Hãy mô tả thuật toán dưới dạng mã giả điếm số cách chọn thỏa mãn điều kiện k cho biết độ phức tạp của thuật toán đó

Câu 8 (1 điểm)

Trang 7

Cho một dãy số A = {a1, a2, …., an} chứa n (n < 100) số nguyên dương Có giá trị nhỏ hơn 10 Hãy

mô tả thuật toán quy hoạch động để kiểm tra xem có tồn tại một cách chia dãy A thành 3 dãy con thỏa mãn điều kiện tổng giá trị các phần tử trong các dãy con là bằng nhau

Ví dụ:

A = {4, 3, 2, 8, 3, 4}

A có thể được chia thành ba dãy con có tổng các phần tử là 8 như sau:

{4, 4} {3, 2, 3} {8}

Trang 8

Đề thi cuối kì Cấu trúc dữ liệu và giải thuật

Học kì II, 2009-2010 Lớp K53CB, K53CC Thời gian: 90’

Câu 1 (1 điểm):

Hãy cho biết các phát biểu sau đúng hay sai(mỗi lựa chọn không chính xác được cộng 0.2, không chính xác bị trừ 0.2, không trả lời thì không có điểm cho phần tương ứng Lưu ý điểm số nhỏ nhất cho cả câu 1

là 0, nghĩa là không có điểm âm cho câu 1):

a Các phần tử trong cấu trúc dữ liệu Stack được thực hiện theo nguyên tắc vào trước ra trước(first in first out)

b Độ phức tạp(complexity) của hai thuật toán sắp xếp nổi bọt và merge-sort là như nhau

c Thuật toán Dijkstra cho phép tìm đường đi ngắn ngất từ một đỉnh đến tất cả các đỉnh còn lại của đồ thị

d Đỉnh gốc sẽ được thăm đầu tiên nếu chúng ta tiến hành duyệt theo thứ tự sau(post order) trên một cây

e Một đồ thị đơn vô hướng, liên thông có số cạnh nhiều hơn số đỉnh

Câu 2 (1.5 điểm): Hãy mô tả thuật toán đệ quy(recursive) dưới dạng pseudo code để tìm số phần tử có giá trị bằng phần tử đầu tiên trong một dãy danh sách liên kết đơn(singly-linked list)

Câu 3 (1 điểm): Vẽ cây nhị phân tìm kiếm cân bằng cho dãy sau: 1 9 6 2 4 7

Câu 4 (2 điểm): Mô tả thuật toán kiểm tra xem 1 phần tử có giá trị bằng k có nằm trong cây nhị phân tìm kiếm hay không bằng pseudo-code

Câu 5 (1 điểm): Hyax mô tả thuật toán duyệt theo chiều sâu cho một đồ thị đơn vô hướng dưới dạng pseudo-code

Câu 6 (2 điểm): Hãy mô tả thuật toán liệt kê tất cả các hoán vị của n phần tử dưới dạng pseudo-code Hãy cho biết độ phức tạp của thuật toán dưới dạng O()

Câu 7 (1.5 điểm): Trình bày ngắn gọn phương pháp giải quyết va chạm trong cấu trúc dữ liệu bảng băm (Hash table)

Trang 9

ĐẠI HỌC QUỐC GIA HÀ NỘI ĐỀ THI MÔN: Cấu trúc dữ liệu và giải thuật

Học kỳ I, năm học 2012, 2013

Thời gian làm bài: 120 phút

Đề thì gồm 2 trang Không sử dụng tài liệu hay thiết bị điện tử khi làm bài

Câu 1 Các phát biểu dưới đây đúng hay sai? Hãy sửa hoặc bổ sung ý nếu bạn cho là sai.

a Chiểu cao của cây tìm kiếm nhị phân n đỉnh là O(logn)

b Với bảng băm giải quyết va chạm bằng thăm dò tuyến tính, phép remove(k) có thể thực hiện đơn giản bằng cách xóa đi giá trị ở ô tương ứng, coi như chưa bao giờ thực hiện insert vào ô đó

c Với bảng băm giải quyết va chạm bằng thăm dò bình phương, khi bảng chưa đầy thì phép insert luôn thực hiện được

d Biểu diễn đồ thị bằng ma trận kề tốt hơn biểu diễn bằng danh sách kề

e Dù biểu diễn đồ thị bằng ma trận kề hay danh sách kề thì thời gian chạy của thuật toán đi qua đồ thị G = (V, E) theo bề rộng đều là O(|V| + |E|)

f Luôn thực hiện được sắp xếp topo trên đồ thị có hướng không chu trình

g Với min heap, các phép toán findMin, findMax, deleteMin và insert đều thực hiện được trong thời gian O(logn)

h Thuật toán thiết kế theo kỹ thuật tham ăn cho lời giải tối ưu

Với từng phương pháp giải quyết va chạm nêu dưới, một bảng băm cỡ n có thể lưu tối đa bao nhiêu khóa phân biệt?

a Thăm dò tuyến tính

b Thăm dò bình phương

c Tạo dây chuyền

Câu 3 Max heap là cây thứ tự bộ phận có tính chất khóa cha lớn hơn khóa con Hãy viết giả mã thuật

toán tuyến tính xây dựng max heap từ một dãy n phần tử Vận dụng thuật toán vừa nêu cho dãy đầu vào (2203, 1, 3, 14, 16, 25, 12, 2012), hãy vẽ kết quả từng bước thực hiện

Câu 4 Câu này hỏi về thuật toán sắp xếp nhanh lấy chốt là phần tử đầu, nhằm sắp giảm dần một dãy số

thực:

a) Hãy viết mã C++ của thuật toán

b) Với đầu vào nào thì xảy ra thời gian chạy xấu nhất Cho ví dụ

c) Phân tích độ phức tạp thời gian trong trường hợp xấu nhất

Câu 5 Xét 6 thuật toán sắp xếp: 1-sắp xếp xen vào, 2-sắp xếp lựa chọn, 3-sắp xếp nổi bọt, 4-sắp xếp

nhanh (lấy chốt là phần tử đầu), 5-sắp xếp trộn, 6-sắp xếp sử dụng heap và tính chất: Nếu đầu vào là

Trang 10

một danh sách đã sắp đúng thứ tự thì các bước của thuật toán không thực hiện bất kì biến đổi nào trên danh sách.

Thuật toán nào có tính chất trên? Thuật toán nào không có tính chất trên? Giải thích

Câu 6 Xét 6 thuật toán sắp xếp ở câu trước và thuật toán sắp xếp cơ số Theo bạn, thuật toán nào tốt

nhất cho mỗi mô tả sắp xếp bộ dữ liệu dưới đây? Giải thích

a) Mảng có 32000000 phần tử nguyên trong khoảng từ 0 đến 32000000

b) Sắp xếp độc lập 1000000 mảng, mỗi mảng có 5 phần tử

c) Sắp xếp mảng 1000000 phần tử với thời gian chạy xấu nhất là O(nlogn)

Câu 7 Bài toán tìm xâu con chung dài nhất của một tập S các xâu được ứng dụng nhiều trong tin sinh

học Xâu con chung của 2 xâu là chuỗi các ký tự liền nhau có mặt trong cả 2 xâu Ví dụ tập S gồm 2 xâu là “HELLO” và “ALOHA” thì xâu con chung dài nhất là “LO”

a) Hãy viết giả mã thuật toán quy hoạch động tìm xâu con chung dài nhất của 2 xâu

b) Vẽ bảng quy hoạch động cho 2 xâu ví dụ nói trên

Câu 8 Đồ thị có hướng có trọng số G được cho trong danh sách kề ở hình bên dưới Mỗi nút trong

danh sách liên kết có 3 thành phần: số hiệu đỉnh, trọng số cung và địa chỉ nút tiếp theo

Hãy

a) Vẽ đồ thị G

b) Cho biết G liên thông mạnh, liên thông yếu hay không liên thông? Giải thích ngắn gọn

c) Cho biết 1 kết quả của thuật toán Tarjan sắp xếp topo trên G và các bước dẫn tới kết quả này d) Cho biết kết quả và các bước thực hiện thuật toán Dijkstra tìm độ dài đường đi ngắn nhất từ đỉnh 0 tới các đỉnh còn lại

e) Cho biết kết quả và các bước thực hiện thuật toán Prim tìm cây khung nhỏ nhất của đồ thị vô hướng nền của G

Trang 11

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI ĐỀ THI MÔN: Cấu trúc dữ liệu và giải thuật TRƯỜNG ĐẠI HỌC CÔNG NGHỆ L ớp môn học: INT2203 1,3

Học kỳ I, Năm học 2012-2013

Th ời gian làm bài: 120 phút

Đề thi và đáp án gồm 8 trang Không s ử dụng tài liệu hay thiết bị điện tử khi làm bài

Câu 1 Các phát biểu dưới đây đúng hay sai? Hãy sửa hoặc bổ sung ý nếu bạn cho là sai

a Chiều cao của cây tìm kiếm nhị phân n đỉnh là O(logn)

b Với bảng băm giải quyết va chạm bằng thăm dò tuyến tính, phép remove(k) có thể thực hiện đơn giản bằng cách xóa đi giá trị ở ô tương ứng, coi như chưa bao giờ thực hiện insert vào ô

đó

c Với bảng băm giải quyết va chạm bằng thăm dò bình phương, khi bảng chưa đầy thì phép insert luôn thực hiện được

d Biểu diễn đồ thị bằng ma trận kề tốt hơn biểu diễn bằng danh sách kề

e Dù biểu diễn đồ thị bằng ma trận kề hay bằng danh sách kề thì thời gian chạy của thuật toán

đi qua đồ thị G=(V,E) theo bề rộng đều là O(|V|+|E|)

f Luôn thực hiện được sắp xếp topo trên đồ thị có hướng không chu trình

g Với min heap, các phép toán findMin, findMax, deleteMin và insert đều thực hiện được trong

thời gian O(logn)

h Thuật toán thiết kế theo kỹ thuật tham ăn cho lời giải tối ưu

Đáp án

Câu 2 Xét việc lưu tập hợp U các phần tử có giá trị khóa thuộc tập {0, 1, …, n2

-1} trong bảng băm Với từng phương pháp giải quyết va chạm nêu dưới, một bảng băm cỡ n có thể lưu tối đa bao nhiêu khóa phân biệt?

Ngày đăng: 01/03/2022, 14:23

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm