master > master: code go, py - Annahme in SprungSuche nur eine Idealisierung, keine Notwendigkeit
This commit is contained in:
parent
6d97bcc6db
commit
e9f83317d8
@ -75,7 +75,7 @@ parts:
|
|||||||
- command: 'algorithm-search-binary'
|
- command: 'algorithm-search-binary'
|
||||||
description: 'Seminarblatt Woche 3, Aufgabe 1'
|
description: 'Seminarblatt Woche 3, Aufgabe 1'
|
||||||
inputs: &ref_inputs_sem3_1
|
inputs: &ref_inputs_sem3_1
|
||||||
L: [7, 12, 29, 33, 40, 44, 45, 55, 64, 68, 78, 81, 84, 89, 95, 117, 120, 124, 133, 148, 152, 157, 174, 209, 219, 226, 237, 241, 273, 277, 282]
|
L: [7, 12, 29, 33, 40, 44, 45, 55, 64, 68, 78, 81, 84, 89, 95, 117, 120, 124, 133, 148, 152, 157, 174, 209, 219, 226, 226, 237, 241, 273, 277, 282]
|
||||||
x: 101
|
x: 101
|
||||||
- command: 'algorithm-search-jump'
|
- command: 'algorithm-search-jump'
|
||||||
description: 'Seminarblatt Woche 3, Aufgabe 1'
|
description: 'Seminarblatt Woche 3, Aufgabe 1'
|
||||||
|
@ -27,7 +27,8 @@ Inputs: L = Liste von Zahlen, x = Zahl, m = lineare Sprunggröße.
|
|||||||
|
|
||||||
Annahmen:
|
Annahmen:
|
||||||
- L sei aufsteigend sortiert.
|
- L sei aufsteigend sortiert.
|
||||||
- L enthält keine Duplikate.
|
- Idealerweise: L enthält keine Duplikate.
|
||||||
|
- Idealerweise: Abstände zw. Elementen nicht uniform.
|
||||||
|
|
||||||
Outputs: Position von x in L, sonst −1 wenn x nicht in L.
|
Outputs: Position von x in L, sonst −1 wenn x nicht in L.
|
||||||
*/
|
*/
|
||||||
|
@ -26,6 +26,7 @@ func preChecks(L []int, _ ...interface{}) error {
|
|||||||
if !utils.IsSortedListInt(L) {
|
if !utils.IsSortedListInt(L) {
|
||||||
return fmt.Errorf("Ungültiger Input: L muss aufsteigend sortiert sein!")
|
return fmt.Errorf("Ungültiger Input: L muss aufsteigend sortiert sein!")
|
||||||
}
|
}
|
||||||
|
// NOTE: nicht prüfen, ob Duplikate existieren. Das ist nur eine erwünschte aber keine notwendige Annahme.
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ from src.algorithms.methods import *;
|
|||||||
|
|
||||||
def preChecks(L: List[int], **_):
|
def preChecks(L: List[int], **_):
|
||||||
assert L == sorted(L), 'Ungültiger Input: L muss aufsteigend sortiert sein!';
|
assert L == sorted(L), 'Ungültiger Input: L muss aufsteigend sortiert sein!';
|
||||||
assert L == sorted(list(set(L))), 'Ungültiger Input: L darf keine Duplikate enthalten!';
|
## NOTE: nicht prüfen, ob Duplikate existieren. Das ist nur eine erwünschte aber keine notwendige Annahme.
|
||||||
return;
|
return;
|
||||||
|
|
||||||
def postChecks(L: List[int], x: int, index: int, **_):
|
def postChecks(L: List[int], x: int, index: int, **_):
|
||||||
@ -46,7 +46,8 @@ def JumpSearchLinear(L: List[int], x: int, m: int) -> int:
|
|||||||
|
|
||||||
Annahmen:
|
Annahmen:
|
||||||
- L sei aufsteigend sortiert.
|
- L sei aufsteigend sortiert.
|
||||||
- L enthält keine Duplikate.
|
- Idealerweise: L enthält keine Duplikate.
|
||||||
|
- Idealerweise: Abstände zw. Elementen nicht uniform.
|
||||||
|
|
||||||
Outputs: Position von x in L, sonst −1 wenn x nicht in L.
|
Outputs: Position von x in L, sonst −1 wenn x nicht in L.
|
||||||
'''
|
'''
|
||||||
@ -77,7 +78,8 @@ def JumpSearchExponentiell(L: List[int], x: int) -> int:
|
|||||||
|
|
||||||
Annahmen:
|
Annahmen:
|
||||||
- L sei aufsteigend sortiert.
|
- L sei aufsteigend sortiert.
|
||||||
- L enthält keine Duplikate.
|
- Idealerweise: L enthält keine Duplikate.
|
||||||
|
- Idealerweise: Abstände zw. Elementen nicht uniform.
|
||||||
|
|
||||||
Outputs: Position von x in L, sonst −1 wenn x nicht in L.
|
Outputs: Position von x in L, sonst −1 wenn x nicht in L.
|
||||||
'''
|
'''
|
||||||
|
Loading…
x
Reference in New Issue
Block a user