(defun bubble-sort (vector) (loop for swapped = nil do (loop for i from 0 below (1- (length vector)) when (> (aref vector i) (aref vector (1+ i))) do (rotatef (aref vector i) (aref vector (1+ i))) (setf swapped t)) unless swapped return vector))
(defun bubble-sort (vector) (loop for swapped = nil do (loop for i from 0 below (1- (length vector)) when (> (aref vector i) (aref vector (1+ i))) do (rotatef (aref vector i) (aref vector (1+ i))) (setf swapped t)) unless swapped return vector))
Machine learning نوعی الگوریتم است که سبب می شود تا سیستم ها هم بتوانند یاد بگیرند. این الگوریتم برگرفته از قدرت یاد گیری انسان است. Deep learning که نوع کامل تر این نوع الگوریتم ها است سبب می شود تا سیستم ها بتوانند تحلیل کنند. به طور مثال جمعی از برنامه نویسان موفق به ساخت الگوریتمی شدند که سبب یادگیری زبان چینی میشد، این در حالی است که هیچ کدام از برنامه نویس ها پیشینه ای از زبان چینی نداشتند و تنها یک ساعت از صدای فردی ضبط کردند و برنامه می توانست با صدای آن فرد به زبان چینی و با لهجه ی یک فرد اصیل چینی سخن بگوید! گوگل نیز در سال های اخیر اعلام کرد که دارای الگوریتم یادگیری عمیقی است که تمام فیلم های یوتیوب را تماشا می کند تا چیز های مختلفی بیاموزد.
این در حالی است که بعضی متقاعد بودند تنها تفاوت میان رایانه ها و انسان قدرت محاسبه و تحلیل است ولی حال دگر آنان هم می توانند تحلیل کنند و تصمیم بگیرند یا حتی بار عاطفی جملات را درک کند! آیا این دستاورد ها سبب خطراتی برای انسان می شود؟ آیا روزی خواهد رسید که رایانه های ساخته دست خودمان از ما بهتر شوند قدرت محاسبه ی سریع تر و بهتر و همچنین قدرت یادگیری که طبق آمار گاهی از انسان نیز نتیجه ی بهتری داشت.
به هر حال با گذشت از همه ی این ها این فناوری دستاورد جدید و گرانبهایی است که تقزیبا نا محدود است. اگر علاقه مندید در این رابطه بیشتر بدانید میتوانید فیلم زیر را تماشا کنید.
الگوریتم های مرتبسازی آن دسته از الگوریتم هایی هستند که برای مرتبسازی یک مجموعه از اعداد و یا حروف و یا اسامی(با توجه به اینکه هر حرف یک ارزش عددی دارد) استفاده میشود.در این مطلب الگوریتم مرتبسازی حبابی- که از سادهترین الگوریتم های مرتبسازی است- مورد بررسی قرار میگیرد.
الگوریتم مرتبسازی حبابی یک راه حل سر راست و واضح دارد.این الگوریتم یک مجموعه از اعداد را پیمایش میکند و هر بار عدد فعلی را با عدد بعدیاش مقایسه میکند و در صورتی که از آن بزرگتر باشد جای عدد فعلی با عدد بعدی عوض میشود.یا برعکس اگر بخواهیم مجموعه را به صورت نزولی مرتب کنیم. الگوریتم بارها و بارها مجموعه را مرتب میکند تا آنکه مجموعه مرتب شود.فهمیدن اینکه مجموعه مرتب شده است نیز به دو روش انجام میشود که بترتیب میتوانید بررسی کنید:
این کتاب الگوریتم های مرتب سازی(حبابی،سریع و ...) را به همراه کد سی پلاس پلاس هر الگوریتم آموزش میدهد.
الگوریتم(اسم): کلمهای است که توسط برنامهنویسان زمانی که نمیخواهند بگویند چه کاری انجام دادهاند استفاده میشود!