# Learn Linear Search in 3 minutes ⬇️

https://www.youtube.com/watch?v=246V51AWwZM
Translation: pt-BR

[00:04] All right everybody linear searches we need to talk about linear searches because this wouldn't be a complete course without them.
  Tudo bem, pessoal, buscas lineares. Precisamos falar sobre buscas lineares porque este não seria um curso completo sem elas.

[00:12] With a linear search, we iterate through a collection one element at a time.
  Com uma busca linear, iteramos por uma coleção, um elemento de cada vez.

[00:18] The runtime complexity of a linear search is big O of N.
  A complexidade de tempo de execução de uma busca linear é Big O de N.

[00:22] The larger the data set, the number of steps to complete that search will increase proportionately.
  Quanto maior o conjunto de dados, o número de passos para completar essa busca aumentará proporcionalmente.

[00:27] The disadvantages of a linear search is that they are slow for large data sets.
  As desvantagens de uma busca linear é que elas são lentas para grandes conjuntos de dados.

[00:32] But with the advantages, they are fast for searches of small to medium sized data sets and they don't need to be sorted.
  Mas com as vantagens, elas são rápidas para buscas em conjuntos de dados de pequeno a médio porte e não precisam ser ordenadas.

[00:37] That's a huge benefit over binary searches and interpolation searches.
  Esse é um grande benefício em relação às buscas binárias e de interpolação.

[00:44] And they are useful for data structures that do not have random access such as linked lists.
  E elas são úteis para estruturas de dados que não possuem acesso aleatório, como listas ligadas.

[00:47] So let's begin.
  Então, vamos começar.

[00:49] Let's create a basic array of integers.
  Vamos criar um array básico de inteiros.

[00:52] Int array and to make up some numbers, they don't necessarily need to be in order.
  Array de inteiros e para inventar alguns números, eles não precisam necessariamente estar em ordem.

[01:00] All right then let's find an index.
  Tudo bem, então vamos encontrar um índice.

[01:00] Int index equals and we will invoke a linear
  Int index igual e vamos invocar uma linear

[01:05] index equals and we will invoke a linear search function which we still need to declare.
  o índice é igual e invocaremos uma função de busca linear que ainda precisamos declarar.

[01:07] We will pass in our array and some value we would like to search for.
  Passaremos nosso array e algum valor que gostaríamos de procurar.

[01:11] Uh, let's search for the number one, okay?
  Uh, vamos procurar o número um, ok?

[01:14] So then, let's declare this function.
  Então, vamos declarar esta função.

[01:16] Create method linear search private.
  Criar método busca linear privada.

[01:19] Static and linear search, so we have two parameters, an integer array and an integer.
  Estática e busca linear, então temos dois parâmetros, um array de inteiros e um inteiro.

[01:24] I'm going to rename i as value, so it's more descriptive.
  Vou renomear i para valor, para ser mais descritivo.

[01:29] Okay, with a linear search, all we need to do is loop through our array one element at a time.
  Ok, com uma busca linear, tudo o que precisamos fazer é percorrer nosso array um elemento de cada vez.

[01:34] So we can do that with the for loop.
  Então podemos fazer isso com o loop for.

[01:39] So let's set into i our index equal to zero.
  Então vamos definir em i nosso índice igual a zero.

[01:43] We will continue this as long as i is less than our arrays length, then increment i by one.
  Continuaremos isso enquanto i for menor que o comprimento do nosso array, então incrementaremos i em um.

[01:51] What we're checking with an if statement is to see if our array at index of i is equal to the value that we're searching for.
  O que estamos verificando com uma instrução if é para ver se nosso array no índice i é igual ao valor que estamos procurando.

[02:00] This parameter, if it is, then let's return whatever our index is, i.
  Este parâmetro, se for, então vamos retornar o que quer que seja nosso índice, i.

[02:07] index is i if we do not find it after iterating
  o índice é i se não o encontrarmos após iterar

[02:09] if we do not find it after iterating through our entire array let's return
  se não o encontrarmos após iterar por todo o nosso array, vamos retornar

[02:11] through our entire array let's return negative 1 as a sentinel value and
  por todo o nosso array, vamos retornar -1 como um valor sentinela e

[02:14] negative 1 as a sentinel value and that's all there is to it to our linear
  -1 como um valor sentinela e é só isso para nossa linear

[02:16] that's all there is to it to our linear search function so back within our main
  é só isso para nossa função de busca linear, então de volta à nossa principal

[02:18] search function so back within our main function let's check to see if the value
  função de busca, então de volta à nossa função principal, vamos verificar se o valor

[02:21] function let's check to see if the value returned does not equal negative one
  função, vamos verificar se o valor retornado não é igual a -1

[02:24] returned does not equal negative one that means that we found our value so
  retornado não é igual a -1, isso significa que encontramos nosso valor, então

[02:26] that means that we found our value so with an if else statement
  isso significa que encontramos nosso valor, então com uma instrução if else

[02:29] with an if else statement let's check to see if index does not
  com uma instrução if else, vamos verificar se o índice não

[02:32] let's check to see if index does not equal negative one that means that we
  vamos verificar se o índice não é igual a -1, isso significa que nós

[02:35] equal negative one that means that we have found our element so let's print
  igual a -1, isso significa que encontramos nosso elemento, então vamos imprimir

[02:38] have found our element so let's print element found at
  encontramos nosso elemento, então vamos imprimir elemento encontrado em

[02:40] element found at index
  elemento encontrado no índice

[02:41] index plus index
  índice mais índice

[02:44] plus index else let's print element not found
  mais índice, caso contrário, vamos imprimir elemento não encontrado

[02:47] else let's print element not found system.out.printline
  caso contrário, vamos imprimir elemento não encontrado system.out.printline

[02:49] system.out.printline element not found
  system.out.printline elemento não encontrado

[02:51] element not found so if we're searching for the number one
  elemento não encontrado, então se estivermos procurando pelo número um

[02:54] so if we're searching for the number one we would find that at index one
  então se estivermos procurando pelo número um, nós o encontraríamos no índice um

[02:57] we would find that at index one zero one if we search for five
  nós o encontraríamos no índice um, zero, um, se procurarmos por cinco

[03:01] zero one if we search for five that is found at index eight zero one
  zero, um, se procurarmos por cinco, ele é encontrado no índice oito, zero, um

[03:04] that is found at index eight zero one two three four five six seven eight if
  ele é encontrado no índice oito, zero, um, dois, três, quatro, cinco, seis, sete, oito, se

[03:07] two three four five six seven eight if there's some number that's not in here
  dois três quatro cinco seis sete oito se houver algum número que não esteja aqui

[03:08] there's some number that's not in here like 10
  há algum número que não está aqui como 10

[03:09] like 10 then this will print element not found
  como 10 então isso imprimirá elemento não encontrado

[03:12] then this will print element not found so yeah that's the idea behind a linear
  então isso imprimirá elemento não encontrado então sim essa é a ideia por trás de um linear

[03:14] so yeah that's the idea behind a linear search we iterate through some
  então sim essa é a ideia por trás de uma busca linear nós iteramos por alguma

[03:16] search we iterate through some collection one element at a time it's
  busca nós iteramos por alguma coleção um elemento de cada vez é

[03:19] collection one element at a time it's slow for large data sets but it's fast
  coleção um elemento de cada vez é lento para grandes conjuntos de dados mas é rápido

[03:21] slow for large data sets but it's fast for small to medium data sets this would
  lento para grandes conjuntos de dados mas é rápido para conjuntos de dados pequenos a médios isso seria

[03:23] for small to medium data sets this would be a small data set and they do not need
  para conjuntos de dados pequenos a médios este seria um pequeno conjunto de dados e eles não precisam

[03:26] to be sorted that's a huge advantage so
  ser ordenados essa é uma grande vantagem então

[03:29] to be sorted that's a huge advantage so yeah everybody that is a linear search
  ser ordenados essa é uma grande vantagem então sim todo mundo que é uma busca linear

[03:31] yeah everybody that is a linear search if you would like a copy of this code
  sim todo mundo que é uma busca linear se você gostaria de uma cópia deste código

[03:33] if you would like a copy of this code i'll post this to the comment section
  se você gostaria de uma cópia deste código eu postarei isso na seção de comentários

[03:34] i'll post this to the comment section down below and well yeah that is a basic
  eu postarei isso na seção de comentários abaixo e bem sim esse é um básico

[03:37] down below and well yeah that is a basic linear search in computer science i
  abaixo e bem sim esse é um básico busca linear em ciência da computação eu

[03:40] linear search in computer science i guess
  busca linear em ciência da computação eu acho
