Ταξινόμηση - Sorting.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΕΡΩΤΗΜΑΤΑ ΕΠΙΛΟΓΗΣ ΜΑΘΗΜΑ 6. SELECTSELECT SELECT * FROM όνομα_πίνακα ; • Με τη εντολή SELECT ανασύρουμε δεδομένα από την βάση δεδομένων. • Το αστεράκι.
Advertisements

3.4 Στοίβα (stack) (μόνο θεωρία)
Παράδειγμα 1:Ταξινόμηση Φυσαλίδας
Πίνακες.
Εισαγωγή στους Αλγόριθμους Ταξινόμησης
Πίνακες-Αλφαριθμητικά
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΜΑΘ3122/106 Γλώσσα Προγραμματισμού
Επεξεργασία Κειμένου Ονομ/νυμο Επιμορφωτή Επιμορφωτής: Ονομ/νυμο Επιμορφωτή ΥΠΕΠΘ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΠΡΟΓΡΑΜΜΑ «ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ» ΕΠΙΜΟΡΦΩΣΗ.
Αλεξιάδης Γεώργιος ΕΠΠΑΙΚ Σαπών
Προγραμματισμός Ι Παράδειγμα: Παράδειγμα:Να γραφεί πρόγραμμα που να δέχεται ως είσοδο κείμενο, να απαριθμεί τις εμφανίσεις των ψηφίων 0-9, τα λευκά διαστήματα.
Εισαγωγή στην επιστήμη των υπολογιστών
Επιμέλεια Π. Τσάκωνας. 1. Ποια από τα ακόλουθα αποσπάσματα αλγόριθμων πραγματοποιούν σωστά την ταξινόμηση του πίνακα Α; ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν ΓΙΑ j ΑΠΟ.
ΜΑΘ-3122/106 Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
Αλγόριθμοι Ταξινόμησης
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Microsoft Excel 4.2 Κελιά Κίκα Χρυσοστόμου.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
Αλγόριθμοι Αναζήτησης
Ερωτήματα (Queries) Δημιουργία ενός ερωτήματος με το Simple Query Wizard 1.Κλικ στο Queries 2.Κλικ στο New 3.Επιλέγουμε το Simple Query Wizard 4.Κλικ στο.
Διαίρει-και-Βασίλευε
Ολυμπιάδα Πληροφορικής
Αλγοριθμική Μία εισαγωγή στον αλγοριθμικό τρόπο σκέψης.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (μΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Αλγόριθμοι Ταξινόμησης
AlphaSort: A Cache-Sensitive Parallel External Sort Chris Nyberg, Tom Barclay, Zarka Cvetanovic, Jim Gray and David Lomet.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ - ΣΥΝΑΡΤΗΣΕΙΣ) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας.
Μπορείς να πεις ποιος είναι ο διάσημος πίνακας ζωγραφικής ?
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ §3.7 ΤΑΞΙΝΟΜΗΣΗ
1 ΤΜΗΜΑ ΜΠΕΣ Αλγόριθμοι Αναζήτησης Εργασία 1 Τυφλή Αναζήτηση.
Συνάρτηση LARGE Σύνταξη LARGE(Πίνακας; k). ΠίνακαςΕίναι ο πίνακας ή η περιοχή δεδομένων, των οποίων θέλουμε να καθορίσουμε την k-οστή μεγαλύτερη τιμή.
Εντολές Επιλογής και Αποφάσεων
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (ΠΙΝΑΚΕΣ δΥΟ ΔΙΑΣΤΑΣΕΩΝ) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας.
Χημεία 1 μάθημα τη βδομάδα
Ασκήσεις σε πίνακες ΗΥ-150b ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Μπουλουκάκης Γεώργιος Βοηθός ΗΥ-150b ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ.
8-1 ΜΑΘΗΜΑ 8 ο Εισαγωγή στους Αλγόριθμους Ταξινόμησης.
Δομές Δεδομένων και Αρχεία
Προγραμματισμός Η/Υ Δουλεύοντας με πίνακες – Βασικές εντολές και ειδικός χειρισμός Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λάρισας Σχολή Τεχνολογικών Εφαρμογών.
Α.Ε.Π.Π. ΟΠΤΙΚΟΠΟΙΗΜΕΝΗ ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΤΑΞΙΝΟΜΗΣΗΣ ΠΙΝΑΚΑ ΜΕ ΤΗ ΜΕΘΟΔΟ ΤΗΣ ΦΥΣΣΑΛΙΔΑΣ (Bubble Sort) ΙΟΡΔΑΝΗΣ ΣΑΒΒΟΥΛΙΔΗΣ
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Πίνακες και αλφαριθμητικά
Εργαςτηριο Διαχειριςης Εργων MS Project
9η Διάλεξη Ταξινόμηση Ε. Μαρκάκης
SCRATCH Ενότητα: Ταξινόμηση Καλλιρρόη Δογάνη Ιωάννης Στάης.
Ταξινόμηση Ορισμός: Δοθέντων των στοιχείων a1,a2,… ,an η ταξινόμηση συνίσταται στην αντιμετάθεση της θέσης των στοιχείων ώστε να τοποθετηθούν με μια νέα.
Χρωματισμός κορυφών -Χρωματισμός χαρτών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΓΕΜΙΣΜΑ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ (Άσκηση 1)
Ειδικά Θέματα στον Προγραμματισμό Υπολογιστών
Ανάπτυξη εφαρμογής με οπτικοποιημένο περιβάλλον για τους αλγόριθμους ταξινόμησης και αναζήτησης ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ Γεωργιαδης νικολαοσ.
Σύγκριση και διάταξη κλασμάτων
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Σειριακή ή Γραμμική Αναζήτηση 1.Μοναδικό Κλειδί (key)
Η τακτοποίηση των κόμβων μίας δομής με μία ιδιαίτερη σειρά είναι μία πολύ σημαντική λειτουργία που ονομάζεται ταξινόμηση (sorting) ή διάταξη (ordering).
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Πτυχιακή εργασία του Παύλου Παντικάκη (2468)
Οικιακή Οικονομία Α’ Γυμνασίου Μάθημα 6ο. Διδάσκων καθηγητής
Ερωτήματα Επιλογής σε ACCESS
Γ6.9 Δημιουργία και Τροποποίηση Ερωτημάτων
Γ6.11 Ταξινόμηση Δεδομένων
Ενότητα Γ6.11 (Ταξινόμηση Δεδομένων )
Δομές Δεδομένων (Data Structures)
Μεταγράφημα παρουσίασης:

Ταξινόμηση - Sorting

Ταξινόμηση Φυσαλίδας – Bubble Sort Με την μέθόδο της ταξινόμησης φυσαλίδας μπορούμε να ταξινομήσουμε τα στοιχεία ενός μονοδιάστατου πίνακα σε αύξουσα ή σε φθίνουσα σειρά. Η μέθοδος βασίζεται σε αλλεπάλληλους ελέγχους και μετακινήσεις ώστε να μπουν τα στοιχεία στην σειρά.

Παράδειγμα (αύξουσα σειρά) 5 4 10 3 1 4 5 10 3 1 3 5 10 4 1 1 5 10 4 3 1 4 10 5 3 1 3 10 5 4 1 3 10 5 4 1 3 5 10 4 1 3 4 10 5 1 3 4 5 10

Πρόγραμμα σε C for(i=0;i<N-1;i++) for(k=i+1;k<N;k++) If (A[i]>A[k]){ temp=A[i]; A[i]=A[k]; A[k]=temp; }

Φθίνουσα Σειρά Στην φθίνουσα σειρά ο αλγόριθμος παραμένει ο ίδιος. Το μόνο που αλλάζει είναι ο έλεγχος. Από Α[i] >A[k] γίνεται: Α[i]<A[k]

Παράδειγμα 1 Να δημιουργήσετε το πρόγραμμα που διαβάζει 10 ακέραιους αριθμούς από το αρχείο par1.in και τους τυπώνει σε αύξουσα σειρά στο αρχείο par1.out

Παράδειγμα 1 #include<stdio.h> #define N 10 using namespace std; int main(){ int a[N], i , j, temp; FILE *fin,*fout; fin = fopen( "par1.in", "r" ); fout = fopen( "par1.out", "w" ); for(i=0;i<N;i++) fscanf(fin,"%d",&a[i]); for( i=0; i<N-1; i++ ) for( j=i+1; j<N; j++ ) if( a[i] > a[j] ) { temp = a[i]; a[i] = a[j]; a[j] = temp; } for( i=0; i<N; i++ ) fprintf( fout, "%d\n", a[i] ); fclose(fin); fclose(fout); return 0;

Παράδειγμα 2 Μέσα στο αρχείο par2.in υπάρχει ένας ακέραιος αριθμός Ν (0<Ν<=100) ακολουθούμενος από 2 στήλες. Στην πρώτη στήλη είναι ένας ακέραιος αριθμός που αντιστοιχεί στην ηλικία και στη δεύτερη το όνομα (μέχρι 30 χαρακτήρες). Να τυπώσετε στο αρχείο par2.out τα ονόματα ξεκινώντας από τον γηραιότερο.

Παράδειγμα 2 for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if(age[i]<age[j]){ t1=age[i]; age[i]=age[j]; age[j]=t1; strcpy(t2,name[i]); strcpy(name[i],name[j]); strcpy(name[j],t2); } for(i=0;i<N;i++) fprintf(fout,"%s\n",name[i]); fclose(fin); fclose(fout); return 0; #include<stdio.h> #include<string.h> using namespace std; int main(){ int age[100],i,j,t1,N; char name[100][30],t2[30]; FILE *fin,*fout; fin=fopen("par2.in","r"); fout=fopen("par2.out","w"); fscanf(fin,"%d",&N); for(i=0;i<N;i++){ fscanf(fin,"%d",&age[i]); fscanf(fin,"%s",name[i]); }

Παράδειγμα 3 Να δημιουργήσετε το πρόγραμμα που διαβάζει από το αρχείο par3.in έναν αριθμό Ν(0<Ν<=100) ακολουθούμενο από Ν ονόματα και τα τυπώνει με αλφαβητική σειρά στο αρχείο par3.out

Παράδειγμα 3 #include<stdio.h> #include<string.h> using namespace std; int main(){ int i,j,N; char name[100][30],t1[30]; FILE *fin,*fout; fin=fopen("par3.in","r"); fout=fopen("par3.out","w"); fscanf(fin,"%d",&N); for(i=0;i<N;i++) fscanf(fin,"%s",name[i]); for(i=0;i<N-1;i++) for(j=i+1;j<N;j++) if(strcmp(name[i],name[j])>0){ strcpy(t1,name[i]); strcpy(name[i],name[j]); strcpy(name[j],t1); } for(i=0;i<N;i++) fprintf(fout,"%s\n",name[i]); fclose(fin); fclose(fout); return 0;