Rumah Kewangan Peribadi Berfungsi dengan Fungsi Algoritma - dummies

Berfungsi dengan Fungsi Algoritma - dummies

Video: Cara Menulis Rumus di M.S Word (Equation) 2024

Video: Cara Menulis Rumus di M.S Word (Equation) 2024
Anonim

Fungsi dalam matematik adalah satu cara untuk memetakan beberapa input kepada respons. Diungkapkan dengan cara yang berbeza, fungsi adalah transformasi (berdasarkan operasi matematik) yang mengubah (peta) input anda kepada jawapan.

Untuk nilai input tertentu (biasanya ditandakan dengan huruf x atau n), anda mempunyai jawapan yang sesuai menggunakan matematik yang mentakrifkan fungsi tersebut. Sebagai contoh, fungsi seperti f (n) = 2 n memberitahu anda bahawa apabila input anda adalah nombor n, adalah nombor n didarab dengan 2.

Menggunakan saiz input tidak masuk akal memandangkan ini adalah usia kritikal masa dan kehidupan manusia penuh dengan jumlah data yang semakin meningkat. Membuat semua fungsi matematik sedikit kurang intuitif, tetapi fungsi yang menerangkan bagaimana algoritma berkaitan dengan penyelesaian kepada kuantiti data yang diterima adalah sesuatu yang anda boleh menganalisa tanpa sokongan hardware atau software tertentu. Ia juga mudah untuk dibandingkan dengan penyelesaian lain, memandangkan saiz masalah anda. Analisis algoritma adalah benar-benar konsep pukulan fikiran kerana ia mengurangkan siri langkah-langkah kompleks ke dalam formula matematik.

Selain itu, kebanyakan masa, analisis algoritma tidak berminat untuk menentukan fungsi tersebut dengan tepat. Apa yang anda mahu lakukan adalah membandingkan fungsi sasaran dengan fungsi lain. Fungsi perbandingan ini muncul dalam satu set fungsi yang dicadangkan yang kurang baik apabila dibandingkan dengan algoritma sasaran. Dengan cara ini, anda tidak perlu memasukkan nombor ke fungsi kerumitan yang lebih besar atau kurang; Sebaliknya, anda berurusan dengan fungsi mudah, premade, dan terkenal. Ia mungkin terdengar kasar, tetapi ia lebih berkesan dan sama dengan mengklasifikasikan prestasi algoritma ke dalam kategori, daripada memperoleh ukuran prestasi yang tepat.

Set fungsi umum dipanggil notasi Big O, dan anda sering menemui set kecil fungsi ini (dimasukkan ke kurungan dan didahului oleh modal O >) digunakan untuk mewakili prestasi algoritma. Angka ini menunjukkan analisis algoritma. Sistem koordinat Cartesian boleh mewakili fungsinya seperti diukur oleh simulasi RAM, di mana abscissa (x koordinat) adalah saiz input dan ordinate (koordinat y) menghasilkan bilangan operasi. Anda boleh melihat tiga lengkung yang diwakili. Perkara saiz input. Walau bagaimanapun, kualiti juga penting (contohnya, ketika memerintahkan masalah, lebih cepat untuk memesan input yang sudah hampir dipesan).Oleh itu, analisis menunjukkan kes terburuk, f 1 (n), kes biasa, f 2 (n), dan kes terbaik, f 3 (n). Walaupun kes purata mungkin memberi anda gambaran umum, apa yang anda benar-benar peduli adalah kes yang paling teruk, kerana masalah mungkin timbul apabila algoritma anda berjuang untuk mencapai penyelesaian. Fungsi Big O ialah, setelah nilai

n0 tertentu (ambang untuk mempertimbangkan input besar), selalu menghasilkan bilangan operasi yang lebih besar yang diberi masukan yang sama daripada fungsi terburuk > f1 . Oleh itu, fungsi Big O lebih pesimis daripada yang mewakili algoritma anda, supaya tidak kira kualiti input, anda boleh yakin bahawa perkara-perkara tidak boleh menjadi lebih buruk daripada itu. Kerumitan algoritma sekiranya kes input terbaik, purata, dan terburuk. Banyak fungsi yang mungkin boleh menyebabkan hasil yang lebih buruk, tetapi pilihan fungsi yang ditawarkan oleh notasi Big O yang anda boleh gunakan adalah terhad kerana tujuannya adalah untuk memudahkan pengukuran kerumitan dengan mencadangkan piawai. Akibatnya, seksyen ini hanya mengandungi beberapa fungsi yang merupakan sebahagian daripada notasi Big O. Senarai berikut menerangkan mereka dalam susunan kerumitan yang semakin meningkat:

Kerumitan malar O (1):

Masa yang sama, tidak kira berapa banyak input yang anda berikan. Pada akhirnya, ia adalah bilangan operasi berterusan, tidak kira berapa lama data input. Tahap kerumitan ini jarang berlaku dalam amalan.

  • Kerumitan logaritma O (log n): Bilangan operasi berkembang pada kadar yang lebih perlahan daripada input, menjadikan algoritma kurang efisien dengan input kecil dan lebih efisien dengan yang lebih besar. Algoritma khas kelas ini ialah pencarian binari.
  • Kerumitan linear O (n): Operasi tumbuh dengan input dalam nisbah 1: 1. Algoritma biasa adalah lelaran, iaitu apabila anda mengimbas input sekali dan memohon operasi ke setiap elemen.
  • Kerumitan linearitma O (n log n): Kerumitan adalah gabungan antara kerumitan logaritma dan kerumitan linear. Ia adalah tipikal dari beberapa algoritma pintar yang digunakan untuk memerintahkan data, seperti Mergesort, Heapsort, dan Quicksort.
  • Kompleks kuadratik O (n 2
  • ): Operasi berkembang sebagai satu segi bilangan input. Apabila anda mempunyai satu lelaran di dalam lelaran lain (lelaran bersarang, dalam sains komputer), anda mempunyai kerumitan kuadratik. Sebagai contoh, anda mempunyai senarai nama dan, untuk mencari yang paling serupa, anda membandingkan setiap nama terhadap semua nama lain. Sesetengah algoritma pesanan yang kurang efisien memberikan kerumitan sedemikian: jenis gelembung, semakan pemilihan, dan jenis penyisipan. Tahap kerumitan ini bermakna bahawa algoritma anda mungkin berjalan selama berjam-jam atau bahkan beberapa hari sebelum mencapai penyelesaian. Kerumitan kubik O (n 3
  • ): Operasi berkembang lebih cepat daripada kerumitan kuadrat kerana sekarang anda mempunyai beberapa lelaran bersarang. Apabila algoritma mempunyai kerumitan susunan ini dan anda perlu memproses jumlah data yang sederhana (100, 000 elemen), algoritma anda mungkin berjalan selama bertahun-tahun.Apabila anda mempunyai beberapa operasi yang merupakan kuasa input, adalah perkara biasa untuk merujuk kepada algoritma sebagai yang berjalan dalam masa polinomial. Kerumitan eksponen O (2 n
  • ): Algoritma ini mengambil dua kali bilangan operasi sebelumnya untuk setiap elemen baru ditambah. Apabila algoritma mempunyai kerumitan ini, walaupun masalah kecil mungkin mengambil masa selama-lamanya. Banyak algoritma yang melakukan carian menyeluruh mempunyai kerumitan yang eksponen. Walau bagaimanapun, contoh klasik untuk tahap kerumitan ini ialah pengiraan nombor Fibonacci. Factorial complexity O (n!): Mimpi ngeri yang rumit kerana banyak kombinasi yang mungkin antara unsur-unsur. Cuba bayangkan: Jika input anda adalah 100 objek dan operasi pada komputer anda mengambil masa 10
  • -6 saat (kelajuan yang munasabah untuk setiap komputer, pada masa ini), anda memerlukan lebih kurang 10 140 tahun untuk menyelesaikan tugas dengan jayanya (jumlah masa yang tidak mungkin sejak umur alam semesta dianggarkan sebagai 10 14 tahun). Masalah kerumitan faktorial yang terkenal adalah masalah jualan jurugambar, di mana seorang jurujual perlu mencari jalan terpendek untuk melawat banyak bandar dan kembali ke bandar permulaan.
Berfungsi dengan Fungsi Algoritma - dummies

Pilihan Editor

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Jika anda telah memulakan jejak sosial metrik media dan menikmati kurniaan data yang kini dapat dilihat, dihidupkan, dan digunakan, anda mungkin tertanya-tanya apa yang mungkin menyebabkan kemurungan! Mudah: kehilangan data. Katakanlah bahawa anda mempunyai masalah tapak atau entah bagaimana kehilangan akses ke tapak atau data anda. Adakah anda mempunyai sandaran anda ...

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Mana-mana kempen baru, laman web, akaun Twitter, halaman Facebook, atau item lain yang anda ingin ukur dengan metrik media sosial bermula pada sifar. Nombor ini boleh membuat anda merasa seperti anda bercakap dengan tidak sah, bercakap dengan diri anda atau anda tersembunyi dari pandangan. Perasaan ini boleh membawa kepada pengasingan secara keseluruhan ...

Meracuni Google Spider - dummies

Meracuni Google Spider - dummies

Anda sentiasa dapat mencari orang yang ingin menyimpang dari lurus dan sempit. Ya, mereka adalah orang bodoh yang terlibat dalam taktik pengoptimuman berisiko yang bertujuan untuk menggerakkan PageRank secara artifisial, memanipulasi pesanan halaman hasil carian di Google, dan mendapatkan kelebihan yang tidak adil dalam indeks. Google, dengan reputasi yang luar biasa untuk melindungi, ...

Pilihan Editor

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Di laman web anda memberikan wawasan yang penting. Anda boleh memikirkan sama ada pengunjung sedang melihat cepat, kemudian pergi, atau sama ada mereka bertahan lebih lama dan sebenarnya membaca bahan dalam talian anda dengan tujuan untuk mengambil tindakan. Jika majoriti pelawat laman web anda tidak ...

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Laman web perniagaan sangat mirip dengan merancang kedai dengan pemasaran produk dalam fikiran. Malah, laman web anda benar-benar adalah kedai - kedai maya di Internet. Rangkaian kedai runcit telah menghabiskan berjuta-juta dolar dalam penyelidikan pasaran, menonton dan mendokumentasikan bagaimana pembeli memasuki kedai, belok kanan atau kiri, dan ...

Analitik web Untuk Menipu Cheat Sheet - dummies

Analitik web Untuk Menipu Cheat Sheet - dummies

Melakukan analisis laman web tidak perlu meletihkan dan intensif masa. Anda boleh meringkaskan prestasi keseluruhan laman web anda dengan cepat - jika anda tahu apa yang perlu dicari. Alat analisis web percuma dan kos rendah boleh membantu anda mengukur kejayaan laman web anda, dan anda boleh menjana perujuk tapak dengan pelbagai cara yang tidak mungkin ...

Pilihan Editor

Cara Memaksimumkan Ruang pada Laman Web - dummies

Cara Memaksimumkan Ruang pada Laman Web - dummies

Terlalu terhad, anda boleh membuat penggunaan kreatif beberapa teknologi di luar sana untuk memaksimumkan antara muka anda. Untuk setiap teknik berikut yang diterangkan, terdapat banyak laman web yang menawarkan sampel kod, forum, dan sumber untuk membantu anda memulakan. Accordions. Antara muka akordion membolehkan ...

Cara Mendapatkan Corak CSS3 Online - dummies

Cara Mendapatkan Corak CSS3 Online - dummies

Mencipta kesan mudah untuk laman CSS3 menggunakan gradien mudah . Walau bagaimanapun, mewujudkan sesuatu yang benar-benar hebat memerlukan masa dan keupayaan artistik. Kebanyakan pemaju benar-benar tidak mempunyai masa atau kemahiran yang diperlukan untuk mencipta sesuatu yang mempesonakan menggunakan CSS3 sahaja (atau CSS3 digabungkan dengan grafik) - di sinilah pereka bermain. Ramai pereka yang membolehkan anda ...

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Terdapat banyak pelayar dan versi pelayar yang berbeza gunakan hari ini. Tidak semua daripada mereka adalah optimum untuk CSS3. Inilah tempat Modernizr dimainkan. Pemajunya menyebutnya "perpustakaan JavaScript yang mengesan ciri HTML5 dan CSS3 dalam pelayar pengguna. "Anda menggunakan Modernizr untuk melaksanakan tugas secara pilihan dan memasukkan ciri aplikasi berdasarkan ...