master > master: code - hinzugefügt
This commit is contained in:
		
							parent
							
								
									379d660c89
								
							
						
					
					
						commit
						71d87423fe
					
				
							
								
								
									
										0
									
								
								code/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								code/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								code/local/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								code/local/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										9
									
								
								code/local/maths.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								code/local/maths.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# EXPORTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
import math;
 | 
			
		||||
import random;
 | 
			
		||||
							
								
								
									
										9
									
								
								code/local/misc.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								code/local/misc.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# EXPORTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
import re;
 | 
			
		||||
from textwrap import dedent;
 | 
			
		||||
							
								
								
									
										14
									
								
								code/local/system.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								code/local/system.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# EXPORTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
import os;
 | 
			
		||||
import sys;
 | 
			
		||||
 | 
			
		||||
import pathlib;
 | 
			
		||||
import platform;
 | 
			
		||||
import shutil;
 | 
			
		||||
import subprocess;
 | 
			
		||||
							
								
								
									
										19
									
								
								code/local/typing.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								code/local/typing.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# EXPORTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
from types import TracebackType;
 | 
			
		||||
 | 
			
		||||
from typing import Any;
 | 
			
		||||
from typing import Callable;
 | 
			
		||||
from typing import Dict;
 | 
			
		||||
from typing import Generator;
 | 
			
		||||
from typing import Generic;
 | 
			
		||||
from typing import List;
 | 
			
		||||
from typing import Tuple;
 | 
			
		||||
from typing import Type;
 | 
			
		||||
from typing import TypeVar;
 | 
			
		||||
from typing import Union;
 | 
			
		||||
							
								
								
									
										49
									
								
								code/main.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								code/main.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,49 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# IMPORTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
import os;
 | 
			
		||||
import sys;
 | 
			
		||||
 | 
			
		||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))));
 | 
			
		||||
 | 
			
		||||
from code.search.exports import *;
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# GLOBAL VARIABLES/CONSTANTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# MAIN PROCESS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
    goThroughCases();
 | 
			
		||||
    return;
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# SECONDARY PROCESSES
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
def goThroughCases():
 | 
			
		||||
    ## Hier Fälle einfügen:
 | 
			
		||||
    ## Case 1:
 | 
			
		||||
    L = [1,3,5,7,11,13,17,19,23];
 | 
			
		||||
    u = 0;
 | 
			
		||||
    v = len(L) - 1;
 | 
			
		||||
    x = 13;
 | 
			
		||||
    p = AlgoInterpol(L, u, v, x);
 | 
			
		||||
    print('Ausführung des Interplationsalgorithmus:', p, L[p] if p >= 0 else None);
 | 
			
		||||
    return;
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# EXECUTE CODE
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    main();
 | 
			
		||||
							
								
								
									
										0
									
								
								code/search/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								code/search/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										8
									
								
								code/search/exports.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								code/search/exports.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# EXPORTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
from code.search.methods import AlgoInterpol;
 | 
			
		||||
							
								
								
									
										40
									
								
								code/search/methods.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								code/search/methods.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# IMPORTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
from local.maths import *;
 | 
			
		||||
from local.typing import *;
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# GLOBAL VARIABLES/CONSTANTS
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
# ALGORITHM
 | 
			
		||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
 | 
			
		||||
def AlgoInterpol(L: List[int], u: int, v: int, x: int) -> int:
 | 
			
		||||
    if not(L[u] <= x and x <= L[v]):
 | 
			
		||||
        print('out of bounds!')
 | 
			
		||||
        return -1;
 | 
			
		||||
    p = getSuchposition(L, u, v, x);
 | 
			
		||||
    print('Interpolatiert von u={u}, v={v} -> p = {p}.'.format(u=u, v=v, p=p));
 | 
			
		||||
    if L[p] == x:
 | 
			
		||||
        print('gefunden!');
 | 
			
		||||
        return p;
 | 
			
		||||
    elif x > L[p]:
 | 
			
		||||
        print('x > L[p]');
 | 
			
		||||
        return AlgoInterpol(L, p+1, v, x);
 | 
			
		||||
    else:
 | 
			
		||||
        print('x < L[p]');
 | 
			
		||||
        return AlgoInterpol(L, u, p-1, x);
 | 
			
		||||
 | 
			
		||||
def getSuchposition(L: List[int], u: int, v: int, x: int) -> int:
 | 
			
		||||
    r = (x - L[u])/(L[v]-L[u]);
 | 
			
		||||
    p = math.floor(u + r*(v-u))
 | 
			
		||||
    return p;
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user