Αλγόριθμοι σε Ψευδοκώδικα ή Διάγραμμα Ροής.

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Αλγόριθμοι σε Ψευδοκώδικα ή Διάγραμμα Ροής.

Δημοσίευσηαπό the_eye » 28 Μάιος 2014, 20:45

Μπορείς να ξεκινήσεις με python.
Εδώ θα βρεις μια λίστα με μαθήματα και οδηγίες viewforum.php?f=55
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Αλγόριθμοι σε Ψευδοκώδικα ή Διάγραμμα Ροής.

Δημοσίευσηαπό Star_Light » 13 Δεκ 2014, 12:51

Έλεγχος παλινδρομης λέξης.

Spoiler: show
- ΔΙΑΒΑΖΟΥΜΕ ΤΗΝ ΛΕΞΗ (Η ΠΡΩΤΗ ΦΟΡΑ ΠΟΥ ΔΙΑΤΡΕΧΟΥΜΕ ΤΗΝ ΛΕΞΗ ΜΕΧΡΙ ΝΑ ΦΤΑΣΟΥΜΕ
ΣΤΟ ΤΕΛΟΣ ΤΗΣ).
- ΔΙΑΤΡΕΧΟΥΜΕ ΤΗΝ ΛΕΞΗ ΤΟ ΠΟΛΥ ΜΕΧΡΙ ΤΗΝ ΜΕΣΗ ΤΗΣ.
- ΑΝ ΟΛΑ ΤΑ ΓΡΑΜΜΑΤΑ ΤΟΥ ΠΡΩΤΟΥ ΜΙΣΟΥ ΕΙΝΑΙ ΙΣΑ ΜΕ ΑΥΤΑ ΤΟΥ ΔΕΥΤΕΡΟΥ Η ΛΕΞΗ ΕΙΝΑΙ
ΠΑΛΙΝΔΡΟΜΗ.

Yλοποίηση σε C
http://ideone.com/IxAgdm
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Αλγόριθμοι σε Ψευδοκώδικα ή Διάγραμμα Ροής.

Δημοσίευσηαπό Ilias95 » 13 Δεκ 2014, 22:42

Star_Light έγραψε:Yλοποίηση σε C
http://ideone.com/IxAgdm

Υλοποίηση σε python:
Κώδικας: Επιλογή όλων
def ispalindrome(s):
    return s == s[::-1]

ispalindrome(input())

:-P
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Αλγόριθμοι σε Ψευδοκώδικα ή Διάγραμμα Ροής.

Δημοσίευσηαπό M.Jackson » 09 Ιαν 2016, 23:22

Γράψτε ένα αλγόριθμο ο οποίος διαγράφει την μεσαία τιμή ενός Single Linked List, δεδομένου ότι το μέγεθος του Linked List σας είναι άγνωστο, και δικαιούστε να επισκεφθείτε το Linked List μόνο μια φορά. (με ένα βρόχο)


Στην αρχή ίσως να φαίνεται δύσκολο, αλλά είναι αρκετά εύκολο αν έχεις εμπειρία με τέτοια προβλήματα. Το μυστικό για την λύση αυτού του προβλήματος είναι το Runner Technique.

Η λογική είναι ότι κάνουμε iterate σε ένα Linked List με δυο δείκτες την ίδια ώρα, με τον ένα να είναι μπροστά από τον άλλο και ο "γλήγορος" δείκτης, είναι μπροστά με μια σταθερή τιμή. Η τεχνική αυτή είναι αρκετά χρήσιμη όταν δεν ξέρουμε το μέγεθος του Linked List, και θέλουμε να φτάσουμε το μεσαίο στοιχείο. Όταν ο "γλήγορος" δείκτης φτάσει το τέλος, (και είναι x2) τότε ο "αργός" δείκτης θα είναι στην μέση.

Άρα μόλις φτάσουμε στο μεσαίο στοιχείο, με τον αργό δείκτη έχουμε ακόμη μία δυσκολία. Δεν μπορούμε να ταξιδέψουμε πίσω αφού είναι single-linked list και άρα δεν μπορούμε να αλλάξουμε τον δείκτη του προηγούμενου στον επόμενο για να διαγράψουμε την μεσαία τιμή. Άρα τι κάνουμε;

Σκεφτείτε το λίγο μόνοι σας και μετά δείτε την απάντηση μου.

Spoiler: show
Μια έξυπνη λύση, και όπως το σκεφτούμε εγώ (αλήθεια δεν μπορώ να σκεφτώ κάτι άλλο, όποιος έχει δεύτερη λύση να την ποστάρει) είναι να ανταλλάξω την τιμή του επόμενου node (μπροστά από το middle node) με το middle node και να διαγράψω το επόμενο node που τώρα θα έχει την τιμή του μεσαίου node.

Και ένα diagram που υλοποιεί την λύση του προβλήματος.
Εικόνα
Με thumbnail δεν φαίνονται τα γράμματα.


Δεν έχω γράψει τον αλγόριθμό ακόμη, είναι σε ψευδο-κώδικα, ίσως επιστρέψω πίσω με μια απάντηση σε Python, όποιος θέλει ας το δοκιμάσει.
Άβαταρ μέλους
M.Jackson
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 1053
Εγγραφή: 28 Μάιος 2010, 19:06
Εκτύπωση

Re: Αλγόριθμοι σε Ψευδοκώδικα ή Διάγραμμα Ροής.

Δημοσίευσηαπό konnn » 10 Ιαν 2016, 18:43

Μπορείς να έχεις αρχικά τρεις δείκτες όπου ο τρίτος να έχει διαφορά από τον median -1, ως προς τη θέση. Δλδ, ο median θα προηγείται αρχικά ενός κόμβου και ο pre θα ακολουθεί όποτε ο median κινείται.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Προηγούμενη

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι