week 2 time complixty

import time

import sys


# Employee Class

class Employee:

    def __init__(self, emp_id, name, salary):

        self.emp_id = emp_id

        self.name = name

        self.salary = salary



# Employee ADT Class

class EmployeeADT:

    def __init__(self):

        self.employees = []


    # Add Employee

    def add_employee(self, emp):

        start = time.time()

        self.employees.append(emp)   # O(1)

        end = time.time()

        print("Added employee (Time:", round(end-start,6), "s, Space:", sys.getsizeof(emp), "bytes)")


    # Remove Employee

    def remove_employee(self, emp_id):

        start = time.time()

        for i, emp in enumerate(self.employees):   # O(n)

            if emp.emp_id == emp_id:

                self.employees.pop(i)

                end = time.time()

                print("Removed employee (Time:", round(end-start,6), "s)")

                return

        end = time.time()

        print("Employee not found (Time:", round(end-start,6), "s)")


    # Display Employees

    def display_employees(self):

        start = time.time()

        for emp in self.employees:   # O(n)

            print(emp.emp_id, emp.name, emp.salary)

        end = time.time()

        print("Display employees (Time:", round(end-start,6), "s)")



# Example usage ADT

print("-----Using Employee ADT-----")


adt = EmployeeADT()


adt.add_employee(Employee(1, "Alice", 50000))

adt.add_employee(Employee(2, "Bob", 60000))


adt.display_employees()


adt.remove_employee(1)


adt.display_employees()

Comments

Popular posts from this blog

college

company

company database