Các bộ là các cấu trúc dữ liệu không có thứ tự không chứa các bản sao. Trong bức ảnh này, chúng tôi sẽ thảo luận về cách xác định xem một bộ là một tập hợp con của một bộ khác. are unordered data structures that do not contain duplicates. In this shot, we will discuss how to determine if a set is a subset of another set.
Một tập hợp con là gì?
Nếu tất cả các giá trị của một tập hợp, A, cũng được chứa trong một tập hợp lớn hơn, B, thì A là một tập hợp con của B.
1. Cách sử dụng issubset[]
Hàm tích hợp issubset[]
có thể được sử dụng để xác định xem một bộ là tập hợp con của một bộ khác.issubset[]
can be used to determine if a set is a subset of another set.
setA.issubset[setB]
Hàm issubset[]
có một đối số: tập hợp lớn hơn. Ở đây, chúng tôi đang kiểm tra xem
0 có phải là tập hợp con củasetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
1 không.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
Hàm sẽ trả về
2 nếusetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
0 là tập hợp con củasetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
1 vàsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
5 nếu không.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
2. Cách sử dụng setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
6
setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
Hàm
6 tích hợp trả về một tập hợp chứa các phần tử mà hai bộ chia sẻ.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
6 function returns a set that contains the elements that the two sets share.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
set.intersection[set1]
Nếu tập hợp
8 trả về bằng tập nhỏ hơn, bộ nhỏ hơn là một tập hợp con của tập hợp lớn hơn.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
3. Cách sử dụng vòng lặp setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
9
setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
Chúng ta có thể sử dụng một vòng
9 đơn giản để đi qua tập hợp con tiềm năng, giả sử,setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
1.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
Nếu bất kỳ yếu tố nào của
1 không nằm trong tập hợp khác,setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
0, thìsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
1 không phải là một tập hợp con của ____10. Nếu không,setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
1 là một tập hợp con củasetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
0.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setB.issubset[setA]]
print["Is setA a subset of setB?: ", setA.issubset[setB]]
print["Is setC a subset of setA?: ", setC.issubset[setA]]
setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
print["setA: ", setA]
print["setB: ", setB]
subSet = True
for i in setB:
if i not in setA:
subSet = False
if subSet == False:
print["SetB is not a subset of SetA"]
else:
print["SetB is a subset of SetA"]
for i in setA:
if i not in setB:
subSet = False
if subSet == False:
print["SetA is not a subset of SetB"]
else:
print["SetA is a subset of SetB"]
Xin tha thứ cho tôi nếu tôi đến trễ bữa tiệc. ;]
Để kiểm tra xem một
set.intersection[set1]
8 có phải là tập hợp con set.intersection[set1]
9 không, 0 cósetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
1 vàsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
2. Nó chỉ hoạt động trênsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
3 và hoạt động tuyệt vời nhưng sự phức tạp của việc thực hiện nội bộ vẫn chưa được biết. Tham khảo: //docs.python.org/2/l Library/sets.html#set- objectsBUT the complexity of internal implementation is unknown. Reference: //docs.python.org/2/library/sets.html#set-objectssetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
Tôi đã đưa ra một thuật toán để kiểm tra xem
4 có phải là tập hợp con củasetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
5 với những nhận xét sau không.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
- Để giảm độ phức tạp của việc tìm tập hợp con, tôi thấy nó phù hợp với
6 cả hai danh sách trước khi so sánh các yếu tố để đủ điều kiện cho tập hợp con.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
- Nó đã giúp tôi
7setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
8 khi giá trị của phần tử của danh sách thứ haisetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
9 lớn hơn giá trị của phần tử của danh sách đầu tiênsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
0.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
print["setA: ", setA]
print["setB: ", setB]
subSet = True
for i in setB:
if i not in setA:
subSet = False
if subSet == False:
print["SetB is not a subset of SetA"]
else:
print["SetB is a subset of SetA"]
for i in setA:
if i not in setB:
subSet = False
if subSet == False:
print["SetA is not a subset of SetB"]
else:
print["SetA is a subset of SetB"]
1 được sử dụng để bắt đầusetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
print["setA: ", setA]
print["setB: ", setB]
subSet = True
for i in setB:
if i not in setA:
subSet = False
if subSet == False:
print["SetB is not a subset of SetA"]
else:
print["SetB is a subset of SetA"]
for i in setA:
if i not in setB:
subSet = False
if subSet == False:
print["SetA is not a subset of SetB"]
else:
print["SetA is a subset of SetB"]
8 trênsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
5 nơi nó cuối cùng rời đi. Nó giúp tránh bắt đầu so sánh từ khi bắt đầusetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
5 [như bạn có thể đoán không cần thiết, để bắt đầusetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
5 từsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
setC = {1, 2, 3, 6, 7}
print["setA: ", setA]
print["setB: ", setB]
print["setC: ", setC]
print["Is setB a subset of setA?: ", setA.intersection[setB] == setB]
print["Is setA a subset of setB?: ", setA.intersection[setB] == setA]
print["Is setC a subset of setA?: ", setA.intersection[setC] == setC]
6 trong sau đósetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
print["setA: ", setA]
print["setB: ", setB]
subSet = True
for i in setB:
if i not in setA:
subSet = False
if subSet == False:
print["SetB is not a subset of SetA"]
else:
print["SetB is a subset of SetA"]
for i in setA:
if i not in setB:
subSet = False
if subSet == False:
print["SetA is not a subset of SetB"]
else:
print["SetA is a subset of SetB"]
7.]setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
print["setA: ", setA]
print["setB: ", setB]
subSet = True
for i in setB:
if i not in setA:
subSet = False
if subSet == False:
print["SetB is not a subset of SetA"]
else:
print["SetB is a subset of SetA"]
for i in setA:
if i not in setB:
subSet = False
if subSet == False:
print["SetA is not a subset of SetB"]
else:
print["SetA is a subset of SetB"]
Độ phức tạp sẽ là
8 mỗi để sắp xếp cả danh sách vàsetA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
print["setA: ", setA]
print["setB: ", setB]
subSet = True
for i in setB:
if i not in setA:
subSet = False
if subSet == False:
print["SetB is not a subset of SetA"]
else:
print["SetB is a subset of SetA"]
for i in setA:
if i not in setB:
subSet = False
if subSet == False:
print["SetA is not a subset of SetB"]
else:
print["SetA is a subset of SetB"]
9 để kiểm tra tập hợp con.setA = {1, 2, 3, 4, 5}
setB = {1, 2, 3}
print["setA: ", setA]
print["setB: ", setB]
subSet = True
for i in setB:
if i not in setA:
subSet = False
if subSet == False:
print["SetB is not a subset of SetA"]
else:
print["SetB is a subset of SetA"]
for i in setA:
if i not in setB:
subSet = False
if subSet == False:
print["SetA is not a subset of SetB"]
else:
print["SetA is a subset of SetB"]
is_subset = True; A = [9, 3, 11, 1, 7, 2]; B = [11, 4, 6, 2, 15, 1, 9, 8, 5, 3]; print[A, B]; # skip checking if list A has elements more than list B if len[A] > len[B]: is_subset = False; else: # complexity of sorting using quicksort or merge sort: O[n ln n] # use best sorting algorithm available to minimize complexity A.sort[]; B.sort[]; print[A, B]; # complexity: O[n^2] # for a in A: # if a not in B: # is_subset = False; # break; # complexity: O[n] is_found = False; last_index_j = 0; for i in range[len[A]]: for j in range[last_index_j, len[B]]: is_found = False; print["i=" + str[i] + ", j=" + str[j] + ", " + str[A[i]] + "==" + str[B[j]] + "?"]; if B[j] len[B]: is_subset = False; else: # complexity of sorting using quicksort or merge sort: O[n ln n] # use best sorting algorithm available to minimize complexity A.sort[]; B.sort[]; print[A, B]; # complexity: O[n^2] # for a in A: # if a not in B: # is_subset = False; # break; # complexity: O[n] is_found = False; last_index_j = 0; for i in range[len[A]]: for j in range[last_index_j, len[B]]: is_found = False; print["i=" + str[i] + ", j=" + str[j] + ", " + str[A[i]] + "==" + str[B[j]] + "?"]; if B[j] len[B]: is_subset = False; else: # complexity of sorting using quicksort or merge sort: O[n ln n] # use best sorting algorithm available to minimize complexity A.sort[]; B.sort[]; print[A, B]; # complexity: O[n^2] # for a in A: # if a not in B: # is_subset = False; # break; # complexity: O[n] is_found = False; last_index_j = 0; for i in range[len[A]]: for j in range[last_index_j, len[B]]: is_found = False; print["i=" + str[i] + ", j=" + str[j] + ", " + str[A[i]] + "==" + str[B[j]] + "?"]; if B[j] len[B]: is_subset = False; else: # complexity of sorting using quicksort or merge sort: O[n ln n] # use best sorting algorithm available to minimize complexity A.sort[]; B.sort[]; print[A, B]; # complexity: O[n^2] # for a in A: # if a not in B: # is_subset = False; # break; # complexity: O[n] is_found = False; last_index_j = 0; for i in range[len[A]]: for j in range[last_index_j, len[B]]: is_found = False; print["i=" + str[i] + ", j=" + str[j] + ", " + str[A[i]] + "==" + str[B[j]] + "?"]; if B[j] len[B]: is_subset = False; else: # complexity of sorting using quicksort or merge sort: O[n ln n] # use best sorting algorithm available to minimize complexity A.sort[]; B.sort[]; print[A, B]; # complexity: O[n^2] # for a in A: # if a not in B: # is_subset = False; # break; # complexity: O[n] is_found = False; last_index_j = 0; for i in range[len[A]]: for j in range[last_index_j, len[B]]: is_found = False; print["i=" + str[i] + ", j=" + str[j] + ", " + str[A[i]] + "==" + str[B[j]] + "?"]; if B[j]