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

Đáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlie

33 682 6
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

Định dạng
Số trang 33
Dung lượng 189,59 KB

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

Nội dung

Đáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlieĐáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlieĐáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlieĐáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlieĐáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlieĐáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlieĐáp Án Cấu trúc Dữ Liệu và Giải Thuật Đại Học Thái Nguyên Tnu onlie

Trang 1

TUẦN 1

cÂU 1 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 lớn càng tốt

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

C.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ế

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

Đáp án đúng là: 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

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

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

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

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

Đáp án đúng là: Gần với ngôn ngữ lập trình hiện có

Câu Hỏi 5Hã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

Đáp án đúng là: 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 6Hã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ị

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

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

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

Đáp án đúng là: Là kiểu dữ liệu mới do người dùng tự định nghĩa

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

A.RECORD

B.POINTER

Trang 2

C.ARRAY

D.STRING

Đáp án đúng là: POINTER

Câu Hỏi 8Chọ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à 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

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

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

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

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

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

(false)

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

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

Câu Hỏi 10Kiể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 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

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

Đáp án đúng là: 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 1 Nếu số lần gọi truy hồi đến giải thuật Fibonnaci tại vị trí thứ n là nF(n) thì nF(n) được tính theo công thức nào?

A.Được sử dụng để lưu trữ liên tiếp các phần tử thuộc cùng một kiểu dữ liệu

B.Được sử dụng để lưu trữ liên tiếp các phần tử thuộc kiểu dữ liệu cơ bản

C.Được sử dụng để lưu trữ liên tiếp các phần tử thuộc kiểu dữ liệu trừu tượng D.Được sử dụng để lưu trữ liên tiếp các phần tử thuộc kiểu ký tự và số nguyên Đáp án đúng là: Được sử dụng để lưu trữ liên tiếp các phần tử thuộc cùng một kiểu

dữ liệu

Trang 3

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

Câu 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à 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ư

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

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

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

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

(false)

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

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

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

?

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

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

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

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

Đáp án đúng là: Gần với ngôn ngữ lập trình hiện có

Câu 8 Hãy cho biết giải thuật đệ quy tìm ước số chung lớn nhất của hai số nguyên A,B> 0 thì điều kiện kết thúc đệ quy là gì?

A.A=0 và B =0

B.A=1 và A>B

C.A=0 hoặc B=0

D.A=1 và A#B

Trang 4

Đáp án đúng là: A=0 hoặc B=0

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

A.Được dùng để trỏ tới một giá 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 để lưu vị trí con trỏ

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

Đáp án đúng là: Đượ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 10.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 song song

C.Kiểu truy cập nhanh

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

Đáp án đúng là: Kiểu truy cập ngẫu nhiên

TUẦN 2

Câu 1: 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 có mấy trường:

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ử có cùng kiểu dữ liệu

B.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.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 đó D.Danh sách là tập hợp các phần tử có cùng giá trị

Đáp án đúng là: 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 3:Với cấu trúc dữ liệu của danh sách liên kết đơn lưu trữ thông tin

Trang 5

Để quản lý danh sách liên kết đơn bằng phần tử đầu và phần tử cuối, cần định nghĩa kiểu dữ liệu:

C.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

D.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 với phần tử đầu và cuối của danh sách

Đáp án đúng là: 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

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

Trang 6

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

A.Size = 0

B.List = Max_Size

C.List.Size = Max_Size

D.Size.List = Max_Size

Câu Hỏi 6Vớ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;

} 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)

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

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

Đáp án đúng là: Duyệt qua các nút trong danh sách và hiển thị nội dung của mỗi nút

Câu Hỏi 7Cho biết ý nghĩa của hàm sau :

ListType Insert_E(int Pos,E_Type Item,ListType List)

Trang 7

A.Để thêm một phần tử Item vào vị trí Pos-2 trong danh sách List

B.Để thêm một phần tử Item vào vị trí Pos-1 trong danh sách List

C.Để thêm một phần tử Item vào vị trí Pos trong danh sách List

D.Để thêm một phần tử Item vào vị trí Pos+1 trong danh sách List

Phản hồi

Câu trả lời của bạn chưa chính xác

Đáp án đúng là: Để thêm một phần tử Item vào vị trí Pos-1 trong danh sách List

Câu Hỏi 8Đị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 phần dữ liệu

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

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.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

Đáp án đúng là: Vùng liên kết quản lý địa chỉ phần tử kế tiếp

Câu Hỏi 9Cho danh sách L = (1, 8, 9, 2, 4, 0, 6, 7, 5) Thủ tục DSC_L(Pos1; Pos2: position ; var List: ListType) để đưa ra một danh sách con của List bắt đầu

từ vị trí Pos1 đến vị trí Pos2 và trả giá trị cho List Thủ tục Delete_L(Pos: position

; var List: ListType) để 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?

Trang 8

sách List Khi đó nếu ta thực hiện liên tiếp Delete_L(2,L), Delete_L(4,L) thì kết quả sẽ được danh sách L như sau?

Câu 11: Cho danh sách L = (1, 5, 3, 2, 4, 0, 6, 8, 9) được biểu diễn bằng mảng

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 Insert_L(3,7,L) thì cần phải thực hiện tối thiểu bao nhiêu phép thay đổi giá trị các phần tử trong

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

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

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

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

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

Đáp án đúng là: Độ dài của danh sách bằng 0

Câu Hỏi 4Trong định nghĩa danh sách liên kết đôi, mỗi nút gồm bao nhiêu thành phần?

Câu 14 Đị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

Trang 9

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

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ớ

Tuần 3 Câu 1; 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 2Cho 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ứ 10 có giá trị là bao nhiêu?

Vì: Stack (ngăn xếp) là một dạng đặc biệt của danh sách mà việc bổ sung hay loại

bỏ một phần tử đều được thực hiện ở một đầu của danh sách gọi là đỉnh Nói cách khác, ngăn xếp là một cấu trúc dữ liệu có 2 thao tác cơ bản: bổ sung (push) và loại

bỏ (pop), trong đó việc loại bỏ sẽ tiến hành loại phần tử mới nhất được đưa vào danh sách Chính vì tính chất này mà ngăn xếp còn được gọi là kiểu dữ liệu có nguyên tắc LIFO (last in first out – vào sau ra trước)

Câu Hỏi 4Việ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

B.Tên của Stack

C.Chứa các phần tử của Stack

D.Kiểu dữ liệu của các phần tử trong Stack

Vì: khai báo biến S có kiểu Stack

Câu Hỏi 5Trong 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 6Việc lấy một phần tử khỏi đỉnh Stack khi cài đặt Stack bằng danh sách liên kết được thực hiện bằng đoạn mã dưới đây:

A.S –> Top –> Next

B.S –> Top = S –> Top –> Next

C.S –> Top = S –> Next

D.Top = Next

Đáp án đúng là: S –> Top = S –> Top –> Next

Vì: Việc lấy một phần tử khỏi đỉnh Stack khi cài đặt Stack bằng danh sách liên kết được thực hiện :

- Nếu ngăn xếp rỗng: return NULL

- Nếu ngăn xếp không rỗng:

Cất đỉnh ngăn xếp vào biến con trỏ p : p = S –> Top;

Trang 11

Và con trỏ đỉnh ngăn xếp nhỏ tới phần tử tiếp theo (lúc này là đỉnh mới của ngăn xếp): S –> Top = S –> Top –> Next;

Câu Hỏi 7Việ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.Vị trí đỉnh hiện tại của Stack

D.Kiểu dữ liệu của các phần tử trong Stack

Đáp án đúng là: Kiểu dữ liệu của các phần tử trong Stack

Vì:Cài đặt ngăn xếp bằng mảng: top_id: biến số nguyên để lưu giữ đỉnh hiện tại của ngăn xếp

ElementType: Kiểu dữ liệu của các phần tử trong Stack

Câu Hỏi 8Cho 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à:

đó, hai toán hạng cuối cùng được đọc kết hợp với toán tử này

Biểu thức Balan dạng: abc +* de /-

Với các giá trị abcde đầu bài cho ta có: 1 2 3 +* 8 4 /-

Trang 12

Câu Hỏi 10Biểu diễn và tổ chức ngăn xếp (Stack) bằng danh sách liên kết giả

sử bề mặt của ngăn xếp là đầu danh sách liên kết

typedef struct SElement

Thêm 1 phần tử vào ngăn xếp (dùng cấu trúc dữ liệu mô tả ở trên)

B1: NewElement = Khởi tạo nút mới (dùng toán tử new)

Trang 13

Câu 11; 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 2Cho 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?

Câu Hỏi 3Trong việc cài đặt ngăn xếp bằng mảng A[…], ta sử dụng một

biến top_id để lưu giữ đỉnh của ngăn xếp, nếu hiện tại ngăn xếp chưa có phần

tử thì giá trị của top_id là bao nhiêu?

Câu Hỏi 4Cho 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?

Trang 14

Câu Hỏi 5Khi dùng Stack được cài đặt bằng mảng để đổi số tự nhiên N = 70 (hệ cơ

số 10) sang hệ nhị phân thì số phần tử tối thiểu của mảng phải là bao nhiêu?

Câu Hỏi 6 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?

TUẦN 4 Cau 21;Việc cài đặt hàng đợi bằng danh sách liên kết được thực hiện qua khai báo dưới đây:

Trang 15

typedef int ELEMENT;

struct LIST_ELEMENT

{ELEMENT info;

struct LIST_ELEMENT *next;

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

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.Chứa các phần tử của hàng đợi

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

Câu 22.Việc cài đặt hàng đợi bằng mảng được thực hiện qua khai báo dưới đây: (Câu này với câu 21 gần giống nhau)

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.Vị trí đỉnh hiện tại của hàng đợi

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

Câu Hỏi 2Việc bổ sung thêm phần tử vào hàng đợi được thực hiện bằng đoạn

Trang 16

B.q.T=1

C.q.T=q.T+1

D.q.T=q.S+1

Câu Hỏi 3

Cho đồ thị như hình dưới đây, việc tìm đường đi ngắn nhất từ đỉnh 6 đến đỉnh

8 ta sử dụng cấu trúc dữ liệu hàng đợi, 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, biến S thể hiện số lượng phần

tử Giá trị lớn nhất của S là bao nhiêu?

Câu 5;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 lấy ra 1 phần tử của hàng đợi trong trường hợp: “giá trị của H đúng bằng kích thước của

mảng” sẽ:

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

B.Giảm H đi 1 đơn vị

C.Giá trị H được gán bằng 1

D.Không thực hiện được

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

#define max N

typedef int ELEMENT;

struct QUEUE_ARRAY

Ngày đăng: 18/02/2022, 13:35

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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