Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Cấu trúc dữ liệu và Giải thuật

Total questions: 84

Worksheet time: 42mins

Name
Class
Date
1.

Cấu trúc dữ liệu (Data Structure) là gì?

a)

Là phần cứng máy tính dùng để lưu trữ dữ liệu.

b)

Là cách tổ chức và lưu trữ dữ liệu trong máy tính để có thể truy xuất và xử lý dễ dàng.

c)

Là một ngôn ngữ lập trình.

d)

Là quy trình phát triển phần mềm.

2.

Đâu là ví dụ của kiểu dữ liệu sơ cấp (Primitive Data Type)?

a)

Mảng (Array).

b)

Danh sách liên kết.

c)

Số nguyên (Integer), Ký tự (Character).

d)

Cây (Tree).

3.

Cấu trúc dữ liệu nào sau đây thuộc loại Tuyến tính (Linear)?

a)

Cây (Tree).

b)

Đồ thị (Graph).

c)

Mảng (Array), Danh sách liên kết, Hàng đợi.

d)

Bảng băm.

4.

Giải thuật (Algorithm) là gì?

a)

Là một chương trình máy tính đã biên dịch.

b)

Là một chuỗi hữu hạn các thao tác để giải một bài toán nào đó.

c)

Là phần cứng xử lý thông tin.

d)

Là dữ liệu đầu vào.

5.

Tính chất "Hữu hạn" của giải thuật nghĩa là gì?

a)

Giải thuật phải giải quyết được mọi bài toán.

b)

Giải thuật phải luôn kết thúc sau một số hữu hạn bước.

c)

Giải thuật tốn ít bộ nhớ nhất.

d)

Các bước thực hiện không cần rõ ràng.

6.

Tính chất "Xác định" của giải thuật đòi hỏi điều gì?

a)

Mỗi bước phải được xác định rõ ràng, thực hiện chính xác và có mục đích nhất định.

b)

Giải thuật phải viết bằng tiếng Anh.

c)

Giải thuật phải chạy nhanh nhất.

d)

Giải thuật phải xử lý được vô hạn dữ liệu.

7.

Phương pháp biểu diễn giải thuật nào sử dụng các hình khối để mô tả?

a)

Ngôn ngữ tự nhiên.

b)

Mã giả (Pseudocode).

c)

Lưu đồ (Sơ đồ khối).

d)

Ngôn ngữ lập trình C++.

8.

Trong sơ đồ khối, hình thoi thường được dùng để biểu diễn thao tác nào?

a)

Bắt đầu/Kết thúc.

b)

Nhập/Xuất dữ liệu.

c)

Điều kiện rẽ nhánh (So sánh).

d)

Tính toán xử lý.

9.

Độ phức tạp thời gian của giải thuật phụ thuộc chủ yếu vào yếu tố nào?

a)

Số lượng bước thực hiện.

b)

Dung lượng bộ nhớ sử dụng.

c)

Số lượng phép toán thực hiện.

d)

Tốc độ xử lý của máy tính.

10.

Ngôn ngữ lập trình sử dụng, tốc độ của máy tính, khối lượng (kích thước) của dữ liệu đầu vào, và trình biên dịch, yếu tố nào ảnh hưởng đến độ phức tạp của thuật toán?

a)

Ngôn ngữ lập trình sử dụng.

b)

Tốc độ của máy tính.

c)

Khối lượng (kích thước) của dữ liệu đầu vào.

d)

Trình biên dịch.

11.

Ký hiệu Big-O (O) dùng để đánh giá điều gì của giải thuật?

a)

Độ chính xác của kết quả.

b)

Thời gian chạy lâu nhất (trường hợp xấu nhất) của thuật toán theo kích thước dữ liệu đầu vào.

c)

Số lượng dòng code.

d)

Dung lượng ổ cứng cần thiết.

12.

Độ phức tạp $O(1)$ có ý nghĩa gì?

a)

Số phép tính tăng tuyến tính theo n.

b)

Số phép tính là hằng số, không phụ thuộc vào khối lượng dữ liệu đầu vào.

c)

Số phép tính tăng theo hàm logarit.

d)

Số phép tính tăng theo hàm mũ.

13.

Giải thuật có độ phức tạp thường gặp trong trường hợp nào?

a)

Tìm kiếm nhị phân.

b)

Các vòng lặp lồng nhau (ví dụ: sắp xếp nổi bọt).

c)

Truy xuất phần tử mảng theo chỉ số.

d)

Tính giai thừa.

14.

Tiêu chuẩn nào sau đây KHÔNG phải là tiêu chuẩn chính để lựa chọn cấu trúc dữ liệu?

a)

Tốc độ truy xuất dữ liệu.

b)

Dễ dàng cài đặt.

c)

Dung lượng bộ nhớ.

d)

Độ phức tạp của thuật toán.

15.

Bước đầu tiên trong quy trình làm phần mềm (theo mô hình thác nước) là gì?

a)

Viết code (Cài đặt).

b)

Kiểm thử (Testing).

c)

Ý tưởng (Concept) và Xác định yêu cầu.

d)

Bảo trì.

16.

Mã giả (Pseudocode) có đặc điểm gì?

a)

Máy tính có thể chạy trực tiếp được.

b)

Sử dụng ngôn ngữ tựa ngôn ngữ lập trình để diễn đạt giải thuật, dễ công kênh hơn so đồ khối.

c)

Rất trực quan nhờ các hình vẽ.

d)

Phụ thuộc chặt chẽ vào phần cứng.

17.

Yếu tố nào sau đây KHÔNG ảnh hưởng trực tiếp đến thời gian chạy thực tế của giải thuật trên máy?

a)

Tốc độ thực thi lệnh của máy.

b)

Chất lượng mã máy do trình dịch tạo ra.

c)

Màu sắc của giao diện phần mềm.

d)

Độ phức tạp về thời gian của thuật toán.

18.

Độ phức tạp thường thấy ở các thuật toán nào?

a)

Bubble Sort.

b)

Merge Sort.

c)

Selection Sort.

d)

Insertion Sort.

19.

Chương trình máy tính là gì?

a)

Là phần cứng CPU.

b)

Là một hình thức của thuật toán được viết bằng ngôn ngữ lập trình để máy tính hiểu và thực hiện.

c)

Là sơ đồ khối trên giấy.

d)

Là kết quả đầu ra (Output).

20.

Cấu trúc dữ liệu dạng Cây (Tree) có đặc điểm gì?

a)

Các phần tử liên kết tuần tự nối tiếp nhau.

b)

Mỗi phần tử có thể liên kết với nhiều phần tử khác theo phân cấp (từng mức).

c)

Sử dụng hàm băm để ánh xạ.

d)

Lưu trữ dữ liệu dưới dạng bảng.

21.

Tính "Phổ biến" của giải thuật nghĩa là gì?

a)

Giải thuật phải giải quyết được một lớp các vấn đề tương tự.

b)

Ai cũng biết giải thuật đó.

c)

Giải thuật phải chạy trên mọi hệ điều hành.

d)

Giải thuật phải ngắn gọn.

22.

Mục tiêu của bài toán tìm kiếm là gì?

a)

Tìm kiếm phần tử trong một danh sách.

b)

Sắp xếp các phần tử theo thứ tự.

c)

Tìm giá trị lớn nhất trong danh sách.

d)

Tìm giá trị nhỏ nhất trong danh sách.

23.

Hoạt động nào được thực hiện để tìm bản ghi có khóa X trong một khối thông tin lưu trữ?

a)

Sắp xếp lại dữ liệu.

b)

Tìm bản ghi có khóa X cho trước trong một khối thông tin lưu trữ.

c)

Xóa dữ liệu trùng lặp.

d)

Mã hóa dữ liệu.

24.

Tìm kiếm tuyến tính (Linear Search) được thực hiện như thế nào?

a)

Chia đôi mảng liên tục.

b)

Duyệt từ đầu đến cuối mảng và so sánh từng phần tử với khóa cần tìm.

c)

Dựa vào hàm băm để tính địa chỉ.

d)

Sắp xếp mảng trước rồi mới tìm.

25.

Điều kiện để áp dụng Tìm kiếm nhị phân (Binary Search) là gì?

a)

Mảng phải có kích thước chẵn.

b)

Mảng phải chứa số nguyên.

c)

Mảng đã được sắp xếp thứ tự.

d)

Mảng chưa được sắp xếp.

26.

Độ phức tạp trong trường hợp xấu nhất của Tìm kiếm tuyến tính là bao nhiêu?

a)

$O(1)$.

b)

.

c)

$O(n)$.

d)

O(n2)O(n^2) .

27.

Độ phức tạp trong trường hợp xấu nhất của Tìm kiếm nhị phân là bao nhiêu?

a)

$O(n)$.

b)

.

c)

.

d)

$O(1)$.

28.

Trong tìm kiếm nhị phân, tại mỗi bước, không gian tìm kiếm thay đổi như thế nào?

a)

Giảm đi 1 phần tử.

b)

Giảm đi một nửa ($1/2$).

c)

Tăng lên gấp đôi.

d)

Không thay đổi.

29.

Trường hợp tốt nhất của Tìm kiếm tuyến tính xảy ra khi nào?

a)

Phần tử cần tìm nằm ở cuối mảng.

b)

Phần tử cần tìm nằm ở vị trí đầu tiên của mảng.

c)

Không tìm thấy phần tử.

d)

Mảng đã sắp xếp.

30.

Nếu mảng có 1000 phần tử, tìm kiếm tuyến tính trong trường hợp xấu nhất cần so sánh bao nhiêu lần?

a)

1 lần.

b)

10 lần.

c)

500 lần.

d)

1000 lần.

31.

Công thức tính vị trí giữa (mid) trong tìm kiếm nhị phân thường dùng là gì?

a)

$mid = (left + right) / 2$.

b)

$mid = left + right$.

c)

$mid = left - right$.

d)

$mid = (left * right) / 2$.

32.

Trong tìm kiếm nhị phân trên mảng tăng dần, nếu $A[mid] < X$, ta tìm tiếp ở đâu?

a)

Dừng tìm kiếm.

b)

Tìm ở nửa bên trái (từ left đến mid-1).

c)

Tìm ở nửa bên phải (từ mid+1 đến right).

d)

Trả về kết quả không tìm thấy.

33.

Ưu điểm của tìm kiếm tuyến tính so với tìm kiếm nhị phân là gì?

a)

Tốc độ nhanh hơn nhiều.

b)

Không yêu cầu mảng phải được sắp xếp trước.

c)

Tiết kiệm bộ nhớ hơn.

d)

Code phức tạp hơn.

34.

Hàm tìm kiếm thường trả về giá trị -1 khi nào?

a)

Khi tìm thấy phần tử ở vị trí đầu tiên.

b)

Khi mảng bị lỗi.

c)

Khi không tìm thấy phần tử thỏa mãn yêu cầu.

d)

Khi tìm thấy phần tử ở cuối cùng.

35.

Tìm kiếm nhị phân có phù hợp với danh sách liên kết đơn không?

a)

Rất phù hợp.

b)

Không, vì không thể truy cập ngẫu nhiên phần tử giữa tức thời (truy cập tuần tự).

c)

Có, vì danh sách liên kết luôn sắp xếp.

d)

Phù hợp nếu danh sách liên kết có kích thước nhỏ.

36.

Trong đoạn code tìm kiếm tuyến tính while ((i

a)

Chỉ khi tìm thấy x.

b)

Chỉ khi duyệt hết mảng.

c)

Khi tìm thấy x HOẶC đã duyệt hết mảng.

d)

Khi $i > n$.

37.

Độ phức tạp trung bình của tìm kiếm tuyến tính là bao nhiêu?

a)

$O(1)$.

b)

$O((N+1)/2)$.

c)

O(log⁡N)O(\log N) .

d)

O(N2)O(N^2) .

38.

Nếu dữ liệu thường xuyên thay đổi (thêm/xóa), giải thuật tìm kiếm nào thường bị ảnh hưởng hiệu suất do phải sắp xếp lại?

a)

Tìm kiếm tuyến tính.

b)

Tìm kiếm nhị phân.

c)

Cả hai đều không ảnh hưởng.

d)

Tìm kiếm ngẫu nhiên.

39.

Với mảng $A = [2, 6, 8, 9, 11, 10, 32, 18]$, tìm X = 10 bằng tìm kiếm tuyến tính. Số lần so sánh là bao nhiêu?

a)

1.

b)

4.

c)

638.

d)

8.

40.

Cho mảng đã sắp xếp $A = [1, 2, 4, 5, 7, 8, 9, 11, 15, 17]$. Tìm X = 8 bằng nhị phân. Giá trị Mid đầu tiên là bao nhiêu?

a)

5

b)

739

c)

8

d)

4

41.

Trong tìm kiếm nhị phân, điều kiện lặp thường là gì?

a)

left < right

b)

left <= right

c)

left != right

d)

left > right

42.

Giải thuật tìm kiếm tuyến tính phù hợp nhất khi nào?

a)

Dữ liệu cực lớn

b)

Cần tốc độ tìm kiếm nhanh nhất

c)

Danh sách nhỏ hoặc chưa sắp xếp

d)

Danh sách đã sắp xếp

43.

Sắp xếp trong (Internal Sorting) là gì?

a)

Sắp xếp dữ liệu lưu trên bộ nhớ ngoài (ổ cứng).

b)

Sắp xếp dữ liệu khi kích thước quá lớn không đủ bộ nhớ RAM.

c)

Sắp xếp dữ liệu được lưu đầy đủ trong bộ nhớ trong (RAM).

d)

Sắp xếp thông qua các con trỏ gián tiếp.

44.

Độ phức tạp thời gian trung bình của thuật toán Interchange Sort là bao nhiêu?

a)

$O(n)$

b)

O(nlog⁡n)O(n \log n)

c)

d)

$O(1)$

45.

Thuật toán nào sau đây luôn có độ phức tạp trong mọi trường hợp (tốt nhất, xấu nhất, trung bình)?

a)

Quick Sort

b)

Interchange Sort & Selection Sort

c)

Merge Sort

d)

Heap Sort

46.

Ý tưởng chính của thuật toán Selection Sort là gì?

a)

Đổi chỗ các cặp nghịch thế liên tiếp.

b)

Chia dãy thành hai nửa rồi trộn lại.

c)

Chọn phần tử nhỏ nhất trong dãy chưa sắp xếp và đưa về vị trí đúng đầu tiên.

d)

Chèn phần tử đang xét vào vị trí thích hợp trong dãy con đã sắp xếp trước đó.

47.

Trong thuật toán Insertion Sort, nếu dãy ban đầu đã được sắp xếp đúng thứ tự, độ phức tạp là bao nhiêu?

a)

$O(n)$

b)

c)

d)

O(nlog⁡n)O(n \log n)

48.

Thuật toán Bubble Sort hoạt động theo nguyên tắc nào?

a)

A. Chọn phần tử nhỏ nhất đưa về đầu.

b)

B. Chia để trị.

c)

C. Xuất phát từ cuối dãy, đổi chỗ các cặp phần tử kế cận nếu chúng ngược thứ tự mong muốn.

d)

D. Xây dựng cấu trúc Heap.

49.

Thuật toán nào được xem là nhanh nhất trong các giải thuật sắp xếp và hoạt động theo chiến lược "Chia để trị"?

a)

A. Bubble Sort

b)

B. Quick Sort

c)

C. Insertion Sort

d)

D. Selection Sort

50.

Trong Quick Sort, phần tử chốt (pivot) có vai trò gì?

a)

A. Là phần tử nhỏ nhất của dãy.

b)

B. Dùng để chia dãy thành 2 phần: phần nhỏ hơn pivot và phần lớn hơn pivot.

c)

C. Là phần tử đứng cuối cùng sau khi sắp xếp.

d)

D. Là phần tử trung vị của dãy.

51.

Độ phức tạp thời gian xấu nhất của Quick Sort là bao nhiêu?

a)

A. O(nlog⁡n)O(n \log n)

b)

B. $O(n)$

c)

C.

d)

D.

52.

Heap Sort sử dụng cấu trúc dữ liệu nào để sắp xếp?

a)

Ngăn xếp (Stack)

b)

Hàng đợi (Queue)

c)

Cây nhị phân hoàn chỉnh (Heap)

d)

Danh sách liên kết

53.

Trong Heap Sort, giai đoạn 1 dùng để làm gì?

a)

Sắp xếp dãy giảm dần.

b)

Tạo Heap từ dãy ban đầu (vun đống).

c)

Loại bỏ phần tử lớn nhất.

d)

Chia dãy thành các phần tử nhỏ.

54.

Shell Sort là biến thể cải tiến của thuật toán nào?

a)

Bubble Sort

b)

Selection Sort

c)

Insertion Sort

d)

Quick Sort

55.

Shell Sort hoạt động dựa trên nguyên tắc nào?

a)

Phân hoạch dãy thành các dãy con cách nhau $h$ vị trí và sắp xếp chèn trên các dãy con này.

b)

Chia đôi dãy liên tục.

c)

Sử dụng 2 vòng lặp lồng nhau để đổi chỗ trực tiếp.

d)

Vun đống các phần tử.

56.

Thuật toán Merge Sort có độ phức tạp thời gian là bao nhiêu trong trường hợp xấu nhất?

a)

b)

c)

$O(n)$

d)

57.

Tính "ổn định" (stability) trong thuật toán sắp xếp nghĩa là gì?

a)

Thuật toán luôn chạy với thời gian cố định.

b)

Không làm thay đổi bộ nhớ.

c)

Không làm thay đổi thứ tự tương đối của các phần tử có cùng giá trị khóa.

d)

Không bị lỗi khi dữ liệu lớn.

58.

Thuật toán nào sau đây KHÔNg cần bộ nhớ phụ đáng kể (in-place) nhưng vẫn đạt ?

a)

Merge Sort

b)

Heap Sort

c)

Radix Sort

d)

Counting Sort

59.

Với danh sách có kích thước nhỏ, thuật toán nào thường được ưu tiên do cài đặt đơn giản?

a)

Merge Sort

b)

Quick Sort

c)

Insertion Sort hoặc Bubble Sort

d)

Heap Sort

60.

Trong thuật toán Merge Sort, thao tác quan trọng nhất là gì?

a)

Chọn phần tử chốt.

b)

Vun đống.

c)

Trộn (Merge) hai dãy con đã sắp xếp thành một dãy sắp xếp.

d)

Đổi chỗ trực tiếp.

61.

Nếu danh sách đã được sắp xếp một phần, thuật toán nào sẽ tận dụng tốt nhất điều này?

a)

Selection Sort

b)

Insertion Sort

c)

Quick Sort

d)

Heap Sort

62.

Điều kiện dùng của thuật toán Quick Sort là gì?

a)

Khi danh sách con có độ dài bằng 1 hoặc 0.

b)

Khi không còn cặp nghịch thế nào.

c)

Khi chiều cao cây bằng 0.

d)

Khi số lần lặp đạt .

63.

Đặc điểm chính của biến động (dynamic variable) là gì?

a)

Có tên gọi tường minh và địa chỉ cố định.

b)

Không có tên gọi tường minh, được cấp phát khi cần và giải phóng khi xong.

c)

Chỉ tồn tại trong hàm main.

d)

Kích thước cố định không đổi.

64.

Trong C++, toán tử nào dùng để cấp phát bộ nhớ động?

a)

malloc

b)

alloc

c)

new

d)

create

65.

Cấu trúc tự trỏ (Self-referential structure) là gì?

a)

Cấu trúc chứa một biến nguyên trỏ đến chính nó.

b)

Cấu trúc chứa ít nhất một con trỏ trỏ đến vùng dữ liệu có cùng kiểu cấu trúc.

c)

Cấu trúc không chứa dữ liệu nào.

d)

Cấu trúc chỉ chứa các con trỏ hàm.

66.

Ưu điểm của Danh sách liên kết (Linked List) so với Mảng (Array) là gì?

a)

Truy xuất phần tử ngẫu nhiên nhanh hơn ($O(1)$).

b)

Sử dụng bộ nhớ hiệu quả và linh động về số lượng phần tử (không cần kích thước cố định).

c)

Cài đặt đơn giản hơn mảng.

d)

Không tốn bộ nhớ cho con trỏ liên kết.

67.

Trong Danh sách liên kết đơn, mỗi nút (Node) gồm những thành phần nào?

a)

Chỉ chứa dữ liệu (Data).

b)

Chỉ chứa địa chỉ nút kế tiếp.

c)

Thành phần dữ liệu (Data) và thành phần liên kết (con trỏ Next).

d)

Dữ liệu và hai con trỏ (Next, Prev).

68.

Để quản lý một DSLK đơn, ta thường cần ít nhất bao nhiêu con trỏ?

a)

1 con trỏ (First) hoặc 2 con trỏ (First và Last).

b)

Không cần con trỏ nào.

c)

1 mảng các con trỏ.

d)

Chỉ cần con trỏ Last.

69.

Thao tác thêm một phần tử vào ĐẦU danh sách liên kết đơn có độ phức tạp là bao nhiêu?

a)

$O(n)$

b)

c)

$O(1)$

d)

70.

Ngăn xếp (Stack) hoạt động theo nguyên tắc nào?

a)

FIFO (Vào trước ra trước).

b)

LIFO (Vào sau ra trước).

c)

Ngẫu nhiên.

d)

Ưu tiên (Priority).

71.

Thao tác thêm một đối tượng vào Stack gọi là gì?

a)

Pop

b)

Push

c)

Dequeue

d)

Enqueue

72.

Hàng đợi (Queue) hoạt động theo nguyên tắc nào?

a)

LIFO (Vào sau ra trước).

b)

FIFO (Vào trước ra trước).

c)

Ngẫu nhiên.

d)

Ưu tiên (Priority).

73.

Trong Hàng đợi cài đặt bằng mảng, biến Front và Back dùng để làm gì?

a)

Front quản lý phần tử cuối, Back quản lý phần tử đầu.

b)

Front quản lý chỉ số phần tử đầu, Back quản lý chỉ số phần tử cuối.

c)

Chỉ dùng để đếm số lượng phần tử.

d)

Front trỏ tới phần tử giữa, Back trỏ tới phần tử cuối.

74.

Nếu cài đặt Stack bằng DSLK đơn, đỉnh (Top) của Stack nên đặt ở đâu để tối ưu?

a)

Cuối danh sách (Last).

b)

Giữa danh sách.

c)

Đầu danh sách (First).

d)

Bất kỳ đâu.

75.

Danh sách liên kết kép (Doubly Linked List) khác DSLK đơn ở điểm nào?

a)

Mỗi nút có thêm con trỏ tới nút phía trước (Previous).

b)

Nút cuối trỏ về nút đầu.

c)

Chỉ đi được một chiều.

d)

Không dùng con trỏ.

76.

Danh sách liên kết vòng (Circular Linked List) có đặc điểm gì?

a)

Không có phần tử đầu.

b)

Nút cuối cùng liên kết với nút đầu tiên thay vì trỏ tới NULL.

c)

Chỉ có một nút duy nhất.

d)

Không có phần tử cuối.

77.

Ứng dụng nào sau đây thường sử dụng Stack?

a)

Quản lý hàng đợi in ấn.

b)

Chuyển đổi biểu thức trung tố sang hậu tố và tính giá trị biểu thức.

c)

Quản lý danh sách khách hàng chờ.

d)

Sắp xếp file.

78.

Khi xóa một nút P đứng sau nút Q trong DSLK đơn, ta cần làm gì?

a)

Q->next = P->next; delete P;

b)

P->next = Q->next; delete Q;

c)

Q->next = NULL; delete P;

d)

delete P;

79.

Trong bài toán Tháp Hà Nội, việc khử đệ quy có thể sử dụng cấu trúc dữ liệu nào?

a)

Queue

b)

Array

c)

Stack

d)

Tree

80.

Biểu thức hậu tố của biểu thức trung tố (A + B) * C là gì?

a)

* + A B C

b)

A B + C *

c)

A B C + *

d)

+ A B C

81.

Khi thêm phần tử vào hàng đợi (Enqueue), vị trí thêm vào là ở đâu?

a)

Đầu hàng đợi (Front).

b)

Cuối hàng đợi (Back/Rear).

c)

Giữa hàng đợi.

d)

Bất kỳ vị trí nào trống.

82.

Trong cài đặt DSLK đơn, con trỏ next của nút cuối cùng (Last) trỏ đi đâu?

a)

Trỏ về nút đầu (First).

b)

Trỏ về chính nó.

c)

Trỏ tới NULL.

d)

Không xác định.

83.

Nút gốc (Root) của cây là gì?

a)

Nút không có con.

b)

Nút không có cha.

c)

Nút có bậc lớn nhất.

d)

Nút nằm ở mức cao nhất (mức n).

84.

Bậc của một nút là gì?

a)

Số lượng nút cha của nó.

b)

Số lượng cây con (nhánh con) của nút đó.

c)

Số lượng nút lá trong cây con của nó.

d)

Số lượng nút cha và con của nó.