Selection sort

Het element dat vooraan komt zou de eerste naam in alfabetische volgorde kunnen zijn of het kleinste getal in een lijst.

Een van de populairste sorteeralgoritmes heet Selection Sort. Dit is hoe het werkt:

  1. Probeer eerst Selection Sort te begrijpen voordat je code gaat schrijven. Sta op en vorm een lijn met de hele klas. Volg daarna het proces van Selection Sort om iedereen op naam te sorteren.
  2. Hoe is Selection Sort een voorbeeld van recursie? Wat is het basisgeval?

Om een Selection Sortblok te schrijven in Snap!, heb je code nodig voor het basisgeval

  1. Bouw het voorste inblok. Voor namen geeft dit alfabetisch de eerste naam in een lijst:
    Geen Afbeelding Geen Afbeelding
  2. Schrijf code die de index van het voorste item vindt. Deze waarde is 8 voor de lijst met namen hierboven. (Deze stap is misschien overbodig, afhankelijk van je algoritme. Kijk of je de volgende stap zonder de index kan doen.)
  3. Je kan een deel van het werk in Hoofdstuk 5 Les 1 Pagina 2: Analyseren en zoekopdrachten verbeteren handing vinden.
  4. Schrijf code die een nieuwe lijst aanmaakt zonder het voorste element. Er is daar maar één manier voor!
  5. Bouw de recursieve rapporteur Selection Sort.
    Geen Afbeelding
  6. Hoe vaak roept Selection Sort zichzelf aan?
"H8L2-SelSort" Geen Afbeelding
Net als recursieve commando's, lijken recursieve rapporteurs magisch, omdat een deel van de code zichzelf aanroept. Recursieve rapporteurs werken omdat iedere aanroep een kleinere invoer gebruikt dan de vorige, totdat het basisgeval bereikt wordt. Nadat het basisgeval bereikt is, wordt het resultaat beetje bij beetje gebouwd omdat iedere aangeroepen rapporteur het result rapporteert aan de rapporteur die hem aangeroepen heeft.
  1. Dit bestand met namen en hun populariteit in 2014 bevat een grote lijst van babynamen uit 2014. Importeer de data en bouw daarna een algoritme dat een alfabetische lijst met alle namen geeft, die alleen namen geeft die starten met een gegeven letter:
    Geen Afbeelding
Terug Volgende