.

Bài tập Cấu trúc dữ liệu & giải thuật có lời giải

Thứ sáu - 01/11/2019 22:12
Viết hàm nhập và hàm xuất dữ liệu để biểu diễn thông tin của một hộp sữa
(HOPSUA). Biết rằng một hộp sữa gồm những thành phần như sau:
- Nhãn hiệu: chuỗi tối đa 20 ký tự.
- Trọng lượng kiểu số thực.
- Hạn sử dụng: kiểu dữ liệu ngày (NGAY)

609.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một vé xem phim
(VE). Biết rằng một vé xem phim gồm những thành phần như sau:
- Tên phim: chuỗi tối đa 20 ký tự.
- Giá tiền: kiểu số nguyên 4 byte.
- Xuất chiếu: kiểu thời gian (THOIGIAN).
- Ngày xem: kiểu dữ liệu ngày (NGAY).
Sau đó viết hàm nhập và xuất cho kiểu dữ liệu này.

610.Hay khai báo kiểu dữ liệu để biểu diễn thông tin của một mặt hàng
(MATHANG). Biết rằng một mặt hàng gồm những thành phần như
sau:
- Tên mặt hàng: chuỗi tối đa 20 ký tự.
- Đơn giản: kiểu số nguyên 4 byte.
- Số lượng tồn: kiểu số nguyên 4 byte.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

611.Hãy khai báo kiểu dữ liệu biểu diễn thông tin của một chuyến bay. Biết
rằng một chuyến bay gồm những thành phần như sau:
- Mã chuyến bay: chuỗi tối đa 5 ký tự.
- Ngày bay: kiểu dữ liệu ngày.
- Giờ bay: kiểu dữ liệu thời gian.
- Nơi đi: chuỗi tối đa 20 kí tự.
- Nơi đến: chuỗi tối đa 20 kí tự.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

612.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một cầu thủ. Biết
rằng một cầu thủ gồm những thành phần sau:
- Mã cầu thủ: chuỗi tối đa 10 kí tự.
- Tên cầu thủ: chuỗi tối đa 30 kí tự.
- Ngày sinh: kiểu dữ liệu ngày.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

613.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một đội bóng
(DOIBONG). Biết rằng một đội bóng gồm những thành phần như sau:
- Mã đội bóng: chuỗi tối đa 5 ký tự.
- Tên đội bóng: chuỗi tối đa 30 ký tự.
- Danh sách các cầu thủ: mảng một chiều các cầu thủ ( tối đa 30 phần
tử ).
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

614.Khai bao kiểu dữ liệu để biểu diễn thông tin của một nhân viên
(NHANVIEN). Biết rằng một nhân viên gồm những thành phần như
sau:
- Mã nhân viên: chuỗi tối đa 5 kí tự.
- Tên nhân viên: chuỗi tối đa 30 kí tự.
- Lương nhân viên: kiểu số thực.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

615.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một thí sinh
(THISINH). Biết rằng một thí sinh gồm những thành phần như sau:
- Mã thí sinh: chuỗi tối đa 30 kí tự.
- Họ tên thí sinh: chuỗi tối đa 30 kí tưj.
- Điểm toán: kiểu số thực.
- Điểm lý: kiểm số thực.
- Điểm hóa: kiểu số thực.
- Điểm tổng cộng: kiểu số thực.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

616.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một luận văn
(LUANVAN). Biết rằng một luận văn gồm những thành phần như sau:
- Mã luận văn: chuỗi tối đa 10 kí tự.
- Tên luận văn: chuỗi tối đa 100 kí tự.
- Họ tên thí sinh viên thực hiện: chuỗi tối đa 30 kí tự.
- Họ tên giáo viên hướng dẫn: chuỗi tối đa 30 kí tự.
- Năm thực hiện: kiểu số nguyên 2 byte.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

617.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một học sinh
(HOCSINH). Biết rằng một học sinh gồm những thành phần như sau:
- Tên học sinh: chuỗi tối đa 30 ký tự.
- Điểm toán: kiểu số nguyên 2 byte.
- Điểm văn: kiểu số nguyên 2 byte.
- Điểm trung bình: kiểu số thực.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

618.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một lớp học
(LOPHOC). Biết rằng một lớp học gồm những thành phần như sau:
- Tên lớp: chuỗi tối đa 30 ký tự.
- Sĩ số: kiểu số nguyên 2 byte.
- Danh sách các học sinh trong lớp (tối đa 50 học sinh) .
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

619.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một sổ tiết kiệm
(SOTIETKIEM). Biết rằng một sổ tiết kiệm gồm những thành phần
như sau:
- Mã số: chuỗi tối đa 5 ký tự.
- Loại tiết kiệm: chuỗi tối đa 10 ký tự.
- Họ tên khách hàng: chuỗi tối đa 30 ký tự.
- Chứng minh nhân dân: kiểu số nguyên 4 byte.
- Ngày mở sổ: kiểu dữ liệu ngày.
- Số tiền gửi: kiểu số thực.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

620.Hãy khai báo kiểu dữ liệu để biểu diễn thông tin của một đại lý
(DAILY). Biết rằng một đại lý gồm những thành phần như sau:
- Mã đại lý: chuỗi tối đa 5 ký tự.
- Tên đại lý: chuỗi tối đa 30 ký tự.
- Điện thoại : kiểu số nguyên 4 byte.
- Ngày tiếp nhận: kiểu dữ liệu ngày.
- Địa chỉ: chuỗi tối đa 50 ký tự.
- E-Mail: chuỗi tối đa 50 ký tự.
Sau đó viết hàm nhập và hàm xuất cho kiểu dữ liệu này.

667.Viết chương trình nhập mảng một chiều các tỉnh (TINH). Biết rằng một
tỉnh gồm những thành phần như sau :
- Mã tỉnh : kiểu số nguyên 2 byte.
- Tên tỉnh : chuỗi tối đa 30 ký tự.
- Dân số : kiểu số nguyên 4 byte.
- Diện tích : kiểu số thực.
a. Xuất các tỉnh có dân số lớn hơn 1.000.00.
b. Tìm một tỉnh có diện tích lớn nhất.
c. Sắp xếp các tỉnh giảm dần theo diện tích.

668.Viết chương trình thực hiện những yêu cầu sau :
a. Nhập mảng một chiều các hộp sữa (HOPSUA). Biết rằng một hộp
sữa gồm những thành phần như sau :
- Nhãn hiệu : chuỗi tối đa 20 ký tự.
- Trọng lượng : kiểu số thực.
- Hạn sử dụng : kiểu dữ liệu ngày (NGAY).
b. Xuất mảng.
c. Nhập vào một ngày x. Hãy đếm số lượng hộp sữa trong mảng quá
hạn sử dụng so với ngày x.
d. Tìm một hộp sữa có trọng lượng lớn nhất trong mảng.

669.Viết chương trình thực hiện những yêu cầu sau :
a. Nhập mảng một chiều các vé xem phim (VE). Biết rằng một vé xem
phim gồm những thành phần như sau :
- Tên phim : chuỗi tối đa 20 ký tự.
- Giá tiền : kiểu số nguyên 4 byte.
- Xuất chiều : kiểu thời gian (THOIGIAN).
- Ngày xem: kiểu dữ liệu ngày (NGAY).
b. Xuất mảng.
c. Tính tổng giá tiền của tất cả các vé trong mảng.
d. Sắp xếp các phần tử trong mảng tăng dần theo ngày xem và xuất chiếu.

670.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các mặt hàng (MATHANG). Biết rằng một
mặt hàng gồm những thành phần như sau:
- Tên mặt hàng: chuỗi tối đa 20 ký tự.
- Đơn giá: kiểu số nguyên 4 byte.
- Số lượng tồn: kiểu số nguyên 4 byte.
b. Xuất mảng.
c. Tìm mặt hàng có tổng giá trị tồn là lớn nhất.
d. Đếm số lượng mặt hàng có số lượng tồn lớn hơn 1.000.

671.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các chuyến bay. Biết rằng một chuyến bay
gồm những thành phần sau
- Mã chuyến bay: chuỗi tối đa 5 ký tự.
- Ngày bay: kiểu dữ liệu ngày.
- Giờ bay: kiểu thời gian.
- Nơi đi: chuỗi tối đa 20 ký tự.
- Nơi đến; chuỗi tối đa 20 ký tự.
b. Xuất mảng.
c. Tìm một ngày có nhiều chuyến bay nhất.
d. Tìm một chuyến bay trong mảng theo mã chuyến bay.

672.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các cầu thủ. Biết rằng một cầu thủ gồm
những thành phần sau:
- Mã cầu thủ: chuỗi tối đa 10 ký tự.
- Tên cầu thủ: chuỗi tối đa 30 ký tự.
- Ngày sinh: kiểu dữ liệu ngày.
b. Xuất mảng.
c. Liệt kê danh sách các cầu thủ nhỏ tuổi nhất trong mảng.
d. Sắp xếp các cầu thủ giảm dần theo ngày sinh.

673.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các nhân viên (NHANVIEN). Biết rằng một
mã nhân viên gồm những thành phần như sau:
- Mã nhân viên: chuỗi tối đa 5 ký tự.
- Tên nhân viên: chuỗi tối đa 30 ký tự.
- Lương nhân viên: kiểu số thực.
b. Xuất mảng.
c. Tìm một nhân viên có lương cao nhất trong mảng.
d. Tính tổng lương các nhân viên.
e. Sắp xếp mảng tăng dần theo lương nhân viên.

674.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các thí sinh (THISINH). Biết rằng một thí
sinh gồm những thành phần như sau:
- Mã thí sinh: chuỗi tối đa 5 ký tự.
- Họ tên thí sinh: chuỗi tối đa 30 ký tự.
- Điểm toán: kiểu số thực.
- Điểm lý: kiểu số thực.
- Điểm hóa: kiểu số thực.
- Điểm tổng cộng: kiểu số thực.
b. Xuất mảng.
c. Liệt kê các thí sinh thi đậu trong mảng. Một thí ính được gọi là đậu
khi có tổng điểm 3 môn lớn hơn 15 và không có môn nào bị điểm
khống.
d. Sắp xếp theo thứ tự giảm dần theo điểm tổng cộng.

675.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các luận văn (LUANVAN). Biết rằng một
luận văn gồm những thành phần như sau:
- Mã luận văn: chuỗi tối đa 10 ký tự.
- Tên luận văn: chuỗi tối đa 100 ký tự.
- Họ tên sinh viên thực hiện: chuỗi tối đa 30 ký tự.
- Họ tên giáo viên hướng dẫn: chuỗi tối đa 30 ký tự.
- Năm thực hiện: kiểu số nguyên 2 byte.
b. Xuất mảng.
c. Tìm năng có nhiều luận văn nhất.
d. Liệt kê các luận văn thực hiện gần nhất.

676.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các học sinh (HOCSINH). Biết rằng một học
sinh gồm những thành phần như sau:
- Tên học sinh: chuỗi tối đa 30 ký tự.
- Điểm toán: kiểu số nguyên 2 byte.
- Điểm văn: kiểu số nguyên 2 byte.
- Điểm trung bình: kiểu số thực.
b. Xuất mảng.
c. Đếm số lượng học sinh giỏi trong mảng ( toán và văn cùng lớn hơn

677.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các lớp học (LOPHOC). Biết rằng một lớp
học gồm những thành phần như sau:
- Tên lớp: chuỗi tối đa 30 ký tự.
- Sĩ số: kiểu số nguyên 2 byte.
- Danh sách các học sinh trong lớp ( tối đa 50 học sinh).
b. Xuất mảng.
c. Tìm một lớp có sỉ số đông nhất.
d. Tìm một học sinh có điểm trung bình lớn nhất.

678.Viết chương trình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các số tiết kiệm (SOTIETKIEM). Biết rằng
một sổ tiết kiệm gồm những thành phần như sau:
- Mã số: chuỗi tối đa 5 ký tự.
- Loại tiết kiệm: chuỗi tối đa 10 ký tự.
- Họ tên khách hàng: chuỗi tối đa 30 ký tự.
- Chứng minh nhân dân: kiểu số nguyên 4 byte.
- Ngày mở sổ: kiểu dữ liệu ngày.
- Số tiền gởi: kiểu số thực.
b. Xuất mảng.

679.Viết chương tình thực hiện những yêu cầu sau:
a. Nhập mảng một chiều các đại lý (DAILY). Biết rằng một đại lý
gồm những thành phần như sau:
- Mã đại lý: chuỗi tối đa 5 ký tự.
- Tên đại lý: chuỗi tối đa 30 ký tự.
- Điện thoại: kiểu số nguyên 4 byte.
- Ngày tiếp cận: kiểu dữ liệu ngày.
- Địa chỉ: chuỗi tối đa 50 ký tự.
- E-Mail: chuỗi tối đa 50 ký tự.
b. Xuất mảng.
c. Tìm một đại lý theo tên đại lý.

796.Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết đơn các học sinh.
Biết rằng học sinh gồm những thành phần thông tin như sau:
- Họ tên: tối đa 30 ký tự.
- Điểm toán: kiểu số nguyên.
- Điểm văn: kiểu số nguyên.
- Điểm trung bình: kiểu số thực.

797.Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết đơn các thí sinh.
Giả sử thí sinh gồm những thành phần thông tin như sau:
- Mã thí sinh: tối đa 5 ký tự.
- Họ tên: tối đa 30 ký tự.
- Điểm toán: kiểu số thực.
- Điểm lý: kiểu số thực.
- Điểm hóa: kiểu số thực.
- Điểm tổng cộng: kiểu số thực.

798.Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết đơn các phòng
trong khách sạn (PHONG). Giả sử phòng khách sạn gồm những phần
thông tin sau:
- Mã phòng: tối đa 5 ký tự.
- Tên phòng: tối đa 30 ký tự.
- Đơn giá thuê: kiểu số thực.
- Số lượng giường: kiểu số nguyên.
- Tình trạng phòng: 0 rảnh, 1 bận.

TẠO NODE CHO DANH SÁCH LIÊN KẾT ĐƠN
799.Viết hàm tạo node trong danh sách liên kết đơn các số phức.
800.Viết hàm tạo node trong danh sách liên kết đơn các số nguyên.
801.Viết hàm tạo node trong danh sách liên kết đơn các số thực.
802.Viết hàm tạo node trong danh sách liên kết đơn các toạ độ điểm trong
mặt phẳng Oxy.
803.Viết hàm tạo node trong danh sách liên kết đơn các học sinh.
804.Viết hàm tạo node trong danh sách liên kết đơn các thí sinh.
805.Viết hàm tạo node trong danh sách liên kết đơn các phòng trong khách
sạn (PHONG).
806.Viết hàm tạo node trong danh sách liên kết đơn các đường tròn.
DUYỆT DANH SÁCH
807.Viết hàm đếm số lượng node trong một dslk đơn.
808.Viết hàm xuất dslk đơn các phân số.
809.Viết hàm xuất dslk đơn các số phức.
810.Viết hàm xuất dslk đơn các số nguyên.
811.Viết hàm xuất dslk đơn các số thực.
812.Viết hàm xuất dslk đơn tọa độ điểm trong mặt phẳng Oxy.
813.Viết hàm đếm số lượng phân số dương trong dslk đơn các phân số.
814.Viết hàm đếm số lượng phân số âm trong dslk đơn các phân số.
815.Viết hàm tìm phân số dương đầu tiên trong dslk đơn các phân số.
816.Viết hàm tìm phân số dương cuối cùng trong dslk đơn các phân số.
817.Viết hàm kiểm tra danh sách các phân số có toàn phân số dương hay
không.
818.Viết hàm kiểm tra danh sách đơn các phân số có tồn tại phân số âm hay
không.
819.Viết hàm tìm phân số lớn nhất trong danh sách liên kết đơn các phân
số.
820.Viết hàm tìm phân số nhỏ nhất trong danh sách liên kết đơn các phân
số.
821.Viết hàm sắp xếp các phân số tăng dần trong dslk đơn các phân số.
822.Viết hàm sắp xếp các phân số dương tăng dần trong dslk đơn các phân
số.
CÁC CHƯƠNG TRÌNH LUYỆN TẬP
823.Viết chương trình thực hiện các yêu cầu sau trên danh sách liên kết đơn
các nhân viên:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các nhân
viên. Biết rằng thông tin của một nhân viên bao gồm: họ tên (30 ký
tự), ngày sinh (kiểu ngày), lương (số thực), giới tính (0. Nữ, 1.
Nam).
b. Cài đặt tất cả các thao tác cơ bản cho danh sách liên kết các nhân
viên.
c. Liệt kê các nhân viên trên 40 tuổi trong danh sách.
d. Đếm số lượng nhân viên có lương lớn hơn 1.000.000 đồng trong
danh sách.
e. Viết hàm sắp xếp các nhân viên giảm dần theo năm sinh (không
quan tâm ngày và tháng sinh).
824.Viết chương trình thực hiện các yêu cầu sau trên danh sách liên kết các
học sinh:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các học
sinh. Biết rằng thông tin của một học sinh bao gồm: họ tên (30 ký
tự), điểm toán, điểm văn và điểm trung bình (tất cả là số thực).
b. Cài đặt tất cả các thao tác cơ bản cho danh sách liên kết các học
sinh.
c. Liệt kê các học sinh có điểm toán nhỏ hơn 5 trong danh sách.
d. Đếm số lượng học sinh có điểm toán và điểm văn lớn hơn 8 điểm
trong danh sách.
e. Viết hàm sắp xếp các học sinh giảm dần theo điểm trung bình.
825.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn toạ độ các
điểm trong mặt phẳng Oxy.
b. Cài đặt tất cả các thao tác cơ bản cho danh sách liên kết toạ độ điểm
trong mặt phẳng Oxy.
c. Liệt kê các toạ độ các điểm trong phần tư thứ I của mặt phẳng Oxy.
d. Tìm điểm có tung độ lớn nhất trong danh sách.
e. Viết hàm sắp xếp toạ độ các điểm giảm dần theo khoảng cách từ nó
đến gốc toạ độ.
826.Viết chương trình thực hiện các yêu cầu sau:
a. Hãy khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các
hộp sữa (HOPSUA). Biết rằng một hộp sữa gồm những thành phần
như sau: Nhãn hiệu (chuỗi tối đa 20 ký tự), Trọng lượng (kiểu số
thực), hạn sử dụng (kiểu dữ liệu ngày).
b. Cài đặt tất cả các thao tác cơ bản cho danh sách liên kết các hộp
sữa.
c. Đếm số lượng hộp sữa sản xuất trước năm 2003 trong danh sách.
d. Tìm hộp sữa mới nhất trong danh sách.
e. Sắp xếp các hộp sữa tăng dần theo hạn sử dụng.
827.Viết chương trình thực hiện các yêu cầu sau:
a. Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết các phòng
trong khách sạn (PHONG). Giả sử phòng khách sạn gồm những
thành phần thông tin như sau:
+ Mã phòng: tối đa 5 ký tự.
+ Tên phòng: tối đa 30 ký tự.
+ Đơn giá thuê: kiểu số thực.
+ Số lượng giường: kiểu số nguyên.
+ Tình trạng phòng: 0 rảnh, 1 bận.
b. Cài đặt tất cả các thao tác cơ bản cho danh sách liên kết các phòng.
c. Liệt kê các phòng trống trong danh sách.
d. Tính tổng số lượng giường có trong danh sách.
e. Sắp xếp danh sách liên kết tăng dần theo đơn giá thuê.
828.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các quyển
sách. Biết rằng thông tin của một quyển sách bao gồm: tên sách (50
ký tự), tên tác giả (30 ký tự) và năm xuất bản.
b. Cài đặt tất cả các thao tác cơ bản cho danh sách liên kết các quyển
sách.
c. Tìm quyển sách cũ nhất trong danh sách liên kết.
d. Tìm một năm có nhiều sách xuất bản nhất và liệt kê tất cả các quyển
sách xuất bản trong năm đó.
829.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các tỉnh.
Biết rằng thông tin của một tỉnh bao gồm: tên tỉnh (tối đa 30 ký tự),
diện tích (kiểu số thực), dân số (số nguyên dài).
b. Cài đặt tất cả các thao tác cơ bản cho danh sách liên kết đơn các
tỉnh.
c. Tính tổng diện tích của tất cả các tính trong dslk.
d. Tìm địa chỉ của node chứa tỉnh có diện tích lớn nhất trong danh
sách.
e. Tìm một tỉnh có dân số lớn nhất trong dslk đơn.
f. Sắp xếp danh sách tăng dần theo diện tích.
830.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết dơn các vé
xem phim (VE). Biết rằng một vé xem phim gồm những thành phần
như sau:
- Tên phim: chuỗi tối đa 20 ký tự.
- Giá tiền: kiểu số nguyên 4 byte.
- Xuất chiếu: kiểu thời gian (THOIGIAN).
- Ngày xem: kiểu dữ liệu ngày (NGAY).
b. Nhập danh sách.
c. Xuất danh sách.
d. Tính tổng giá tiền của tất cả các vé trong danh sách.
e. Sắp xếp các phần tử trong mảng tăng dần theo ngày xem và xuất
chiếu.
831.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các mặt
hàng (MATHANG). Biết rằng một mặt hàng gồm những thành
phần như sau:
- Tên mặt hàng: chuỗi tối đa 20 ký tự.
- Đơn giá: kiểu số nguyên 4 byte.
- Số lượng tồn: kiểu số nguyên 4 byte.
b. Nhập danh sách.
c. Xuất danh sách.
d. Tìm mặt hàng có tổng giá trị tồn là lớn nhất.
e. Đếm số lượng mặt hàng có số lượng tồn lớn hơn 1.000
832.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các
chuyến bay. Biết rằng một chuyến bay gồm những thành phần như
sau:
- Mã chuyến bay: chuỗi tối đa 5 ký tự.
- Ngày bay: kiểu dữ liệu ngày.
- Giờ bay: kiểu thời gian.
- Nơi đi: chuỗi tối đa 20 ký tự.
- Nơi đến: chuỗi tối đa 20 ký tự.
b. Nhập danh sách.
c. Xuất danh sách.
d. Tìm một ngày có nhiều chuyến bay nhất.
e. Tìm một chuyến bay trong danh sách theo mã chuyến bay.
833.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các cầu
thủ. Biết rằng một cầu thủ gồm những thành phần như sau:
- Mã cầu thủ: chuỗi tối đa 10 ký tự.
- Tên cầu thủ: chuỗi tối đa 30 ký tự.
- Ngày sinh: kiểu dữ liệu ngày.
b. Nhập danh sách.
c. Xuất danh sách.
d. Liệt kê danh sách các cầu thủ nhỏ tuổi nhất trong danh sách.
e. Sắp xếp các cầu thủ giảm dần theo ngày sinh.
834.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các nhân
viên (NHANVIEN). Biết rằng một nhân viên gồm những thành
phần như sau:
- Mã nhân viên: chuỗi tối đa 5 ký tự.
- Tên nhân viên: chuỗi tối đa 30 ký tự.
- Lương nhân viên: kiểu số thực.
b. Nhập danh sách.
c. Xuất danh sách.
d. Tìm một nhân viên có lương cao nhất trong danh sách.
e. Tính tổng lương của các nhân viên.
f. Sắp xếp danh sách tăng dần theo lương nhân viên.
835.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các thí
sinh (THISINH). Biết rằng một thí sinh gồm những thành phần như
sau:
- Mã thí sinh: chuỗi tối đa 5 ký tự.
- Họ tên thí sinh: chuỗi tối đa 30 ký tự.
- Điểm toán: kiểu số thực.
- Điểm lý: kiểu số thực.
- Điểm hóa: kiểu số thực.
- Điểm tổng cộng: kiểu số thực.
b. Nhập danh sách.
c. Xuất danh sách.
d. Liệt kê các thí sinh thi đậu trong danh sách. Một thí sinh được gọi là
đậu khi có tổng điểm 3 môn lớn hơn 15 và không có một nào bị
điểm không.
e. Sắp xếp danh sách theo thứ tự giảm dần theo điểm tổng cộng.
836.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các luận
văn (LUANVAN). Biết rằng một luận văn gồm những thành phần
như sau:
- Mã luận văn: chuỗi tối đa 10 ký tự.
- Tên luận văn: chuỗi tối đa 100 ký tự.
- Họ tên sinh viên thực hiện: chuỗi tối đa 30 ký tự.
- Họ tên giáo viên hướng dẫn: chuỗi tối đa 30 ký tự.
- Năm thực hiện: kiểu số nguyên 2 byte.
b. Nhập danh sách.
c. Xuất danh sách.
d. Tìm năm có nhiều luận văn nhất.
e. Liệt kê các luận văn thực hiện gần nhất.
837.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các lớp
học (LOPHOC). Biết rằng một lớp học gồm những thành phần như
sau:
- Tên lớp: chuỗi tối đa 30 ký tự.
- Sĩ số: kiểu số nguyên 2 byte.
- Danh sách các học sinh trong lớp (tối đa 50 học sinh)
b. Nhập danh sách.
c. Xuất danh sách.
d. Tìm một lớp có sỉ số đông nhất.
e. TÌm một học sinh có điểm trung bình lớn nhất.
838.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn sổ tiết
kiệm (SOTIETKIEM). Biết rằng một sổ tiết kiệm gồm những thành
phần như sau:
- Mã số: chuỗi tối đa 5 ký tự.
- Loại tiết kiệm: chuỗi tối đa 10 ký tự.
- Họ tên khách hàng: chuỗi tối đa 30 ký tự.
- Chứng minh nhân dân: kiểu số nguyên 4 byte.
- Ngày mở sổ: kiểu dữ liệu ngày.
- Số tiền gởi: kiểu số thực.
b. Nhập danh sách.
c. Xuất danh sách.
d. Tính tổng các tiên gởi có trong danh sách.
e. Tìm địa chỉ một nút theo Chứng minh nhân dân.
839.Viết chương trình thực hiện các yêu cầu sau:
a. Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn các đại lý
(DAILY). Biết rằng một địa lý gồm những thành phần như sau:
- Mã đại lý: chuỗi tối đa 5 ký tự.
- Tên đại lý: chuỗi tối đa 30 ký tự.
- Điện thoại: kiểu số nguyên 4 byte.
- Ngày tiếp nhận: kiểu dữ liệu ngày.
- Địa chỉ: chuỗi tối đa 50 ký tự.
- E-Mail: chuỗi tối đa 50 ký tự.
b. Nhập danh sách.
c. Xuất danh sách.
d. Tìm một đại lý theo tên đại lý.
e. Tìm một đại lý được tiếp nhận gần đây nhất.
840.Viết chương trình thực hiện các yêu cầu sau:
- Khai báo cấu trúc dữ liệu của một danh sách liên kết đơn để lưu toạ
độ các đỉnh của một đa giác lồi trong mặt phẳng Oxy.
- Tính chu vi của đa giác.
- Diện tích của đa giác.
841.Nối hai danh sách liên kết đơn l1 và l2 lại thành danh sách liên kết đơn
l.
842.Thể hiện thuật toán sắp xếp Merge Sort trên danh sách liên kết đơn.
843.Thể hiện thuật toán sắp xếp Quick Sort trên danh sách liên kết đơn.
844.Khai báo cấu trúc dữ liệu cho danh sách liên kết kép tổng quát.
845.Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết kép các phân số.
846.Hãy khai báo cấu trúc dữ liệu cho danh sách liên kết kép các số phức.
847.Viết hàm khởi tạo danh sách liên kết kép.
848.Viết hàm tạo node trong danh sách liên kết kép với thông tin được biết
trước ở dạng trừu tượng.
849.Viết hàm tạo node trong danh sách liên kết kép các phân số.
850.Viết hàm duyệt danh sách liên kết kép ở dạng trừu tượng.
851.Viết hàm xuất danh sách liên kết các phân số.
852.Viết hàm nhập danh sách liên kết ở dạng trừu tượng.
853.Viết chương trình thực hiện các yêu cầu sau :
a. Nhập danh sách liên kết kép các số nguyên.
b. Xuất danh sách liên kết kép các số nguyên.
c. Tính tổng các node trong dslk kép.
854.Kiểm tra danh sách liên kết kép có rỗng hay không?
855.Thêm một node vào cuối danh sách liên kết kép?
856.Thêm một node p vào sau node q trong danh sách liên kết kép?
857.Thêm một node p vào trước node q trong danh sách liên kết kép?
858.Hãy thể hiện thuật toán sắp xếp nổi bọt trên danh sách liên kết kép.
859.Hãy khai báo cấu trúc dữ liệu dạng trừu tượng cho danh sách liên kết
đơn vòng và định nghĩa các thao tác trên danh sách này.
860.Hãy khai báo cấu trúc dữ liệu dạng trừu tượng cho danh sách liên kết
kép vòng và định nghĩa các thao tác trên danh sách này.
CHƯƠNG 13
CÂY NHỊ PHÂN
861.Hãy khai báo cấu trúc dữ liệu cây nhị phân (dạng trừu tượng).
862.Hãy khai báo cấu trúc dữ liệu cây nhị phân các phân số.
863.Hãy khai báo cấu trúc dữ liệu cây nhị phân toạ độ các điểm trên mặt
phẳng Oxy.
864.Cho cây nhị phân khác rỗng. Hãy viết hàm tìm giá trị lớn nhất trong
cây nhị phân các số nguyên.
865.Cho cây nhị phân T các số thực. Hãy viết hàm đếm các giá trị âm có
trong cây?
866.Cho cây nhị phân T các số thực. Hãy viết hàm tính tổng các giá trị
dương nhỏ hơn 2004 có trong cây?
867.Cho cây nhị phân T các số thực. Hãy viết hàm kiểm tra trong cây có tồn
tại giá trị 0 hay không?
868.Viết hàm thêm một giá trị vào cây nhị phân tìm kiếm.
869.Viết hàm hủy một nút có khóa là X trong cây nhị phân tìm kiếm.
KỸ THUẬT NHẬP, XUẤT, LIỆT KÊ
870.Viết hàm xuất các giá trị trong cây.
871.Viết hàm xuất các giá trị chẵn trong cây.
872.Viết hàm xuất địa chỉ các nút trên cây có giá trị (khóa) lớn hơn x và
nhỏ hơn y.
873.Viết hàm xuất các số hoàn hiện trong cây.
874.(*) Viết hàm xuất tất cả các nút trên tầng thứ k của cây.
875.(*) Viết hàm xuất tất cả các nút trên cây theo thứ tự từ tầng 0 đến tầng
h – 1 của cây ( với h là chiều cao của cây).
KỸ THUẬT ĐẾM
876.Đếm số lượng nút có đúng một con.
877.Đếm số lượng nút có đúng hai con.
878.Đếm số lượng nút chẵn.
879.Đếm số lượng nút lá mà thông tin tại nút đó là giá trị chẵn.
880.Đếm số lượng nút có đúng một con mà thông tin tại nút đó là số
nguyên tố.
881.Đếm số lượng nút có đúng hai con mà thông tin tại nút đó là số chính
phương.
882.Đếm số lượng nút trên tầng thứ k của cây.
883.Đếm số lượng nút nằm ở tầng thấp hơn tầng thứ k của cây.
884.Đếm số lượng nút nằm ở tầng cao hơn tầng thứ k của cây.
KỸ THUẬT TÍNH TOÁN
885.Tính tổng các nút trong cây.
886.Tính tổng các nút lá trong cây.
887.Tính tổng các nút có đúng một con.
888.Tính tổng các nút có đúng hai con.
889.Tính tổng các nút lẻ.
890.Tính tổng các nút lá mà thông tin tại nút lá đó là giá trị chẵn.
891.Tính tổng các nút có đúng một con mà thông tin tại nút đó là số nguyên
tố.
892.Tính tổng các nút có đúng hai con mà thông tin tại nút đó là số chính
phương.
893.Tính chiều cao của cây.
KỸ THUẬT ĐẶT CỜ HIỆU
894.Kiểm tra cây nhị phân T có phải là “cây nhị phân tìm kiếm” hay
không?
895.Kiểm tra cây nhị phân T có phải là “cây cân bằng’ hay không?
896.Kiểm tra cây nhị phân T có phải là “cây cân bằng hoàn toàn” hay
không?
KỸ THUẬT ĐẶT LÍNH CANH
897.Tìm giá trị lớn nhất trong cây.
898.Tìm giá trị nhỏ nhất trong cây.
899.Tìm độ lệch lớn nhất trên cây.
900.Tìm địa chỉ nút mà giá trị tại nút đó là giá trị lớn nhất.
901.Tìm địa chỉ của nút trong cây mà giá trị tại nút đó bằng giá trị x. Nếu
không tìm thấy hàm trả về giá trị NULL.
KỸ THUẬT NHẬP, XUẤT, LIỆT KÊ
902.Viết hàm xuất các phân số dương trong cây.
903.Viết hàm xuất tất cả các phân số dương trên tầng thứ k của cây.
904.Viết hàm xuất tất cả các nút trên cây theo thứ tự từ tầng 0 đến tầng h –
1 của cây ( với h là chiều cao của cây).
KỸ THUẬT ĐẾM
905.Đếm số lượng nút có đúng một con và giá trị tại đó là phân số tối giản.
906.Đếm số lượng nút có đúng hai con và giá trị tại nút đó là phân số âm.
907.Đếm số lượng nút âm trên tầng thứ k của cây.
908.Đếm số lượng nút nằm ở tầng thấp hơn tầng thứ k của cây.
909.Đếm số lượng nút nằm ở tầng cao hơn tầng thứ k của cây.
KỸ THUẬT TÍNH TOÁN
910.Tính tổng các nút trong cây.
911.Tính tổng các nút lá trong cây.
912.Tính tổng các nút có đúng một con.
913.Tính tổng các nút có đúng hai con.
914.Tính chiều cao của cây.
KỸ THUẬT ĐẶT CỜ HIỆU
915.Kiểm tra cây nhị phân T có phải là “cây nhị phân tìm kiếm” hay
không?
916.Kiểm tra cây nhị phân T có phải là “cây nhị phân cân bằng” hay
không?
917.Kiểm tra cây nhị phân T có phải là “cây cân bằng hoàn toàn hay
không?
KỸ THUẬT LÍNH CANH
918.Tìm giá trị lớn nhất trong cây.
919.Tìm giá trị nhỏ nhất trong cây.
920.Tìm độ lệch lớn nhất trên cây. Độ lệch của một nút trong cây được định
nghĩa là chiều cao của cây con trái trừ chiều cao cây con phải lấy giá trị
tuyệt đối.
921.Tìm địa chỉ nút mà giá trị tại nút đó là giá trị lớn nhất.
CÁC BÀI TẬP KHÁC
922.Cho cây nhị phân T trong đó thông tin tại mỗi nút trong cây biểu diễn
các thành phần thông tin của một tỉnh (TINH). Biết rằng một tỉnh gồm
những thành phần như sau:
- Mã tỉnh: kiểu số nguyên 2 byte.
- Tên tỉnh: chuỗi tối đa 30 ký tự.
- Dân số: kiểu số nguyên 4 byte.
- Diện tích: kiểu số thực.
a. Tìm địa chỉ một node mà dân số tại node đó là lớn nhất trong cây.
b. Liệt kê các tỉnh trong cây có diện tích lớn hơn 100.000.
c. Đếm số lượng node lá có diện tích nhỏ hơn 700 và dân số lớn hơn
1.000.000.
923.Cho cây nhị phân T trong đó thông tin tại mỗi nút trong cây biểu diễn
các thành phần thông tin của một độc giả (DOCGIA). Biết rằng một
độc giả gồm những thành phần như sau:
- Mã độc giả: chuỗi tối đa 5 ký tự.
- Tên độc giả: chuỗi tối đa 30 ký tự.
- Địa chỉ: chuỗi tối đa 30 ký tự.
- Ngày lập thẻ: kiểu ngày.
a. Tìm đại chỉ một node mà độc giả tại node đó là lớn tuổi nhất trong
cây.
b. Liệt kê các độc giả trong cây sinh sau năm 1975.
c. Đếm số lượng node có đủ hai con có ngày lập thẻ trong ngày
07/05/2004.
d. Tìm kiếm địa chỉ một node trong cây theo mã độc giả.
924.Cho cây nhị phân T trong đó có thông tin tại mỗi nút trong cây biểu
diễn các thành phần thông tin của một học sinh (HOCSINH). Biết rằng
một học sinh gồm những thành phần như sau:
- Họ tên: chuỗi tối đa 30 ký tự.
- Giới tính: kiểu số nguyên tối đa 2 byte.
- Ngày sinh: kiểu dữ liệu ngày.
- Địa chỉ: chuỗi tối đa 50 ký tự.
- E-Mail: chuỗi tối đa 30 ký tự.
a. Tìm địa chỉ một node mà học sinh tại node đó là lớn tuổi nhất trong
cây.
b. Liệt kê các học sinh trong cây.
BÀI TẬP NÂNG CAO
925.Cho cây nhị phân tìm kiếm T các số thực, hãy cho biết đặc điểm thứ tự
các nút được xuất ra trong cây khi duyệt cây theo thứ tự LNR.
926.Cho cây nhị phân tìm kiếm T các số thực, hãy cho biết đặc điểm thứ tự
các nút được xuất ra trong cây khi duyệt cây theo thứ tự RNL.
927.Cho cây nhị phân tìm kiếm T các số thực, hãy cho biết phải duyệt cây
như thế nào để lưu cây trên tệp tin sao cho khi đọc dữ liệu từ tập tin ta
sẽ tạo lại cây như ban đầu.
928.Tìm cây con có tổng lớn nhất.
929.Hãy tạo cây cân bằng từ danh sách liên kết kép có thứ tự tăng dần.

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Mã bảo mật   

 
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây