Простая ошибка, допускаемая некоторыми людьми при анализе времени работы

Revision ru3, by Peter-007, 2023-04-19 14:55:24

Держите простую задачу:

Вам дано $$$n=200$$$ элементов, вам нужно перебрать все их возможные четверки, порядок элементов в каждой четверке не влияет, и можно взять один и тот же элемент несколько раз. Дайте быструю приближенную оценку количества итераций алгоритма.

Ответ

Это не $$$1,6*10^9$$$

Так что если вам нужно перебрать все подмножества длины $$$k$$$, важно не забыть разделить время работы на $$$k!$$$. К примеру, если $$$k=6$$$, можно успеть за одну секунду при $$$n<=85$$$, хотя $$$85^6≈3*10^{11}$$$, но будет перебрано $$$≈5*10^8$$$ подмножеств, и не зная этого можно об этом даже не подумать.

Я надеюсь вам помог этот блог, потому что я делал эту ошибку на протяжении длительного времени.

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru3 Russian Peter-007 2023-04-19 14:55:24 11
ru2 Russian Peter-007 2023-04-19 09:57:02 20
en12 English Peter-007 2023-04-19 09:56:03 20 Tiny change: 'to [user:xcsjerry,202' -> 'to [user:xksjerry,202'
ru1 Russian Peter-007 2023-04-18 20:45:23 1084 Первая редакция перевода на Русский
en11 English Peter-007 2023-04-18 20:32:04 38 Tiny change: 'to divide time complexity by $k!$. ' -> 'to divide running time by $k!$. '
en10 English Peter-007 2023-04-18 18:43:17 121
en9 English Peter-007 2023-04-18 18:41:31 17 Tiny change: '{n^k}{k!}$ since you can h' -> '{n^k}{k!}$, logic behind that you can h'
en8 English Peter-007 2023-04-18 18:40:34 0 (published)
en7 English Peter-007 2023-04-18 18:39:46 207 Tiny change: '023761).\nBut for ' -> '023761).\n\nBut for ' (saved to drafts)
en6 English Peter-007 2023-04-18 00:38:07 0 (published)
en5 English Peter-007 2023-04-18 00:35:04 5
en4 English Peter-007 2023-04-18 00:33:54 13 Tiny change: '≈6*10^7$\n[cut]\n</spoiler>\n\nIt is no' -> '≈6*10^7$\n</spoiler>\n[cut]\nIt is no'
en3 English Peter-007 2023-04-18 00:33:30 12
en2 English Peter-007 2023-04-18 00:32:24 716 Tiny change: 'em for you\nYou are ' -> 'em for you.\n\nYou are '
en1 English Peter-007 2023-04-17 23:19:44 304 Initial revision (saved to drafts)