簡體   English   中英

1 和 2 之間有區別嗎(復雜時間或干凈的代碼更好)?

[英]Is there a difference between 1 and 2 (complexity time or clean code better)?

1:

it_courses = {'CS': ('Discrete Structures (2)', 'Compiler Construction', 'Theory of computation'), 'SE': (
    'Software Analysis and Design', 'Project management', 'Advanced Internet Computing')}

def register_courses(it_courses, dep_acronym):
    if dep_acronym == 'CS':
        for index in it_courses['SE']:
   *         print(f"Can't register {index}")
    else:
        for index in it_courses['CS']:
            print(f"Can't register {index}")

register_courses(it_courses, 'CS')

2:

def register_courses(it_courses, dep_acronym):
    for key in it_courses:
        if key != dep_acronym:
            for i in it_courses[key]:
              print("Can't register ",i)

復雜性有什么不同嗎?那是我在干凈代碼中需要的嗎?

沒有復雜性差異。 假設我們有 10 個部門。 然后你將在#1 中有 10 個 if 語句,而在#2 的外循環中有 10 個要循環的東西。 在內部循環中,您仍然需要為 #1 和 #2 打印相同數量的內容。

#2簡潔,因為一旦添加更多部門,#1 將變得非常大(很多 if 語句)。

#1 具有線性時間或 O(n) 復雜度,而 #2 也具有線性復雜度,但系數稍高,估計為 O(n+2)//。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM