Câu hỏi & Bài tập Chương Danh sách liên kết Phần câu hỏi ơn kiến thức: Trình bày bước thao tác danh sách liên kết đơn Trình bày bước thao tác danh sách liên kết đôi 3.Giả sử cho danh sách liên kết đơn có thành phần liệu số nguyên dương, người ta muốn tách danh sách cho thành hai danh sách riêng biệt, danh sách lưu số chẵn, danh sách lưu số lẻ Hãy trình bày giải thuật để tách danh sách cho cho hiệu thời gian xử lý nhớ sử dụng, đặc biệt xét trường hợp danh sách cho bao gồm tất số chẵn số lẻ 4.Hãy trình bày giải thuật trộn hai danh sách liên kết đơn có thứ tự (tăng giảm dần) thành danh sách có thứ tự cho tối ưu nhớ 5.Cho danh sách liên kết mô tả cấu trúc liệu C sau: struct Node { int info; struct Node *next; }; Hãy viết thuật giải nhận đầu vào danh sách liên kết với phân tử trỏ list, thực xếp lại phần tử danh sách cho, cho nút chẵn đứng trước nút lẻ trường hợp ngược lại, thứ tự tương đối ban đầu nút không thay đổi Một nút gọi nút chẵn hay lẻ đứng vị trí chẵn hay lẻ danh sách (vị trí nút danh sách đánh số từ phần tử đến phần tử cuối 0) Bài tập: Viết chương trình thực việc xếp danh sách liên kết đơn bao gồm phần tử số nguyên Viết chương trình cộng đa thức biểu diễn thông qua danh sách liên kết đơn Hãy cài đặt chương trình cho phép nhập vào biểu thức bao gồm: số, toán tử +, -, *, /, div (chia dư) hàm toán học sin, cos, tan, ln, ex, biểu thức có dấu mở, đóng ngoặc "(", ")" chương trình tính tốn giá trị biểu thức Định nghĩa cấu trúc liệu “tập hợp số nguyên” dựa DSLK đơn, viết thuật giải cài đặt xử lý gồm: kiểm tra phần tử thuộc tập hợp, so sánh tập hợp, kiểm tra tập rỗng; tính giao, hội, hiệu Định nghĩa CTDL cho ánh xạ từ tập số nguyên A vào A; thuật giải kiểm tra tính chất dặc biệt như: đơn ánh, toàn ánh, song ánh Tích Descart tập hợp số nguyên A B vài xử lý Hãy viết chương trình cho phép thực yêu cầu sau : a Nhập vào từ bàn phím dãy số nguyên lưu danh sách liên kết có thứ tự không giảm, cách: với phần tử nhập vào phải tìm vị trí thích hợp để chèn vào cho đảm bảo danh sách có thứ tự không giảm b Nếu thay cấu trúc danh sách liên kết mảng thời gian thực mảng so với danh sách liên kết ? 8.Hãy viết chương trình cho phép thực yêu cầu sau : a Giả sử cho danh sách liên kết kép lưu số nguyên, viết chương trình xóa phần tử trùng danh sách (với số nguyên trùng nhau, giữ lại số nguyên nhất) b Nếu thay cấu trúc danh sách liên kết mảng thời gian thực mảng so với danh sách liên kết ? Giả sử cho danh sách liên kết kép lưu số nguyên, viết chương trình cho phép nhập vào danh sách số nguyên, cho số nguyên xuất lần danh sách đảm bảo danh sách trạng thái danh sách có thứ tự khơng giảm 10 Giả sử cho cấu trúc liệu lưu trữ thông tin nhân sau: struct NS { int maso; // lưu thông tin mã số nhân char * hoten ; // lưu thông tin họ tên nhân int thamnien; // lưu thông tin số năm thâm niên float hesoluong ; // lưu thông tin hệ số lương float luongcoban ; // lưu thông tin lương struct Node *next; }; Hãy viết chương trình thực yêu cầu sau: a Tạo danh sách gồm 50 nhân cách lần thêm vào nhân thêm vào từ cuối danh sách b Sắp xếp danh sách theo thâm niên công tác giảm dần c Tính lương trung bình nhân câu a, biết lương = hệ số lương * lương d Hiển thị lên hình nhân cho lương cao nhất, có thâm niên công tác ngắn nhân có lương thấp nhất, có thâm niên cơng tác lâu 11 Giả sử cho danh sách hàng hóa bao gồm nhiều mặt hàng, mặt hàng có thơng tin: - Tên mặt hàng - Giá mặt hàng - Số lượng kho Hãy thực yêu cầu sau: a Khai báo danh dách liên kết lưu danh sách mặt hàng theo thông tin mô tả b Viết hàm xếp danh sách mặt hàng câu a theo giá mặt hàng tăng dần, giá xếp theo tên mặt hàng hiển thị lên hình c Viết hàm nhập vào số nguyên x, y (x : Phụ trội = +5% Lương - Trình độ văn hóa = CH: Phụ trội = +10% Lương - Làm thêm: Phụ trội = +4% Lương bản/ngày - Nghỉ không phép : Phụ trội = -5% Lương bản/ngày + Chức yêu cầu: - Cập nhật lý lịch, bảng chấm công cho nhân viên (thêm, xóa, sửa) - Xem bảng lương hàng tháng - Tìm thơng tin nhân viên Hãy khai báo cấu trúc liệu thích hợp để biểu diễn thông tin cài đặt chương trình theo chức mơ tả Bài tập áp dụng : Xây dựng cấu trúc liệu thuật giải viết chương trình quản lý tra từ tự điển Anh Việt khoảng 3000 từ dùng danh sách liên kết 2.Xây dựng cấu trúc liệu thuật giải viết chương trình quản lý thông tin sách thư viện điện tử từ dùng danh sách liên kết ... Nếu thay cấu trúc danh sách liên kết mảng thời gian thực mảng so với danh sách liên kết ? Giả sử cho danh sách liên kết kép lưu số nguyên, viết chương trình cho phép nhập vào danh sách số nguyên,... 13 Giả sử cho hai danh sách liên kết kép lưu số nguyên, viết chương trình hiển thị lên hình: a Phần giao hai danh sách liên kết b Phần hội hai danh sách liên kết 14 Giả sử cho danh sách liên kết... nguyên lưu danh sách liên kết có thứ tự khơng giảm, cách: với phần tử nhập vào phải tìm vị trí thích hợp để chèn vào cho đảm bảo danh sách có thứ tự khơng giảm b Nếu thay cấu trúc danh sách liên