Data structure repository for undergraduate course of Computer Science class at the University of Brasilia
class Pessoa:

     def __init__(self,n,i,a):
          self.nome = n
          self.idade = i
          self.altura = a
     
     def __str__(self):
         return self.nome+" , idade: "+str(self.idade)     
     
     def ehMaiorIdade(self):
         if self.idade >=18:
            return True
         return False 
         
     def maior(self,outra):
         if self.altura > outra.altura:
            return True
         return False

class Aluno(Pessoa):

     def __init__(self,n,i,a,m):
         Pessoa.__init__(self,n,i,a)
         self.matricula = m
         
     def getMatricula(self):
         return self.matricula    

class Professor(Pessoa):

     def __init__(self,n,i,a,d):
         Pessoa.__init__(self,n,i,a)
         self.disciplina = d
         
         
eduardo = Aluno("Eduardo",42,1.76,10000)
pedro = Professor ("Pedro",17, 1.80,"ED")
#l = [eduardo,pedro]
print(eduardo.nome,"é maior de idade: ",eduardo.ehMaiorIdade())
print("Pedro é maior de idade: ",pedro.ehMaiorIdade())
print("Eduardo é maior: ",eduardo.maior(pedro))
print("Eduardo possui matricula: ",eduardo.getMatricula())
print("Pedro disciplina: ",pedro.disciplina)












intro/aula_intro_alchieri.py
mfcaetano/ed

class Pessoa:
    def __init__(self, nome, idade, altura):
        self.nome = nome
        self.idade = idade
        self.altura = altura

    def set_nome(self, nome):

        self.nome = nome
    
    def get_nome(self):
        return self.nome

    def __str__(self):
        return f'{self.nome}, {self.idade}, {self.altura}' 

    def __gt__(self, outro):
        return self.altura > outro.altura
            
class Aluno(Pessoa):
    def __init__(self, nome, idade, altura, matricula):
        Pessoa.__init__(self, nome, idade, altura)
        self.matricula = matricula

    def __str__(self):
        return super().__str__() + f', {self.matricula}'

pessoa_1 = Pessoa("Caetano", 18, 1.76)
pessoa_2 = Pessoa("João", 32, 2.76)

aluno = Aluno("Joazinho", 17, 2.00, 123)
aluno_1 = Aluno("Pedrinho", 22, 2.95, 223)
print(type(aluno))

print(pessoa_1)
print(pessoa_2)

pessoa_1.nome = 2.3
pessoa_1.set_nome(2.3)

print(pessoa_1.get_nome())


if aluno > aluno_1:
    print(f'{aluno} é maior que {aluno_1}')
elif aluno_1 > aluno:
    print(f'{aluno_1} é maior que {aluno}')

intro/classes.py
mfcaetano/ed
class keyValue:
    def __init__(self, key, value):
        self.key = key
        self.value = value

    def __str__(self):
        return f'key: {self.key} value:{self.value}'

    def __repr__(self):
        return str(self)

class HashMap:
    def __init__(self, lenght=11):
        self.items = [[] for _ in range(lenght)]
        self.lenght = lenght
        self.elements_cout = 0

    def put(self, key, value):
        hash = self.hash(key)

        for item in self.items[hash]:
            if item.key == key:
                item.value = value
                break
        else:
            self.items[hash].append(keyValue(key, value))
            self.elements_cout += 1

    def get(self, key):
        pass

    def __setitem__(self, key, value):
        self.put(key, value)

    def __getitem__(self, key):
        pass

    def hash(self, key):
        return key % self.lenght





hm = HashMap()
hm.put(11, 'numero onze')
hm.put(22, 'numero vinte e dois')
hm.put(9, 'numero nove')

hm[11] = "numero ONZE"

print(hm.get(11))

print('oi')


#v = keyValue(11, 'numero onze')

#print(v)
search/hash_table.py
mfcaetano/ed