Dans une vidéo de récitation pour MIT OCW 6.006 à 43:30,
Étant donné une matrice avec colonnes et lignes, l'algorithme de recherche de pics 2D, où un pic est une valeur supérieure ou égale à ses voisins adjacents, a été décrit comme suit:m n
Remarque: S'il y a confusion dans la description des colonnes via , je m'excuse, mais c'est ainsi que la vidéo de récitation le décrit et j'ai essayé d'être cohérent avec la vidéo. Cela m'a beaucoup troublé.
Choisissez la colonne du milieu // A de la complexitéΘ ( 1 )
Trouver la valeur maximale de la colonne // A une complexité car il y a lignes dans une colonneΘ ( m ) m
Vérifiez horiz. voisins de ligne de valeur maximale, si elle est supérieure, alors un pic a été trouvé, sinon récurrence avec // A la complexitéT ( n / 2 , m )
Ensuite, pour évaluer la récursivité, l'instructeur de récitation dit
car il trouve la valeur maximale
Je comprends la partie suivante, à 52:09 dans la vidéo, où il dit de traiter comme une constante, car le nombre de lignes ne change jamais. Mais je ne comprends pas comment cela conduit au produit suivant:
Je pense que, puisque est traité comme une constante, il est donc traité comme et éliminé dans ci-dessus. Mais j'ai du mal à passer à . Est-ce parce que nous considérons maintenant le cas de avec une constante ?Θ ( 1 ) ( E 1 ) ( E 2 ) T ( n / 2 ) m
Je pense que "voir" l'idée générale est qu'une opération est effectuée, au pire, pour m nombre de lignes. Ce que j'essaie de comprendre, c'est comment décrire le saut de à vers quelqu'un d'autre, c'est-à-dire acquérir une réelle compréhension.( E 1 ) ( E 2 )