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

Đáp án môn cấu trúc dữ liệu và giải thuật

26 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Đáp án môn cấu trúc dữ liệu và giải thuật
Chuyên ngành Cấu trúc Dữ liệu và Giải thuật
Thể loại bài tập trắc nghiệm
Định dạng
Số trang 26
Dung lượng 454,37 KB

Nội dung

Là một tập hợp hữu hạn của các chỉ thị hay phương cách được định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán

Trang 1

Câu Hỏi 1: Kiểu dữ liệu con trỏ được dùng để làm gì?

A.Được dùng để lưu vị trí con trỏ

B.Được dùng để lưu giá trị của ô nhớ

C.Được dùng để trỏ tới một giá trị

D.Được dùng để lưu các con trỏ đến bất kỳ một kiểu dữ liệu nào khác

Câu Hỏi 2: Đâu là kiểu dữ liệu cơ bản trong các kiểu dữ liệu dưới đây?

A.Kiểu cấu trúc bản ghi B.Kiểu tệp tin

Câu Hỏi 3: Hãy cho biết ưu điểm của các kiểu dữ liệu trừu tượng

A.Giúp cho người lập trình dễ viết chương trình

B.Giúp cho giải thuật đơn giản hơn

C.Giúp cho người dùng dễ sử dụng chương trình

D.Giúp cho người lập trình không phải quá quan tâm đến các cách thức biểu diễn

cụ thể các dữ liệu đó trên máy tính

Câu Hỏi 4: Chọn định nghĩa đúng nhất cho từ Giải thuật?

A.Là các giải thích về các thuật ngữ trong tin học

B.Là cách biểu diễn cấu trúc dữ liệu dưới dạng giả mã, ngôn ngữ tự nhiên, sơ đồ khối

C.Là tập hợp các lệnh xử lý dữ liệu

D.Là một tập hợp hữu hạn của các chỉ thị hay phương cách được định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán

Câu Hỏi 5: Kiểu dữ liệu cơ bản là gì?

A.Là kiểu dữ liệu đơn giản

B.Là kiểu dữ liệu có sẵn trên hầu hết các máy tính và được hỗ trợ trong hầu hết cá

c ngôn ngữ lập trình

C.Là kiểu dữ liệu giúp cho việc lập trình dễ dàng hơn

D.Là kiểu dữ liệu không đòi hỏi kĩ thuật cao trong xử lý

Câu Hỏi 6: Yêu cầu khi chọn kiểu dữ liệu cho chương trình là?

A.Kiểu dữ liệu cần sát với kiểu giá trị của các thông tin đó trong thực tế

Trang 2

A.Là địa chỉ vị trí của con trỏ

B.Là giá trị của các kiểu dữ liệu khác

C.Là giá trị tại một vùng bộ nhớ

D.Là địa chỉ đến một vùng bộ nhớ nhất định

Câu Hỏi 8: Kiểu truy cập các phần tử trong một mảng là kiểu truy cập nào trong các kiểu dưới đây?

A.Kiểu truy cập ngẫu nhiên

B.Kiểu truy cập tuần tự

C.Kiểu truy cập song song

D.Kiểu truy cập nhanh

Câu Hỏi 9: Hãy cho biết kiểu dữ liệu trừu tượng là gì?

A.Là kiểu dữ liệu đa năng phù hợp với mọi loại giá trị

B.Là kiểu dữ liệu do hệ thống tự sinh ra

C.Là kiểu dữ liệu không có giới hạn về độ lớn

D.Là kiểu dữ liệu mới do người dùng tự định nghĩa

Câu Hỏi 10: Hãy cho biết kết quả của phép MOD hai số nguyên có kiểu gì?

A.Kiểu số thực

B.Kiểu ký tự

C.Kiểu logic

D.Kiểu số nguyên

Câu Hỏi 11: Kiểu dữ liệu cơ bản là gì?

A.Là kiểu dữ liệu đơn giản

B.Là kiểu dữ liệu giúp cho việc lập trình dễ dàng hơn

C.Là kiểu dữ liệu không đòi hỏi kĩ thuật cao trong xử lý

D Là kiểu dữ liệu có sẵn trên hầu hết các máy tính và được hỗ trợ trong hầu hết các ngôn ngữ lập trình

Câu Hỏi 2: Kiểu dữ liệu con trỏ được dùng để làm gì?

A.Được dùng để lưu vị trí con trỏ

B.Được dùng để lưu các con trỏ đến bất kỳ một kiểu dữ liệu nào khác

C.Được dùng để trỏ tới một giá trị

D.Được dùng để lưu giá trị của ô nhớ

Câu Hỏi 3: Đâu là một trong những tiêu chí khi chọn ngôn ngữ diễn đạt giải thuật ?

A.Chọn ngôn ngữ nào bạn thích

B.Gần với ngôn ngữ lập trình hiện có

C.Ngôn ngữ tiếng Việt

D.Ngôn ngữ càng gần với ngôn ngữ máy càng tốt

Trang 3

Câu Hỏi 4: Hãy cho biết ý nghĩa của kiểu dữ liệu logic (BOOLEAN)

A.Dùng trong các phép so sánh

B.Dùng để biểu diễn các giá trị logic bao gồm 2 giá trị đúng (true) và sai (false)

C.Dùng trong tính toán số học

D.Dùng trong các phép toán logic

Câu Hỏi 5: Hãy cho biết kết quả của phép MOD hai số nguyên có kiểu gì?

Câu Hỏi 6: Kiểu dữ liệu nào thuộc loại kiểu dữ liệu cơ bản?

Câu Hỏi 7: Hãy cho biết giá trị của “con trỏ” là gì?

A.Là giá trị tại một vùng bộ nhớ

B.Là địa chỉ đến một vùng bộ nhớ nhất định

C.Là địa chỉ vị trí của con trỏ

D.Là giá trị của các kiểu dữ liệu khác

Câu Hỏi 8: Yêu cầu khi chọn kiểu dữ liệu cho chương trình là?

A.Kiểu dữ liệu càng nhỏ càng tốt

B.Kiểu dữ liệu cần sát với kiểu giá trị của các thông tin đó trong thực tế

C.Kiểu dữ liệu càng lớn càng tốt

D.Có thể chọn bất cứ kiểu dữ liệu nào

Câu Hỏi 9: Hãy cho biết kiểu dữ liệu trừu tượng là gì?

A.Là kiểu dữ liệu mới do người dùng tự định nghĩa

B.Là kiểu dữ liệu không có giới hạn về độ lớn

C.Là kiểu dữ liệu đa năng phù hợp với mọi loại giá trị

D.Là kiểu dữ liệu do hệ thống tự sinh ra

Câu Hỏi 10: Chọn định nghĩa đúng nhất cho từ Giải thuật?

A.Là tập hợp các lệnh xử lý dữ liệu

B.Là một tập hợp hữu hạn của các chỉ thị hay phương cách được định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán

C.Là các giải thích về các thuật ngữ trong tin học

D.Là cách biểu diễn cấu trúc dữ liệu dưới dạng giả mã, ngôn ngữ tự nhiên, sơ đồ khối

Trang 4

Hãy chọn mô tả đúng nhất cho khai báo NodeType *next

A.Vùng liên kết quản lý địa chỉ phần tử kế tiếp

B.Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử trước đó trong danh sách liên kết đôi C.Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử đầu tiên trong danh sách liên kết đôi D.Con trỏ trỏ tới phần dữ liệu

Câu Hỏi 2: Định nghĩa nào là đúng với danh sách liên kết?

A.Danh sách liên kết là cấu trúc dữ liệu dạng cây

B.Danh sách liên kết là tập hợp các phần tử mà giữa chúng có một sự nối kết với nhau thông qua vùng liên kết của chúng

C.Danh sách liên kết là tập hợp các phần tử mà đặt kề cận với nhau trong vùng nhớ D.Danh sách liên kết là cấu trúc dữ liệu tự định nghĩa

Câu Hỏi 3: Lựa chọn định nghĩa đúng nhất về danh sách?

A.Danh sách là tập hợp các phần tử mà giữa chúng có một mối liên hệ nào đó

B.Danh sách là tập hợp các phần tử có cùng giá trị

C.Danh sách là tập hợp các phần tử có cùng kiểu dữ liệu

D.Danh sách là tập hợp các phần tử có kiểu dữ liệu xác định và giữa chúng có một mối liên hệ nào đó

Câu Hỏi 4: Một danh sách rỗng khi:

A.độ dài của danh sách không xác định

B.độ dài của danh sách bằng 1

C.tổng giá trị các phần tử của danh sách bằng 0

D.độ dài của danh sách bằng 0

Câu Hỏi 5: Biểu diễn danh sách bằng mảng được mô tả như sau:

Trang 5

Câu Hỏi 7: Trong việc ứng dụng danh sách liên kết để tính toán giá trị của một đa thức

1 ẩn bậc n, để lưu trữ đa thức trong danh sách liên kết thì mỗi nút của danh sách thường

A.O(n2) B.O(n) C.O(2n) D.O(n.log2(n))

Câu Hỏi 1: Định nghĩa nào là đúng với danh sách liên kết?

A.Danh sách liên kết là cấu trúc dữ liệu tự định nghĩa

B.Danh sách liên kết là cấu trúc dữ liệu dạng cây

C.Danh sách liên kết là tập hợp các phần tử mà giữa chúng có một sự nối kết với nhau thông qua vùng liên kết của chúng.

D.Danh sách liên kết là tập hợp các phần tử mà đặt kề cận với nhau trong vùng nhớ

Câu Hỏi 2: Lựa chọn định nghĩa đúng nhất về danh sách?

A.Danh sách là tập hợp các phần tử mà giữa chúng có một mối liên hệ nào đó

Trang 6

Câu Hỏi 4: Lựa chọn câu đúng nhất về danh sách liên kết đôi (Doubly Linked List)

A.Vùng liên kết của một phần tử trong danh sách liên đôi có 02 mối liên kết, 01 với phần tử trước và 01 với phần tử sau nó trong danh sách.

B.Vùng liên kết của một phần tử trong danh sách liên đôi có 01 mối liên kết với 02 phần

để xóa một phần tử tại vị trí Pos khỏi danh sách List Thủ tục Insert_L(Pos: position ; X: Item; var List: ListType) để thêm một phần tử X vào vị trí Pos trong danh sách List Khi đó nếu ta thực hiện liên tiếp DSC_L(2,7,L), Delete_L (2,L), Insert_L(2,3,L) thì kết quả sẽ được danh sách L như sau?

Điều kiện danh sách đầy là:

A.Size.List = Max_Size B.List = Max_Size

Câu Hỏi 10: Với cấu trúc dữ liệu như sau

typedef struct DNode

{int Key;

DNode * NextNode;

DNode * PreNode;

} DOneNode;

typedef DOneNode * DPointerType;

typedef struct DLLPairNode

{DPointerType DLLFirst;

DPointerType DLLLast;

Trang 7

} DLLPType;

Hãy cho biết hàm sau dùng để làm gì?

void DLLTravelling (DLLPType DList)

{DPointerType CurrNode = DList.DLLFirst;

while (CurrNode != NULL)

B.Thêm một phần tử vào danh sách

C.Duyệt qua các nút trong danh sách và hiển thị nội dung của mỗi nút

D.Xoá một phần tử khỏi danh sách

Câu Hỏi 9: Định nghĩa cấu trúc dữ liệu của danh sách liên kết đôi được mô tả như sau: Typedef Kieu_du_lieu ElementType;

typedef struct NodeType

{

ElementType Data;

struct NodeType *next, *prev;

}Node ;

Hãy chọn mô tả đúng nhất cho khai báo NodeType *next

A.Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử đầu tiên trong danh sách liên kết đôi B.Con trỏ trỏ tới phần dữ liệu

C.Con trỏ trỏ tới địa chỉ vùng nhớ của phần tử trước đó trong danh sách liên kết đôi

D.Vùng liên kết quản lý địa chỉ phần tử kế tiếp

Trang 8

A.ab + cde /-* B.ab *+ cde /-

C.abc *+ de /- D.ab + cde */-

Câu Hỏi 3: Việc cài đặt ngăn xếp bằng mảng được thực hiện qua khai báo dưới đây:

Ý nghĩa đúng nhất của ElementType là:

A.Chứa các phần tử của Stack B.Số phần tử hiện thời của Stack

C.Kiểu dữ liệu của các phần tử trong Stack D.Vị trí đỉnh hiện tại của Stack

Câu Hỏi 4: Cho biểu thức số học dạng Balan như sau: 1 2 3 4 *- + 5 6 4 8 – – +

* Việc tính toán giá trị biểu thức này khi dùng Stack được cài đặt bằng mảng thì số ph

ần tử tối thiểu của mảng phải là bao nhiêu?

Câu Hỏi 5: Cho biểu thức số học dạng thông thường: (a+b)*(c-(d-e)) Đâu là biểu diễn biểu thức này dưới dạng biểu thức Balan?

A.ab *+ cde B.ab + cde *

C.abc *+ de D.ab + cde *

Câu Hỏi 6: Cấu trúc dữ liệu nào tương ứng với nguyên lý LIFO

Câu Hỏi 7: Cho biểu thức số học dạng Balan như sau: abc +* de /- với các giá trị a=1; b=2; c=3; d=8; e=4; thì giá trị của biểu thức là:

Trang 9

Câu Hỏi 8: Cho biểu thức số học dạng Balan như sau: 1 2 3 4 *- + 5 6 4 8 – – +

* Việc tính toán giá trị biểu thức này khi dùng Stack được cài đặt bằng mảng thì phần

tử được đẩy vào Stack lần thứ 8 có giá trị là bao nhiêu?

Câu Hỏi 9: Trong việc cài đặt ngăn xếp bằng mảng A[…], nếu hiện tại ngăn xếp có n phần tử thì phần tử mới nhất vừa được đưa vào ngăn xếp vị trí nào trong mảng?

Câu Hỏi 10: Việc cài đặt ngăn xếp bằng mảng được thực hiện qua khai báo dưới đây:

Trang 10

Ý nghĩa đúng nhất của ELEMENT là:

A.Số phần tử hiện thời của Hàng đợi

B.Chứa các phần tử của Hàng đợi

C.Kiểu dữ liệu của các phần tử trong Hàng đợi

D.Vị trí đỉnh hiện tại của Hàng đợi

Câu Hỏi 2: Việc kiểm tra hàng đợi có rỗng không được thực hiện bằng đoạn mã dưới đây: int IS_EMPTY(QUEUE_ARRAY q)

Trang 11

B.Độ lớn cực đại của hàng đợi

C.Kiểu dữ liệu của các phần tử trong hàng đợi

D.Số phần tử hiện thời của hàng đợi

Câu Hỏi 4: Việc bổ sung thêm phần tử vào hàng đợi được thực hiện bằng đoạn mã dưới đây: void ENQUEUE(QUEUE_ARRAY q, ELEMENT e)

A.Tăng H lên 1 đơn vị B.Giảm H đi 1 đơn vị

C.Không thực hiện được D.Giá trị H được gán bằng 1

Câu Hỏi 6: Việc lấy một phần tử từ hàng đợi được thực hiện bằng đoạn mã dưới đây: ELEMENT DEQUEUE(QUEUE_ARRAY q)

Trang 12

A.Giá trị T được gán bằng 1 B.Không thực hiện được

C.Tăng T lên 1 đơn vị D.Giảm T đi 1 đơn vị

Câu Hỏi 8: Khi cài đặt hàng đợi bằng mảng, nếu ta đặt tên các biến như sau: biến T thể hiện vị trí đuôi, biến H thể hiện vị trí đầu Thao tác thêm 1 phần tử vào hàng đợi sẽ:

A.Tăng T lên 1 đơn vị B.Tăng H lên 1 đơn vị

C.Giảm T đi 1 đơn vị D.Giảm H đi 1 đơn vị

Câu Hỏi 9: Khi lấy ra một phần tử của hàng đợi thì phần tử đó ở vị trí:

A.Cuối cùng của hàng đợi

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

C.Không thể lấy ra một phần tử nào của hàng đợi

D.Đầu tiên của hàng đợi

Câu Hỏi 10: Để cài đặt thàng đợi bằng danh sách liên kết, trước tiên ta phải định nghĩa kiểu phần tử cho danh sách Mỗi phần tử của danh sách liên kết phải có bao nhiêu trường:

A.Độ lớn cực đại của hàng đợi

B.Tên của hàng đợi

C.Kiểu dữ liệu của các phần tử trong hàng đợi

D.Chứa các phần tử của hàng đợi

Câu Hỏi 8: Cấu trúc dữ liệu nào tương ứng với nguyên lý FIFO

Trang 13

Câu Hỏi 9: Khi cài đặt hàng đợi bằng mảng, nếu ta đặt tên các biến như sau: biến T thể hiện vị trí đuôi, biến H thể hiện vị trí đầu Thao tác thêm 1 phần tử vào hàng đợi sẽ:

A.Tăng H lên 1 đơn vị B.Giảm T đi 1 đơn vị

C.Giảm H đi 1 đơn vị D.Tăng T lên 1 đơn vị

Câu Hỏi 10: Cấu trúc dữ liệu nào khi cài đặt bằng mảng ta phải cần 2 biến vị trí để quản

A.Độ lớn cực đại của hàng đợi

B.Số phần tử hiện thời của hàng đợi

C.Kiểu dữ liệu của các phần tử trong hàng đợi

D.Vị trí đỉnh hiện tại của hàng đợi

Trang 14

TUẦN 5

Câu Hỏi 1: Cho một biểu diễn cây như sau:

Bậc của đỉnh e là

Câu Hỏi 2: Có bao nhiêu thao tác trên cây nhị phân?

A.Có 3 thao tác B.Có 7 thao tác

Câu Hỏi 3: Cho một biểu diễn cây như sau:

Mức của đỉnh 3 là :

Câu Hỏi 4: Đỉnh trong của một cây là đỉnh như thế nào?

A.Là đỉnh có 1 hoặc 2 con B.Là đỉnh không có con C.Là đỉnh không có cha D.Là đỉnh có ít nhất 1 con

Câu Hỏi 5: Cho một biểu diễn cây như sau:

Đâu là tập các lá của cây:

C.{4, 5, 6, 7, 8, 9} D.{3, 4, 5, 6, 7, 8, 9}

Trang 15

Câu Hỏi 6: Hãy cho biết độ cao của một cây được xác định như thế nào?

A.Là độ dài đường đi từ gốc tới một lá bất kỳ

B.Là độ dài đường đi dài nhất từ gốc tới lá

C.Là độ dài đường đi từ một lá bất kỳ đến gốc

D.Không có khái niệm này

Câu Hỏi 7: Các phần tử của cây thì được gọi là gì?

Câu Hỏi 8: Các đỉnh của cây có bậc bằng 0 thì được gọi là gì?

A.Là Cầu B.Là Ngọn C.Là Gốc D.Là Lá

Câu Hỏi 9: Đâu là phương pháp duyệt hậu thứ tự một cây nhị phân?

A.Duyệt cây con bên phải sau đó tới cây con bên trái rồi tới nút gốc

B.Nút gốc được duyệt trước sau đó duyệt đến cây con bên phải rồi tới cây con bên trái C.Duyệt cây con bên trái sau đó tới nút gốc rồi tới cây con bên phải

D.Nút gốc được duyệt trước sau đó duyệt đến cây con bên trái rồi tới cây con bên phải

Câu Hỏi 10: Quan hệ phân cấp giữa các nút trong cây được gọi là quan hệ gì?

A.Quan hệ anh – em B.Quan hệ cha – con

C.Quan hệ chú – cháu D.Không có quan hệ

Câu Hỏi 8:

Hãy cho biết kết quả duyệt trung thứ tự (duyệt nút gốc giữa) của cây nhị phân sau

Trang 16

TUẦN 6

Câu Hỏi 1: Đâu là một điều kiện của việc xóa một nút của cây nhị phân tìm kiếm?

A.Cây nhận được sau khi xóa là cây nhị phân hoàn chỉnh

B.Cây nhận được sau khi xóa là cây nhị phân đầy đủ

C.Cây nhận được sau khi xóa là cây nhị phân được sắp xếp

D.Cây nhận được sau khi xóa là cây nhị phân tìm kiếm

Câu Hỏi 2: Cho thuật toán tìm kiếm nhị phân sau:

Bước 1: đặt First = 0 và Last = n – 1;

Bước 2: Found = –1;//Found là biến lưu vị trí tìm thấy X trong mảng

Bước 3: while((First <= Last)&&(Found == –1))

{ Mid =(First + Last)/2;

if(X < R[Mid]) Last = Mid – 1;

else if(X > R[Mid]) First = Mid + 1;

else Found = Mid;

}

Đâu là điều kiện của mảng R[] để thực hiện thuật toán?

A.Được sắp tăng B.Số phần tử > (First + Last)

C.Được sắp giảm D.Giá trị các phần tử <=(First + Last)/2

Câu Hỏi 3: Cho thuật toán tìm kiếm sau, với điều kiện các giá trị của mảng đã được sắp theo thứ tự tăng dần:

typedef <kiểu_dữ_liệu> KeyType;

int LinearSearch(KeyType X, dataArray R,int n)

Trang 17

A.Số phép so sánh: Smax = 27 B.Số phép so sánh: Smax = 15 C.Số phép so sánh: Smax = 30 D.Số phép so sánh: Smax = 9

Câu Hỏi 4: Khi xóa một nút của cây nhị phân tìm kiếm, trường hợp nút cần xóa là nút

có đủ hai nút gốc cây con Đâu là định nghĩa đúng nhất cho khái niệm "nút tiền nhiệm"?

A.Nút có khóa lớn nhất B.Nút cực phải của cây con trái

C.Nút có khóa nhỏ nhất D.Nút cực trái của cây con phải

Câu Hỏi 5: Cho thuật toán tìm kiếm sau

typedef <kiểu_dữ_liệu> KeyType;

int Sequential_Search(dataArray R,KeyType X,int n);

Câu Hỏi 6: Cho thuật toán sau

int LinearSearch (float M[], int N, float X)

Ngày đăng: 13/11/2024, 15:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w