[Música tocando] Doug LLOYD: Selección é unha especie algoritmo que, como podería esperar, Clasifica un conxunto de elementos. E algoritmo recordo é un conxunto paso a paso de instrucións para completar unha tarefa. Na selección clasificar a idea básica é esta: atopar o menor elemento sen clasificar e engadir lo ao final da lista ordenada. Efectivamente o que iso fai é construír unha lista clasificada, un elemento de cada vez. Rompe-lo para abaixo para pseudocódigo podemos afirmar este algoritmo deste xeito, repita iso ata non hai elementos non ordenados permanecen. Busca a través da indiferenciados datos para atopar o menor valor, a continuación, cambiar o menor valor co primeiro elemento da parte indiferenciados. Ela pode axudar a ver isto, así que imos dar un ollo niso. Entón iso, eu afirmo, é unha matriz sen clasificar e eu teño indicou que, indicando que todo dos elementos son de cor vermella, eles non son clasificadas. Este é o enteiro indiferenciados parte da matriz. Entón, imos percorrer os pasos de selección clasificación para clasificar esta matriz. Entón, de novo, nós imos repeat ata que non haxa elementos non ordenados permanecen. Nós imos busca a través da datos para atopar o menor valor, e despois cambiar ese valor co primeiro elemento da parte indiferenciados. Agora, unha vez máis, a toda matriz é a parte indiferenciados. Todos os elementos vermellos son indiferenciados. Por iso, buscar e atopamos o menor valor. Comezamos en principio, nós imos ata o final, atopamos o menor valor, un. Entón esta é unha parte. E, a continuación, a parte dous, intercambiar ese valor con o primeiro elemento da parte non clasificado, ou o primeiro elemento vermello. Neste caso que sería cinco, polo tanto, cambiar un e cinco. Cando facemos iso, podemos visualmente ver que temos moveu o elemento máis pequeno valorado da matriz, para o inicio. En efecto selección ese elemento. E así podemos efectivamente confirmar e afirman que un, está clasificada. E así imos indicar a porción clasificada da nosa matriz, colorido o azul. Agora é só repetir o proceso de novo. Buscamos a través da parte sen clasificar de a matriz para atopar o elemento máis pequeno. Neste caso, é dous. Nós que cambiar coa primeira elemento da parte indiferenciados. Neste caso, dous tamén pasa a ser o primeiro elemento da parte indiferenciados. Entón nós trocamos dous con si mesmo, o que realmente deixa só dous onde está, e está clasificado. Continuando, nós buscar para atopar o elemento máis pequeno. É tres. Nós troca-lo o primeiro elemento, que é de cinco. E agora tres está clasificada. Nós investigación a través de novo, e nós atopar o menor elemento é catro. Nós troca-lo o primeiro elemento da parte sen clasificar, e agora catro está clasificada. Nós cremos que é cinco o elemento máis pequeno. Nós troca-lo o primeiro elemento da parte indiferenciados. E agora cinco está clasificada. E entón, finalmente, o noso parte consiste sen clasificar de só un único elemento, por iso, buscar e nós cremos que seis é o menor, e de feito, único elemento. E entón podemos afirmar que é clasificado. E agora cambiamos nosa matriz de ser completamente non separados en vermello, completamente clasificadas en azul, a través da selección de clasificación. Entón, cal é o peor escenario aquí? Ben no peor absoluta caso, temos que mirar por riba todos os elementos da matriz para atopar o menor elemento non clasificado, e temos que repetir este proceso n veces. Xa que para cada elemento do array porque só neste algoritmo, tipo un elemento de cada vez. Cal é o mellor escenario? Ben, é exactamente o mesmo, non? En realidade, hai que seguir a percorrer cada elemento da matriz a fin de confirmar que é, En realidade, o elemento máis pequeno. Entón, o peor caso de tempo de execución, que ten que repetir un proceso n veces, unha vez para cada un dos n elementos. E no mellor dos casos, temos que facer o mesmo. Entón, pensando de volta ao noso Toolbox complexidade computacional, o que pensas que é o peor caso de tempo de execución para a selección tipo? ¿Que pensas que é o mellor caso de tempo de execución para a selección tipo? Será que adiviña Big O n ao cadrado, e Big Omega n ao cadrado? Estaría ben. Estes son, en realidade, o peor caso e mellor caso de execución veces, para a selección de tipo. Eu son Doug Lloyd. Este é CS50.