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

Đề cương Cấu trúc dữ liệu giải thuật - CTDL và GT

6 774 4

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 20,03 KB

Nội dung

Câu 2 : frfed4d Giả sử có danh sách liên kết đơn mà thông tin được khai báo như sau: typedef struct {char ten[30]; int nam_cong_tac; float luong;}Data; typedef struct tagNode{Data

Trang 1

Đề cương ôn tập môn Cấu trúc dữ liệu và GT-2015

Câu 1: (mỗi bài thi thường hỏi 2 ý)

a) Khai báo cấu trúc dữ liệu danh sách liên kết đơn chứa các thông tin về nhân sự gồm có các trường thông tin:

 Họ và tên

 Thâm niên công tác (tính theo năm)

 Hệ số lương

 Lương cơ bản

b) Viết hàm thêm một bản ghi chứa thông tin nhân sự của một người vào cuối/đầu nút p trong danh sách đã khai báo ở phần a

a) Thêm 1 nút vào sau nút nào đó trong danh sách liên kết đơn Ví dụ, thêm nút mới vào sau nút có mã sinh viên là x.

b) Thêm 1 nút vào trước nút nào đó trong danh sách liên kết đơn Ví dụ, thêm nút mới vào trước nút có mã sinh viên là x.

c) Xóa nút ở đầu danh sách liên kết đơn.

d) Xóa nút ở cuối danh sách liên kết đơn.

e) Xóa nút ở vị trí nào đó trong danh sách liên kết đơn Ví dụ, xóa nút có mã sinh viên là x.

Câu 2 : frfed4d

Giả sử có danh sách liên kết đơn mà thông tin được khai báo như sau:

typedef struct {char ten[30]; int nam_cong_tac; float luong;}Data;

typedef struct tagNode{Data infor; struct tagNode *link;}Node;

typedef struct {Node *head; Node *tail;}LList;

Viết hàm tính xem có bao nhiêu nhân viên phải đóng thuế thu nhập Biết rằng thu nhập của một người trong một tháng được tính bằng công thức: lương + năm công tác * 200000 và người đóng thuế thu nhập là người có thu nhập 1 năm lớn hơn 100000000

Câu 3 :

a) Khai báo danh sách liên kết đơn chứa các trường thông tin về một khách hàng như sau:

 Mã khách hàng,

 Họ và tên khách hàng,

Trang 2

 Số điện thoại của khách hàng (13 chữ số).

b) Viết hàm sắp xếp danh sách khách hàng ở câu trên theo chiều tăng dần của tên khách hàng (hoặc theo khóa khác)

c) Tìm kiếm khách hàng theo tên/mã/… trong danh sách liên kết đơn khách hàng.

Câu 4 :

Giả sử có danh sách liên kết đơn mà thông tin được khai báo như sau:

typedef struct {char ten[30]; int makh; char sdt[15];}Data;

typedef struct tagNode{Data infor; struct tagNode *link;}Node;

typedef struct {Node *head; Node *tail;}LList;

Viết hàm có đầu vào là danh sách đã được khai báo ở trên và một xâu sdt là một phần hoặc toàn bộ số điện thoại trong trường điện thoại của một khách hàng nào đó Hàm trả về nút đầu tiên trong danh sách liên kết có phần đầu trường số điện thoại trùng với xâu sdt Nếu không có nút nào trong danh sách thỏa mãn thì hàm trả về NULL

Câu 5 :

Cho một bảng băm đóng có kích thước N = 11, mỗi bucket chứa được 1 phần

tử, hàm băm sử dụng là H(x) = x % N Hãy chèn vào bảng băm lần lượt các khóa sau: 27, 15, 42, 21, 36, 32, 13, 2, 28, 48, 47 sử dụng phương pháp kết nối hợp nhất (hoặc phương pháp khác)

Câu 6 : Cho thông tin của sinh viên gồm: tên, mã, điểm tổng kết Hãy khai

báo danh sách liên kết kép chứa thông tin trên

Viết hàm chèn một phần tử vào đầu/cuối danh sách

Viết hàm xóa một phần tử vào đầu/cuối danh sách

Câu 7 :

Trang 3

Cài đặt thuật toán sắp xếp nổi bọt (chọn, đổi chỗ, chèn) tăng dần trên mảng cấu trúc sinh viên gồm các trường thông tin sau:

Mã sinh viên

Tên sinh viên

Tuổi sinh viên

Trường khóa để sắp xếp là trường tuổi, nếu cùng tuổi thì theo tên

Câu 8 :

Hãy cài đặt và đánh giá độ phức tạp của thuật toán sắp xếp chèn (chọn, nổi bọt, đổi chỗ) Minh họa các bước thực hiện thuật toán sắp xếp chèn (chọn, nổi bọt, đổi chỗ) trên mảng a[] = {2, 17, 3, 1, 9, 3, 2}

Câu 9 :

Hãy trình bày các bước, đánh giá độ phức tạp và vẽ sơ đồ của thuật toán tìm kiếm nhị phân (tuần tự)?

Câu 10 : Trình bày thuật toán sắp xếp Quick_Sort trên mảng n số nguyên.

Minh họa các bước thực hiện của thuật toán sắp trên với mảng số nguyên: 9, 17, 4,

28, 90, 7, 18, 2, 5

Câu 11 :Trình bày thuật toán sắp xếp Heap_Sort trên mảng n số nguyên.

Minh họa các bước thực hiện của thuật toán sắp trên với mảng số nguyên: 9, 17, 4,

28, 90, 7, 18, 2, 5

Câu 12 :

Giả sử có cây tìm kiếm nhị phân chứa các nút có khai báo như sau:

typedef struct{char ten[30]; int ma; float luong;}Data;

typedef struct tagNode {Data infor; struct tagNode *left, *right;}Node, *Tree; Viết hàm tính trung bình cộng lương của các nhân viên trong một cây tìm kiếm nhị phân ở trên

Trang 4

Câu 13 :

a) Hãy chèn các khóa sau vào một cây tìm kiếm nhị phân rỗng mà các nút chứa các số nguyên: 20, 17, 29, 15, 80, 6, 19, 51, 32

b) Xóa khỏi cây lần lượt các nút chứa các khóa: 29, 20, 17

c) Duyệt cây

b) Chuyển biểu thức trung tố sau thành biểu thức hậu tố: 5 ( 2 + 3 ) – 2 ( 15 -

10 ) + 21

Câu 14 :

a)Hãy chèn các khóa sau vào một cây tìm kiếm nhị phân rỗng mà các nút chứa các số nguyên: 17, 5, 1, 20, 19, 30, 8, 18, 9 Xóa khỏi cây lần lượt các nút chứa các khóa: 20, 17, 5

b) Chuyển biểu thức hậu tố sau thành biểu thức tiền tố: a x + b q + / k m * + Trong đó: a, x, b, q, k, m là các toán hạng

Câu 15 :

a) Hãy khai báo cấu trúc cây tìm kiếm nhị phân chứa các trường thông tin về nhân sự như sau:

Họ và tên

Mã nhân viên

Lương

trong đó mã nhân viên là trường khóa

b) Viết hàm chèn thêm một nhân viên vào cây (Thêm 1 nút vào cây tìm kiếm nhị phân )

c) Xóa 1 nút khỏi cây tìm kiếm nhị phân.

d) Duyệt cây tìm kiếm nhị phân.

e) Thống kê các nút trong cây theo một điều kiện nào đó Ví dụ, in ra mọi nút mà họ tên nhân viên chứa chuỗi “Thu”

Trang 5

Câu 16 :

Trình bày thuật toán tìm xâu con chung dài nhất của hai xâu theo phương pháp quy hoạch động Áp dụng tìm xâu con chung dài nhất của hai xâu con sau:

“CTXDCXTXC”, “CXDCTXC”

Câu 17 :

Trình bày thuật toán nhân dãy ma trận theo phương pháp quy hoạch động Áp dụng tìm số phép nhân ít nhất để nhân dãy các ma trận có kích thước: 4x5, 5x7, 7x3, 3x8, 8x5 Cho biết thứ tự nhân các ma trận đó

Câu 18:

Xây dựng thuật toán tìm dãy con đơn điệu tăng dài nhất (liền nhau) của mảng

a gồm n phần tử

Câu 19 :

Xây dựng, cài đặt và đánh giá thuật toán in ra tất cả các xâu nhị phân có độ dài k (k nhập từ bàn phím) mà biểu diễn thập phân của xâu không là số nguyên tố Số nguyên tố là số chỉ chia hết cho 1 và chính nó

Câu 20:

Cho một danh sách các cuộc gọi điện thoại gồm các thông tin: số gọi đến, thời gian bắt đầu, số phút (nguyên) gọi Hãy khai báo cấu trúc cần thiết và cài đặt thuật toán đưa ra số gọi đến nhiều nhất

Câu 21:

Xây dựng, cài đặt và đánh giá thuật toán in ra tất cả các xâu nhị phân độ dài k (k nhập từ bàn phím) mà trong xâu có ít nhất 2 ký tự ở liền kề nhau giống nhau

Câu 22 :

Trang 6

Viết hàm nhận đầu vào là một xâu ký tự và đầu ra trả về số ký tự khác nhau trong xâu đó, đánh giá độ phức tạp của thuật toán sử dụng

Bổ sung thêm một số câu

23 Cho một đoạn chương trình, hãy chuyển đoạn chương trình đó thành sơ đồ khối.

24 Cho một sơ đồ khối, hãy chuyển sơ đồ khối đó thành chương trình.

25 Cho danh sách liên kết đơn đã được sắp xếp theo một trường nào đó, ví dụ sắp xếp theo điểm trung bình Thêm 1 nút vào trong danh sách liên kết đơn sao cho danh sách mới được tạo ra vẫn được sắp xếp.

26 Cho danh sách liên kết đơn mà các phần tử đã được sắp xếp, ví dụ sắp xếp tăng dần theo điểm trung bình Hãy tách danh sách trên thành 2 phần: chứa các phần tử có điểm tb>=5; chứa các phần tử còn lại.

27 Cho 2 danh sách liên kết đơn mà các phần tử đã được sắp xếp, ví dụ sắp xếp tăng dần theo điểm trung bình Hãy ghép 2 danh sách trên thành một danh sách sao cho danh sách kết quả cũng được sắp xếp tăng dần theo điểm trung bình.

28 Cho danh sách liên kết đơn Hãy tách danh sách trên thành 2 phần: chứa các phần tử có điểm tb>=5; chứa các phần tử còn lại.

29 Bạn hãy tạo một danh sách liên kết chứa thông tin của SV (tên, mã, điểm) sao cho danh sách đó tạo thành một vòng tròn.

30 Giả sử đã có cấu trúc dữ liệu Stack với các phép toán initS, popS, pushS, begin (khởi tạo, lấy ra phần tử ở đỉnh, thêm một phần tử vào đỉnh, lấy giá trị phẩn tử ở đỉnh) Hãy viết đoạn chương trình chuyển số nguyên n từ hệ thập phân sang nhị phân có sử dụng cấu trúc dữ liệu Stack.

31 Giả sử đã có cấu trúc Stack với các phép toán initS, popS, pushS, begin (khởi tạo, lấy ra phần tử ở đỉnh, thêm một phần tử vào đỉnh, lấy giá trị phẩn tử ở đỉnh) Hãy viết đoạn chương trình đảo ngược một dãy số nguyên Ví dụ: 2, 3, 4, 5 được đảo thành 5, 4, 3, 2

Ngày đăng: 17/05/2016, 16:20

TỪ KHÓA LIÊN QUAN

w