Cấu trúc dữ liệu giải thuật homework 5 1

2 2 0
Cấu trúc dữ liệu  giải thuật homework 5 1

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

Thông tin tài liệu

Homework 5 1 © Nguyen Tri Tuan – Khoa CNTT, trường ĐH KHTN Tp HCM 1/2 CẤU TRÚC DỮ LIỆU & GI ẢI THUẬT HOMEWORK 5 1 – Danh sách liên kết oOo 1 Khai báo DSLK đơn như sau struct NODE { int Key; NODE* pNod[.]

CẤU TRÚC DỮ LIỆU & GIẢI THUẬT HOMEWORK 5.1 – Danh sách liên kết -oOo Khai báo DSLK đơn sau: struct NODE { int Key; NODE* pNode; }; Trong đó, NODE* pNode có nghĩa là: a Con trỏ tới vùng liệu phần tử b Con trỏ tới phần tử DSLK c Con trỏ tới địa vùng nhớ phần tử trước DSLK d Con trỏ tới địa vùng nhớ DSLK Đặc điểm sau danh sách liên kết a Sử dụng trỏ (pointer) b Các node lưu trữ liên tiếp nhớ c Có thể mở rộng tuỳ ý (chỉ giới hạn dung lượng nhớ) d Thao tác Thêm/Xóa khơng cần phải dịch chuyển phần tử Cho danh sách liên kết đơn sau: a b c d p1 = pHead->pNext; p3 = p1->pNext->pNext; p3->data = p1->data; pCurr = p1; while (pCurr != NULL) { pCurr->data *= 5; pCurr = pCurr->pNext; } Hãy thực lệnh từ [a] đến [d], vẽ lại DSLK sau lệnh để thể rõ thay đổi DSLK Cho DSLK đơn hình vẽ Cho trước trỏ P, Q vị trí tương ứng Hãy viết lệnh cần thiết để chuyển DSLK thành dạng biểu diễn hình © Nguyen Tri Tuan – Khoa CNTT, trường ĐH.KHTN Tp.HCM 1/2 Cho DSLK với phần tử đầu pHead hàm fn sau Hãy cho biết kết gọi hàm fn(pHead) int fn(NODE *p) { if (p!=NULL) return (1 + fn(p->Next)); else return 0; } Cho DSLK đơn có phần tử đầu pHead, phần tử DSLK có field: Key: khóa, kiểu int pNext: trỏ đến phần tử DSLK a Hãy viết hàm không đệ qui đếm số phần tử DSLK b Hãy viết hàm đệ qui đếm số phần tử DSLK Hãy viết hàm “Xóa phần tử danh sách liên kết đơn” Hàm có dạng sau: NODE * Delete_1st_item_in_list(NODE *pHead); với pHead trỏ đầu danh sách Yêu cầu xử lý cho trường hợp: - Danh sách rỗng - Danh sách có phần tử - Danh sách có nhiều phần tử - Nếu danh sách rỗng danh sách có phần tử sau xóa, hàm trả giá trị NULL - Nếu danh sách có nhiều phần tử sau xóa, hàm trả trỏ phần tử kế sau pHead Cho danh sách liên kết đơn đó, phần tử chứa số nguyên Hãy viết hàm xóa phần tử có giá trị lớn danh sách Lưu ý: - Chỉ phép duyệt danh sách lần - Nếu có nhiều phần tử lớn giống xóa phần tử Giả sử ta cần lưu trữ danh sách gồm N sinh viên (N chưa biết trước) Mỗi sinh viên có thuộc tính liệu sau: - Mã SV: chuỗi ký tự - Họ tên: chuỗi 50 ký tự - Ngày sinh: dd/mm/yyyy - Điểm trung bình: số thực - Phái: Nam/Nữ Yêu cầu: a Hãy trình bày cấu trúc liệu khác để lưu trữ danh sách nêu Với cấu trúc liệu, hãy: i Khai báo cấu trúc C/C++ ii Cho biết cần byte để lưu trữ N phần tử? b Lập bảng so sánh (ngắn gọn, tối đa tiêu) hai cấu trúc liệu theo mẫu sau: Chỉ tiêu so sánh Cấu trúc liệu © Nguyen Tri Tuan – Khoa CNTT, trường ĐH.KHTN Tp.HCM Cấu trúc liệu 2/2 ... cấu trúc liệu, hãy: i Khai báo cấu trúc C/C++ ii Cho biết cần byte để lưu trữ N phần tử? b Lập bảng so sánh (ngắn gọn, tối đa tiêu) hai cấu trúc liệu theo mẫu sau: Chỉ tiêu so sánh Cấu trúc liệu. .. viên có thuộc tính liệu sau: - Mã SV: chuỗi ký tự - Họ tên: chuỗi 50 ký tự - Ngày sinh: dd/mm/yyyy - Điểm trung bình: số thực - Phái: Nam/Nữ Yêu cầu: a Hãy trình bày cấu trúc liệu khác để lưu trữ... mẫu sau: Chỉ tiêu so sánh Cấu trúc liệu © Nguyen Tri Tuan – Khoa CNTT, trường ĐH.KHTN Tp.HCM Cấu trúc liệu 2/2

Ngày đăng: 25/03/2023, 13:08

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan