Αναζήτηση σε Πίνακες: Παραδείγματα Ασκήσεων

Αναζήτηση σε Μονοδιάστατους Πίνακες

1) Σειριακή αναζήτηση της πρώτης εμφάνισης του στοιχείου key, και έξοδος από την αναζήτηση

toBrika <-- Ψευδής
i <-- 1
Όσο (i <= Ν) και (toBrika = Ψευδής) επανάλαβε
Αν (Α[i] = key) τότε
toBrika <-- Αληθής
θ <-- i
Αλλιώς
i <- i + 1
Τέλος_Αν
Τέλος_Επανάληψης
Αν (toBrika = Αληθής) τότε
Γράψε ‘Το στοιχείο’, key, ‘βρέθηκε στη θέση’, θ
Αλλιώς
Γράψε ‘Το στοιχείο’, key, ‘δεν υπάρχει στον πίνακα’
Τέλος_Αν

2) Σειριακή αναζήτηση και εύρεση όλων των εμφανίσεων του στοιχείου key, της θέσης στην οποία βρίσκονται και του συνολικού πλήθους εμφανίσεων.

π <-- 0
Για i από 1 μέχρι Ν
Αν (Α[i] = key) τότε
Γράψε ‘Το στοιχείο’, key, ‘βρέθηκε στη θέση’, i
π <-- π + 1
Τέλος_Αν
Τέλος_Επανάληψης
Αν (π = 0) τότε
Γράψε ‘Το στοιχείο’, key, ‘δεν υπάρχει στον πίνακα’
Αλλιώς
Γράψε ‘Ο συνολικός αριθμός εμφανίσεων του στοιχείου’, key, ‘είναι’, π
Τέλος_Αν

3) Εύρεση όλων των εμφανίσεων του μεγαλύτερου στοιχείου πίνακα, και πλήθους αυτών.

max <-- Α[1]
Για i από 2 μέχρι Ν
Αν (Α[i] > max) τότε
max <-- Α[i]
Τέλος_Αν
Τέλος_Επανάληψης
Γράψε ‘Το μέγιστο στοιχείο είναι το‘, max, ‘και βρίσκεται στις θέσεις:’
π <-- 0
Για i από 1 μέχρι Ν
Αν (Α[i] = max) τότε
Γράψε i
π <-- π + 1
Τέλος_Αν
Τέλος_Επανάληψης
Γράψε ‘Ο συνολικός αριθμός εμφανίσεων του στοιχείου’, max, ‘είναι’, π
(Παρομοίως για εύρεση ελαχίστου)

4) Δυαδική αναζήτηση

αρχή <— 1

τέλος <— Ν

toBrika <— Ψευδής

Όσο (αρχή <= τέλος) και (toBrika = Ψευδής) επανέλαβε

μεσαίο <— (αρχή + τέλος) div 2

Αν (Α[μεσαίο] = key) τότε

toBrika <— Αληθής

θ <— μεσαίο

Αλλιώς_Αν (Α[μεσαίο] < key) τότε

αρχή <— μεσαίο + 1   Αλλιώς

τέλος <— μεσαίο – 1

Τέλος_Αν

Τέλος_Επανάληψης

Αν (toBrika = Αληθής) τότε

Γράψε ‘Το στοιχείο βρέθηκε στη θέση’, θ

Αλλιώς

Γράψε ‘Το στοιχείο δεν βρέθηκε’ Τέλος_Αν


Αναζήτηση σε Δισδιάστατους Πίνακες

 

1) Σειριακή αναζήτηση της πρώτης εμφάνισης του στοιχείου key, και έξοδος από την αναζήτηση

toBrika <-- Ψευδής
i <-- 1
Όσο (i <= Μ) και (toBrika = Ψευδής) επανάλαβε
j <— 1
Όσο (j <= N) και (toBrika = Ψευδής) επανάλαβε
Αν (Α[i,j] = key) τότε
toBrika <-- Αληθής
θγ <-- i
θσ <-- j
Τέλος_Αν
j <-- j + 1
Τέλος_Επανάληψης
i <-- i + 1
Τέλος_Επανάληψης
Αν (toBrika = Αληθής) τότε
Γράψε ‘Το στοιχείο’, key, ‘βρέθηκε στη γραμμή’, θγ, ‘και στη στήλη’, θσ
Αλλιώς
Γράψε ‘Το στοιχείο’, key, ‘δεν υπάρχει στον πίνακα’
Τέλος_Αν

2)Σειριακή αναζήτηση και εύρεση όλων των εμφανίσεων του στοιχείου key, της θέσης στην οποία βρίσκονται και του συνολικού πλήθους εμφανίσεων.

π <-- 0
Για i από 1 μέχρι Μ
Για j από 1 μέχρι N
Αν (Α[i,j] = key) τότε
Γράψε ‘Το στοιχείο’, key, ‘βρέθηκε στη γραμμή’, i, ‘και στήλη’, j
π <-- π + 1
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Αν (π = 0) τότε
Γράψε ‘Το στοιχείο’, key, ‘δεν υπάρχει στον πίνακα’
Αλλιώς
Γράψε ‘Ο συνολικός αριθμός εμφανίσεων του στοιχείου’, key, ‘είναι’, π
Τέλος_Αν

3) Εύρεση όλων των εμφανίσεων του μεγαλύτερου στοιχείου πίνακα, και πλήθους αυτών.

max <-- Α[1,1]
Για i από 1 μέχρι M
Για j από 1 μέχρι N
Αν (Α[i,j] > max) τότε
max <-- Α[i,j]
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Γράψε ‘Το μέγιστο στοιχείο είναι το‘, max, ‘και βρίσκεται στις θέσεις:’
π <-- 0
Για i από 1 μέχρι Μ
Για j από 1 μέχρι N
Αν (Α[i] = max) τότε
Γράψε i, j
π <-- π + 1
Τέλος_Αν
Τέλος_Επανάληψης
Τέλος_Επανάληψης
Γράψε ‘Ο συνολικός αριθμός εμφανίσεων του στοιχείου’, max, ‘είναι’, π
(Παρομοίως για εύρεση ελαχίστου)

Leave a Reply