Professional Documents
Culture Documents
KHOA CÔNG NGHỆ THÔNG TIN MÔN : Cấu trúc dữ liệu và thuật giải
THỜI GIAN : 90 phút
HỌC KỲ : 1 – Năm học 2021-2022
LỚP : 20DTH
Sinh viên được sử dụng tài liệu, cán bộ coi thi không giải thích gì thêm Mã đề: 02
Câu 1: (5 điểm) Lớp danh sách liên kết đơn chứa các số nguyên đã được cài đặt:
a. Sử dụng lớp trên viết hàm tách danh sách L thành 2 danh sách L1 chứa số lẻ và L2 chứa số chẵn
(2đ)
b. Không sử dụng các phương thức của lớp danh sách liên kết đơn, cài đặt phương thức tách danh
sách L thành 2 danh sách L1 chứa số lẻ và L2 chứa số chẵn (3đ)
Câu 2: (5 điểm) Hãy thực hiện các yêu cầu sau trên cây tìm kiếm nhị phân:
a. Khai báo cấu trúc cây tìm kiếm nhị phân chứa các số nguyên (1đ)
b. Viết hàm tính đếm số node có giá trị < x trên cây (1đ)
c. Viết hàm tính tổng giá trị các node trên mức < k của cây (1đ)
d. Mô tả quá trình hình thành cây tìm kiếm nhị phân khi đưa vào cây lần lượt các giá tri sau (2đ):
30, 20, 40, 10, 15, 18, 12, 38, 45, 8.
Và xóa 30, 10. 40
DUYỆT ĐỀ Tp.HCM, ngày 02 tháng 01 năm 2022
GIẢNG VIÊN RA ĐỀ
Lê Mậu Long
Tên:Nguyễn Trọng Đat MSSV:2000000100
Lớp:20DTH1D
Bài làm
Câu 1:
a).
Class SplitLinkList
import java.util.LinkedList;
}
}}
import java.util.LinkedList;
Class TestSplitLinkedList
myList.addLast(34);
myList.addLast(65);
myList.addLast(27);
myList.addLast(89);
myList.addLast(12);
myList.splitMid(sublist);
}
}
1B).
// A Linked List Node
class Node {
int data;
Node next;
System.out.println("null");
}
/*
* Given the source list, split its nodes into two shorter lists. If we number
* the elements 0, 1, 2, … then all the even elements should go in the first
* list and all the odd elements in the second. The elements in the new lists
* may be in any order.
*/
public static Node[] alternatingSplit(Node source) {
// Split the nodes into `a` and `b` lists
Node a = null;
Node b = null;
Node current = source;
if (current != null) {
// Move a node to `b`
Câu 2:
a).
package Tree;
import java.util.Scanner;
class node {
int data;
node left, right;
class tree {
node root;
public tree() {
root = null;
}
2b).
import java.util.*;
int key;
ArrayList<Node> child;
class GFG{
int count = 0;
// Driver code
public static void main(String[] args)
{
root.child.get(0).child.add(new Node(15));
root.child.get(1).child.add(new Node(4));
root.child.get(1).child.add(new Node(5));
root.child.get(2).child.add(new Node(6));
int x = 5;
2c).
D).