n <= 2^h-1
n+1 <= 2^h
h >= lg(n+1)
h - 1 >= lg(n+1) - 1
(여기서 h - 1은 n개의 노드를 가진 트리의 가장 작은 높이를 나타내)
이렇게 수식을 전개하며 해답을 얻을 수 있었다.
import pandas as pd
df = pd.read_csv('/Users/hansunkyoung/Projects/algorithm/BirthdayData.csv', encoding='UTF-8')
birth_df = df.iloc[1:, 2:3]
birth_df.fillna(0)
_birth_lst = birth_df.values.tolist()
birth_lst = []
for i in range(0, len(_birth_lst)):
birth_lst.append(float(_birth_lst[i][0]))
print(birth_lst)
3-2. 세트를 정렬된 배열 집합에 넣습니다.
import pandas as pd
df = pd.read_csv('/Users/hansunkyoung/Projects/algorithm/BirthdayData.csv', encoding='UTF-8')
birth_df = df.iloc[1:, 2:3]
birth_df.fillna(0)
_birth_lst = birth_df.values.tolist()
birth_lst = []
for i in range(0, len(_birth_lst)):
birth_lst.append(float(_birth_lst[i][0]))
print(sorted(birth_lst))
3-3. 세트를 direct access array set에 넣어라.
(해당 문제는 방법을 찾기 힘들어 chatgpt의 도움을 받은 코드입니다.)
birth_arr = [None] * len(birth_lst)
for i in range(len(birth_lst)):
birth_arr[i] = birth_lst[i]
print(birth_arr)
3-4. 사이즈를 비교하여라.
unordered array set, oredered array set, direct access array set 모두 사이즈 100이 나온다.
3-5. 인터페이스 비교: build, find, insert, delete, find_min, find_max, find_next, find_prev. (강의자료 참고)