Расстановка приоритетов: примеры кода и методы

  1. Очередь приоритетов.
    Очередь приоритетов — это структура данных, в которой хранятся элементы со связанными приоритетами. Элементы с более высоким приоритетом удаляются из очереди в первую очередь. Вот пример использования приоритетной очереди в Python:
import queue
# Create a priority queue
pq = queue.PriorityQueue()
# Add elements with priorities
pq.put((3, 'Task 1'))
pq.put((1, 'Task 2'))
pq.put((2, 'Task 3'))
# Get and process elements in priority order
while not pq.empty():
    priority, task = pq.get()
    print(f'Processing task: {task}')
  1. Взвешенная оценка.
    Взвешенная оценка включает в себя присвоение весов различным критериям и выставление оценок на основе этих критериев. Более высокие баллы указывают на более высокий приоритет. Вот пример Python:
tasks = [
    {'name': 'Task 1', 'priority': 0.8, 'effort': 5},
    {'name': 'Task 2', 'priority': 0.6, 'effort': 2},
    {'name': 'Task 3', 'priority': 0.9, 'effort': 3},
]
# Calculate scores
for task in tasks:
    score = task['priority'] * task['effort']
    task['score'] = score
# Sort tasks based on scores
sorted_tasks = sorted(tasks, key=lambda x: x['score'], reverse=True)
# Process tasks in order
for task in sorted_tasks:
    print(f'Processing task: {task["name"]}')
  1. Матрица Эйзенхауэра.
    Матрица Эйзенхауэра делит задачи на четыре квадранта в зависимости от важности и срочности. Вот пример Python со списком задач:
tasks = [
    {'name': 'Task 1', 'importance': 'High', 'urgency': 'High'},
    {'name': 'Task 2', 'importance': 'Low', 'urgency': 'High'},
    {'name': 'Task 3', 'importance': 'High', 'urgency': 'Low'},
    {'name': 'Task 4', 'importance': 'Low', 'urgency': 'Low'},
]
# Sort tasks based on importance and urgency
sorted_tasks = sorted(tasks, key=lambda x: (x['importance'], x['urgency']), reverse=True)
# Process tasks in order
for task in sorted_tasks:
    print(f'Processing task: {task["name"]}')