Apakah Algoritma?

Ketahui bagaimana algoritma menjalankan dunia

Algoritma adalah satu set arahan. Takrifan sememangnya mudah. Algoritma boleh semudah memberi arahan seperti ini:

  1. Pergi ke jalan
  2. Ambil hak pertama
  3. Cari rumah kedua di sebelah kiri
  4. Mengetuk pintu dan
  5. Hantar pakej.

Tetapi sementara definisi algoritma mudah, makna sebenar dan bagaimana ia mempengaruhi kehidupan kita boleh menjadi sangat rumit.

Contoh Algoritma

Contoh umum algoritma yang kita gunakan dalam kehidupan seharian kita adalah resipi. Set instruksi ini memberikan kita semua bahan-bahan yang kita perlukan dan petunjuk tentang apa yang perlu dilakukan dengan bahan-bahan tersebut. Bunyi mudah, kan?

Tetapi bagaimana jika anda tidak tahu di mana cawan pengukur disimpan? Anda perlukan algoritma untuk mencarinya. Anda juga mungkin memerlukan algoritma bagaimana menggunakan cawan ukur.

Jadi sementara algoritma adalah satu set arahan, ia juga perlu mengambil kira siapa atau apa yang akan mentafsirkan arahan itu. Sebagai contoh, Jika anda memberi arahan kepada rakan yang memperincikan bagaimana untuk mendapatkan dari rumah anda ke kedai runcit terdekat, kawan anda hanya akan tahu bagaimana untuk sampai ke kedai itu jika mereka tahu di mana rumah anda berada. Mereka tidak mampu (mencari) kedai runcit daripada berkata, rumah rakan lain.

Ini adalah bagaimana algoritma boleh menjadi mudah dan rumit. Dan apabila kita bercakap dari segi algoritma komputer, memahami apa yang mampu dilakukan oleh komputer adalah satu bahagian penting dalam merumuskan algoritma.

Bagaimana Mengubah Algoritma Berubah

Salah satu algoritma terawal yang dibuat ialah rutin jenis gelembung. Urus gelembung adalah satu kaedah untuk mengurutkan nombor, huruf atau kata dengan mengulangi set data, membandingkan setiap set nilai bersebelahan, dan menukarnya apabila diperlukan.

Gelung ini diulang sehingga algoritma boleh bergerak melalui keseluruhan senarai tanpa perlu menukar apa-apa, yang bermaksud nilai disusun dengan betul. Algoritma jenis ini sering dirujuk sebagai algoritma rekursif kerana ia mengulangi sendiri berulang-ulang sehingga menyelesaikan tugas itu.

Algoritma mungkin kelihatan semudah:

  1. Pergi ke nilai pertama.
  2. Semak nilai itu terhadap nilai seterusnya dan kedudukan swap jika diperlukan
  3. Pergi ke nilai seterusnya dan ulangi perbandingan.
  4. Jika kita berada di akhir senarai, kembali ke atas jika ada nilai yang ditukar semasa gelung.

Tetapi jenis gelembung tidak berubah menjadi cara yang paling berkesan untuk menyusun nilai. Menjelang masa dan komputer menjadi lebih berkemampuan untuk melakukan tugas yang kompleks dengan cepat, algoritma sorting baru muncul.

Satu algoritma sedemikian mengimbas melalui senarai pertama dan mencipta senarai kedua nilai yang disusun. Kaedah ini hanya membuat lulus tunggal melalui senarai asal, dan dengan setiap nilai, ia akan gelung melalui senarai kedua sehingga ia mendapati tempat yang betul untuk meletakkan nilai itu. Biasanya, ia lebih cekap daripada menggunakan kaedah gelembung jenis.

Di sinilah algoritma boleh menjadi sangat gila. Atau sangat menarik, bergantung pada bagaimana anda melihatnya.

Sedangkan kaedah jenis gelembung dianggap sebagai salah satu kaedah yang paling tidak cekap dalam menyortir nilai-nilai dalam banyak cara, jika senarai asal disusun dengan betul, jenis gelembung boleh menjadi salah satu yang paling berkesan. Itu kerana, dalam hal itu, algoritma jenis gelembung akan melalui senarai satu masa dan menentukan ia disusun dengan betul.

Malangnya, kita tidak selalu tahu jika senarai kami dipanggil, jadi kita perlu memilih satu algoritma yang akan menjadi yang paling berkesan untuk digunakan secara purata di sebilangan besar senarai.

Apa yang Kita Belajar Daripada Susun Gelembung

Algoritma Facebook Dan Lebih Dalam Kehidupan Seharian

Algoritma berfungsi membantu manusia setiap hari. Apabila anda mencari di web, algoritma sedang berusaha mencari keputusan carian yang terbaik. Tanya telefon pintar anda untuk arahan, dan algoritma memutuskan jalan terbaik untuk anda ambil. Dan apabila anda melayari Facebook, satu algoritma memutuskan yang mana antara jawatan Facebook rakan kami adalah yang paling penting bagi kami. (Mari kita berharap rakan-rakan kita tidak mengetahui yang mana satu Facebook fikir kita suka yang paling!)

Tetapi berfikir secara algoritma dapat membantu kita jauh melebihi kehidupan komputer kita. Ia juga boleh membantu kami membina sandwic yang lebih baik.

Katakan saya mulakan dengan dua keping roti, menyebarkan mustard pada satu keping dan mayonis pada kepingan yang lain. Saya meletakkan sepotong keju pada roti dengan mayonis, beberapa ham di atas itu, beberapa salad, dua keping tomato dan kemudian tutupnya dengan kepingan itu dengan mustard di atasnya. Sandwic yang baik, bukan?

Pasti jika saya makan segera. Tetapi jika saya meninggalkannya di atas meja untuk seketika, potongan atas roti itu mungkin menjadi basah daripada merendam beberapa buah tomato itu. Ia masalah saya tidak menjangkakan, dan saya mungkin membuat sandwic selama bertahun-tahun sebelum melihat, tetapi sebaik saya lakukan, saya boleh mula memikirkan cara untuk mengubah algoritma saya untuk membina sandwic yang lebih baik.

Sebagai contoh, saya boleh menghilangkan tomato itu. Tetapi saya tidak mahu kehilangan rasa tomato itu. Jadi, saya boleh meletakkan tomato pada sandwic selepas roti dan salad. Ini membolehkan salad untuk membentuk halangan pelindung antara tomato dan roti.

Inilah cara algoritma berkembang. Dan algoritma tidak perlu dijalankan oleh komputer untuk menjadi algoritma. Algoritma adalah proses, dan proses adalah di sekeliling kita.