Λογότυπο ήδη-έτερον

Η δυαδική αναζήτηση (Binary Search) απαιτεί ο πίνακας να είναι ταξινομημένος σε αύξουσα σειρά. Η μέθοδος αυτή βρίσκει την τιμή που αναζητάμε, διαιρώντας τον πίνακα στα δύο σε κάθε βήμα και αναζητώντας στο κατάλληλο υποδιάστημα. Εδώ είναι ένα πρόγραμμα για τη δυαδική αναζήτηση ενός αριθμού σε έναν ταξινομημένο μονοδιάστατο πίνακα Α[100]:

ΠΡΟΓΡΑΜΜΑ Δυαδική_Αναζήτηση
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: Α[100], Αρχή, Τέλος, Μέση, Στόχος, Θέση, i
  ΛΟΓΙΚΕΣ: Βρέθηκε
ΑΡΧΗ
  ΓΡΑΨΕ 'ΕΙΣΑΓΕΤΕ ΤΑΞΙΝΟΜΗΜΕΝΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΟΝ ΠΙΝΑΚΑ Α ΜΕ 100 ΑΡΙΘΜΟΥΣ.'

  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 100
    ΓΡΑΨΕ 'ΔΩΣΕ ΤΟ ΣΤΟΙΧΕΙΟ ', i
    ΔΙΑΒΑΣΕ Α[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ΓΡΑΨΕ 'ΔΩΣΕ ΤΟΝ ΑΡΙΘΜΟ ΠΟΥ ΑΝΑΖΗΤΑΣ:'
  ΔΙΑΒΑΣΕ Στόχος

  ! Αρχικοποίηση μεταβλητών για δυαδική αναζήτηση
  Αρχή <-- 1
  Τέλος <-- 100
  Βρέθηκε <-- ΨΕΥΔΗΣ
  Θέση <-- -1  ! Η Θέση είναι -1 αν δεν βρεθεί το στοιχείο

  ! Δυαδική Αναζήτηση
  ΟΣΟ Αρχή <= Τέλος ΚΑΙ Βρέθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
    Μέση <-- (Αρχή + Τέλος) DIV 2

    ΑΝ Α[Μέση] = Στόχος ΤΟΤΕ
      Βρέθηκε <-- ΑΛΗΘΗΣ
      Θέση <-- Μέση
    ΑΛΛΙΩΣ_ΑΝ Α[Μέση] < Στόχος ΤΟΤΕ
      Αρχή <-- Μέση + 1
    ΑΛΛΙΩΣ
      Τέλος <-- Μέση - 1
    ΤΕΛΟΣ ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

  ! Έλεγχος και εμφάνιση αποτελέσματος
  ΑΝ Βρέθηκε = ΑΛΗΘΗΣ ΤΟΤΕ
    ΓΡΑΨΕ 'Ο ΑΡΙΘΜΟΣ ΒΡΕΘΗΚΕ ΣΤΗ ΘΕΣΗ: ', Θέση
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Ο ΑΡΙΘΜΟΣ ΔΕΝ ΒΡΕΘΗΚΕ ΣΤΟΝ ΠΙΝΑΚΑ.'
  ΤΕΛΟΣ ΑΝ

ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Δυαδική_Αναζήτηση

Εξήγηση 🔍

Αυτό το πρόγραμμα πραγματοποιεί δυαδική αναζήτηση για να βρει έναν αριθμό σε έναν ταξινομημένο πίνακα Α[100].

  1. Δήλωση Πίνακα και Εισαγωγή Στοιχείων 🔄

    • Το πρόγραμμα ζητά από τον χρήστη να εισάγει 100 ταξινομημένους αριθμούς και τους αποθηκεύει στον πίνακα Α.
  2. Αρχικοποίηση Μεταβλητών για Δυαδική Αναζήτηση 🔢

    • Οι μεταβλητές Αρχή, Τέλος, και Μέση χρησιμοποιούνται για να καθορίσουν τα όρια αναζήτησης μέσα στον πίνακα.
    • Αρχή και Τέλος ορίζονται στις θέσεις 1 και 100, αντίστοιχα.
  3. Δυαδική Αναζήτηση με ΟΣΟ 🔍

    • Η επανάληψη ΟΣΟ Αρχή <= Τέλος ΚΑΙ Βρέθηκε = ΨΕΥΔΗΣ εκτελείται μέχρι να βρεθεί το στοιχείο ή να μην υπάρχουν άλλα στοιχεία προς έλεγχο.
    • Η μεταβλητή Μέση υπολογίζεται κάθε φορά ως η μέση τιμή των Αρχή και Τέλος.
    • Στη συνέχεια:
      • Αν το στοιχείο Α[Μέση] είναι ίσο με τον Στόχο, τότε το στοιχείο έχει βρεθεί, και το Βρέθηκε γίνεται ΑΛΗΘΗΣ.
      • Αν Α[Μέση] < Στόχος, σημαίνει ότι ο Στόχος βρίσκεται στο δεξί μισό του πίνακα, οπότε ορίζουμε Αρχή <-- Μέση + 1.
      • Αν Α[Μέση] > Στόχος, σημαίνει ότι ο Στόχος βρίσκεται στο αριστερό μισό του πίνακα, οπότε ορίζουμε Τέλος <-- Μέση - 1.
  4. Έλεγχος και Εμφάνιση Αποτελέσματος 📋

    • Αν Βρέθηκε = ΑΛΗΘΗΣ, εμφανίζεται η θέση όπου βρέθηκε ο Στόχος.
    • Αν Βρέθηκε = ΨΕΥΔΗΣ, το πρόγραμμα εμφανίζει μήνυμα ότι ο αριθμός δεν βρέθηκε στον πίνακα.

Παράδειγμα Εκτέλεσης 📋

  • Αν τα στοιχεία που δίνει ο χρήστης είναι ταξινομημένα: 2, 4, 7, 10, 15, ... και ο Στόχος είναι 10, τότε το πρόγραμμα θα εμφανίσει:
    • Ο ΑΡΙΘΜΟΣ ΒΡΕΘΗΚΕ ΣΤΗ ΘΕΣΗ: 4.

Ο Ευκλείδης λειτουργεί μέσω τεχνητής νοημσύνης