полли42
13.05.2020 05:15

Проанализируйте фрагмент программы и получите его ! 22 ! ​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
zumi453
01.09.2022 10:39

Сортировка массива — это процесс распределения всех элементов массива в определённом порядке. Очень часто это бывает полезным. Например, в вашем почтовом ящике электронные письма отображаются в зависимости от времени получения; новые письма считаются более релевантными, чем те, которые вы получили полчаса, час, два или день назад; когда вы переходите в свой список контактов, имена обычно находятся в алфавитном порядке, потому что так легче что-то найти. Все эти случаи включают в себя сортировку данных перед их фактическим выводом.

Оглавление:

Как работает сортировка?

Сортировка массивов методом выбора

Сортировка массивов методом выбора в C++

std::sort()

Тест

Как работает сортировка?

Сортировка данных может сделать поиск внутри массива более эффективным не только для людей, но и для компьютеров. Например, рассмотрим случай, когда нам нужно узнать, отображается ли определённое имя в списке имён. Чтобы это узнать, нужно проверить каждый элемент массива на соответствие с нашим значением. Поиск в массиве с множеством элементов может оказаться слишком неэффективным (затратным).

Однако, предположим, что наш массив с именами отсортирован в алфавитном порядке. Тогда наш поиск начинается с первой буквы нашего значения и заканчивается буквой, которая идёт следующей по алфавиту. В таком случае, если мы дошли до этой буквы и не нашли имя, то точно знаем, что оно не находится в остальной части массива, так как в алфавитном порядке нашу букву мы уже Не секрет, что есть алгоритмы поиска внутри отсортированных массивов и получше. Используя алгоритм, мы можем искать определённый элемент в отсортированном массиве, содержащем 1 000 000 элементов, используя всего лишь 20 сравнений! Недостатком, конечно же, является то, что сортировка массива с таким огромным количеством элементов — дело сравнительно затратное, и оно точно не выполняется ради одного поискового за

0,0(0 оценок)
Ответ:
ALINASVETLYRULIT
01.04.2021 23:31

class Node:

   def __init__(self, val):

       self.l = None

       self.r = None

       self.v = val

class Tree:

   def __init__(self):

       self.root = None

   def getRoot(self):

       return self.root

   def add(self, val):

       if self.root is None:

           self.root = Node(val)

       else:

           self._add(val, self.root)

   def _add(self, val, node):

       if val < node.v:

           if node.l is not None:

               self._add(val, node.l)

           else:

               node.l = Node(val)

       else:

           if node.r is not None:

               self._add(val, node.r)

           else:

               node.r = Node(val)

   def find(self, val):

       if self.root is not None:

           return self._find(val, self.root)

       else:

           return None

   def _find(self, val, node):

       if val == node.v:

           return node

       elif (val < node.v and node.l is not None):

           return self._find(val, node.l)

       elif (val > node.v and node.r is not None):

           return self._find(val, node.r)

   def deleteTree(self):

       # garbage collector will do this for us.  

       self.root = None

   def printTree(self):

       if self.root is not None:

           self._printTree(self.root)

   def _printTree(self, node):

       if node is not None:

           self._printTree(node.l)

           print(str(node.v) + ' ')

           self._printTree(node.r)

#     3

# 0     4

#   2      8

tree = Tree()

tree.add(3)

tree.add(4)

tree.add(0)

tree.add(8)

tree.add(2)

tree.printTree()

print(tree.find(3).v)

print(tree.find(10))

tree.deleteTree()

tree.printTree()

Объяснение:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота