While not guaranteed to be complete, the following is the types of questions we consider to be essential for demonstrating competency over the material from the first portion of the DSA Course.
Examples of specific questions include:
Examine the following code segment and indicate its time complexity.
N = int(input("range value?")) sum = 0 for i in range(N): sum = sum + 1 print(sum)
N = int(input("range value?")) sum = 0 for i in range (N): sum = sum + 1 for j in range(N, 0, -1): sum = sum + 1 print(sum)
N = int(input("range value?")) sum = 0 for i in range (N): sum = sum + 1 for j in range(N): sum = sum + 1 print(sum)
N = int(input("range value?")) sum = 0 for i in range (N): for j in range(N): sum = sum + 1 print(sum)
N = int(input("range value?")) sum = 0 j = 1 while j <= N: sum = sum + 1 j = j * 2 print(sum)
N = int(input("range value?")) j = N sum = 0 while j > 0: for k in range(N, 1, -1): sum = sum + 1 j = int(j / 2) print(sum)
N = int(input("range value?::")) sum = 0 for i in range(N): for j in range(5): sum = sum + 1 print(sum)
N = int(input("range value?::")) sum = 0 for i in range(N): j = 1 while j < N: sum = sum + 1 j = j * 2 print(sum)
N = int(input("range value?::")) sum = 0 while sum <= N: while sum <= N: sum = sum + 1 print(sum)
def factorial( n ): if n == 1: return 1 else: return n * factorial(n-1)
t = 0 for i in range(1, len(values)): if values[i] < values[t]: t = i print(t)
t = values[0] for i in range(1, len(values)): if values[i] >= t: t = values[i] print(t)
t = int(input("value? ::")) L = 0 h = len(values) - 1 while l < h: m = int( (h + L)/2 ) if values[m] == t: break elif t < values[m]: h = m - 1 else: L = m + 1 if values[m] == t: print( "at " + str(m) ) else: print( "?" )
t = int(input("value? ::")) i = 0 while i < len(values): if values[i] == t: break else: i = i + 1 if i < len(values): print(i) else: print("?")
for s in range( len(values) ): l = s for i in range( s, len(values) ): if values[i] < values[l]: l = i temp = values[s] values[s] = values[l] values[l] = temp
copy = [] copy.append(orig[0]) for s in range( 1, len(orig) ): t = s copy.append(orig[s]) while t > 0 and orig[s] < copy[t-1]: print(t) copy[t] = copy[t-1] t = t - 1 copy[t] = orig[s]
def myResult(values, t): if len(values) == 0: return t else: if values[0] < t: return myResult(values[1: ], values[0]) else: return myResult(values[1: ], t) # called with result = myResult( values[1: ], values[0] )
def myResult(values, t): if len(values) == 0: return t else: if values[0] > t: return myResult(values[1: ], values[0]) else: return myResult(values[1: ], t) # called with result = myResult( values[1: ], values[0] )
def myResult(values, t): if len(values) == 0: return "?" else: m = int( len(values) / 2 ) if values[m] == t: return m else: if t < values[m]: return myResult(values[ :m], t) else: return myResult(values[m+1: ], t) # called with: # t = int(input("value? :: ")) # result = myResult( values, t )
def myResult(values, t): if len(values) == 0: return "?" else: if values[0] == t: return "!" else: return myResult(values[1: ], t) # called with: # t = int(input("value? :: ")) # result = myResult( values, t )
t = values[0] for i in range(1, len(values)): if values[i] < t: t = values[i] print(t)
t = 0 for i in range(1, len(values)): if values[i] > values[t]: t = i print(t)
for s in range( len(values) ): l = s for i in range( s, len(values) ): if values[i] < values[l]: l = i temp = values[s] values[s] = values[l] values[l] = temp