در اینجا کاری ساده است که می توانید با عکس های رایانه خود انجام دهید

در اینجا کاری ساده است که می توانید با عکس های رایانه خود انجام دهید

تنظیم محتوای زندگی خود.

عکس توسط Yiqun Tang در Unsplash

من اولین دوربین دیجیتال خود را برای آمادگی برای سفر جاده ای چند کشور خریداری کردم و یک تابستان در آنجا رفتم دانشکده. حدود 4 سال قبل از وجود گوشی های هوشمند وجود داشت ، بنابراین داشتن یک دوربین اختصاصی تنها راه برای عکاسی بود. بلافاصله عاشقش شدم. من…

25 میانبر صفحه کلید که هر کاربر کامپیوتر باید بداند

25 میانبر صفحه کلید که هر کاربر کامپیوتر باید بداند

برنامه نویس ، تولید کننده محتوا یا دانش آموز این برای شما

عکس توسط Karol D از Pexels

میانبرهای صفحه کلید به بخشی از زندگی من تبدیل شده اند و کار من را آسان و سریع کرده است. این تحقیق می گوید که میانبرهای کلید واژه می توانند سالانه 8 روز کاری را ذخیره کنند.

تصور کنید ، 8 روز دیگر به کارتان فرصت خواهید داشت. مقاله می گوید تقریباً 3.3 of از کل…

است

پیچیدگی فضا و زمان در الگوریتم های رایانه

پیچیدگی فضا و زمان در الگوریتم های رایانه

مبادله فضا-زمان در علوم کامپیوتر زندگی شما را آسان تر می کند

عکس توسط آرین درویشی در Unsplash

در این مقاله ، من درباره پیچیدگی محاسباتی که توسط Juris Hartmanis و Richard E. Stearns برای تجزیه و تحلیل دشواری یک الگوریتم توسعه داده شده است ، بحث خواهم کرد. .

همه ما می دانیم که طبیعت بشر به دنبال راهی کارآمد برای جمع آوری وظایف روزانه خود است. فرآیند غالب تفکر در پشت نوآوری و فناوری این است که با ارائه راه هایی برای حل مشکلاتی که ممکن است با آنها روبرو شوند ، زندگی را برای مردم آسان تر کند. در دنیای علم کامپیوتر و محصولات دیجیتال نیز همین اتفاق می افتد. ما الگوریتم هایی می نویسیم که کارآمد بوده و حافظه کمتری را برای عملکرد بهتر اشغال می کنند.

پیچیدگی زمانی زمانی است که الگوریتم برای اجرای هر مجموعه دستورالعمل صرف می کند. همیشه بهتر است کارآمدترین الگوریتم را زمانی انتخاب کنید که یک مشکل ساده با روش های مختلف حل شود. از دو فضای متفاوت تشکیل شده است. فضای کمکی و فضای ورودی.

فاکتور زمان معمولاً مهمتر از فضا است.

توجه: - در برنامه نویسی کامپیوتر ، شما مجاز به استفاده از 256 مگابایت برای یک مشکل خاص هستید. به اگر آرایه ای با اندازه بیش از 10⁸ ایجاد کنید ، خطا را دریافت خواهید کرد. همچنین ، نمی توانید آرایه ای با اندازه 10⁶ بسازید زیرا حداکثر فضای اختصاص داده شده به یک تابع 4 مگابایت است. ما برای حل این مشکل باید جهانی تعریف کنیم.

اگرچه بی اهمیت به نظر می رسند ، اما این عوامل در تعیین چگونگی توسعه ، طراحی و طراحی یک برنامه رایانه ای و چگونگی ارزش افزوده آن به کاربر بسیار مهم است. به یاد داشته باشید ، زمان پول است.

برای ایجاد یک الگوریتم خوب چه چیزی لازم است؟

تصویر توسط نویسنده

یک الگوریتم خوب الگوریتمی است که زمان کمتری را در اجرا به همراه داشته باشد و در طول فرآیند صرفه جویی کند. در حالت ایده آل ، ما باید یک حد وسط بین فضا و زمان پیدا کنیم ، اما می توانیم به میانگین بسنده کنیم. بیایید به یک الگوریتم ساده برای یافتن مجموع دو عدد نگاه کنیم.

 مرحله #01: شروع. 
 مرحله #02: ایجاد دو متغیر (a & b). 
 مرحله #03: ذخیره مقادیر صحیح در "a" و "b." -> ورودی 
 مرحله #04: ایجاد متغیری با نام "Sum." 
 مرحله 05: مجموع 'a' و 'b' را در متغیری به نام 'Sum' ذخیره کنید -> خروجی 
 مرحله 06: پایان. 

ساده است به نظر می رسد.

توجه: - اگر یک گیمر هستید ، می دانید که اندازه متوسط ​​بازی (در هارد دیسک) روز به روز همراه با بهبود زمان بارگذاری افزایش می یابد. به طور مشابه ، در وب سایت ها ، زمان بارگذاری به میزان قابل توجهی کاهش می یابد و فضای ذخیره سازی سرورهای آن روز به روز افزایش می یابد. بنابراین ، همانطور که قبلاً بحث کردیم ، از نظر فضا و زمان ، زمان نقش مهمی در مراحل توسعه هر نرم افزار ایفا می کند. > pp طبق تحقیقات انجام شده توسط نیل پاتل ،

"47 درصد از مصرف کنندگان انتظار دارند که وب سایت حداکثر در دو ثانیه بارگیری شود." این دلیل احتمالی است که تقریباً همه شرکت های بزرگ سرمایه گذاری زیادی در تحقیق و نوشتن این مجموعه دستورالعمل های پیچیده انجام می دهند.

در زیر موارد زیر آمده است:عواملی که در استفاده طولانی مدت از یک الگوریتم نقش مهمی ایفا می کنند:

کارآیی - ما قبلاً در مورد اهمیت کارایی در ایجاد یک الگوریتم خوب صحبت کرده ایم. این کارآیی است که زمان محاسبه را کاهش می دهد و خروجی سریع ایجاد می کند. محدودیت - الگوریتم باید پس از اتمام تعداد مشخصی از مراحل خاتمه یابد. در غیر این صورت ، از فضای حافظه بیشتری استفاده می کند و این یک عمل بد محسوب می شود. اگر برای حلقه های نامحدود یا بازگشت مجدد ادامه یابد ، شرایط سرریز و خارج از محدوده ممکن است رخ دهد. صحت-یک الگوریتم خوب باید بدون در نظر گرفتن اندازه ورودی ارائه شده ، نتیجه صحیح را ایجاد کند.

پیچیدگی زمانی چقدر اهمیت دارد؟

پیچیدگی زمانی عمیقاً با اندازه ورودی ارتباط دارد. با افزایش اندازه ورودی ، زمان اجرا (که مدت زمان لازم برای اجرای الگوریتم است) نیز افزایش می یابد.

مثال: یک الگوریتم مرتب سازی را در نظر بگیرید.

فرض کنید ما دارای مجموعه ای از اعداد به نام A = {10، 5، 21، 6، 9}،

الگوریتم های زیادی برای مرتب سازی اعداد داده شده موجود است. اما همه آنها کارآمد نیستند. برای یافتن م effectiveثرترین روش ، باید یک تجزیه و تحلیل محاسباتی روی هر الگوریتم انجام دهیم.

لئوناردو گالر و ماتئو کیمورا یکی از بهترین تحقیقات راجع به LAMFO در مورد "مرتب سازی الگوریتم" انجام دادند.

< img src = "https://cdn-images-1.medium.com/max/426/1*Rnj5rPbL7ccE-n1cXgVKrQ.png"> معیارهای LAMFO

در اینجا برخی از مشاهدات مهم نمودار آمده است :-

این آزمون پنج مورد از پرکاربردترین الگوریتم های مرتب سازی را نشان داد: Quicksort ، مرتب سازی درج ، مرتب سازی حبابی ، مرتب سازی Shell ، Heapsort. زبان برنامه نویسی مورد استفاده برای انجام کار پایتون است و اندازه ورودی از 2500 تا 50000 متغیر است. نتایج عبارت بودند از: "الگوریتم های Shell sort و Heap Sort با وجود طول لیست ها به خوبی عمل کردند ، در طرف دیگر متوجه شدیم که Insertion sort و Bubble الگوریتم های مرتب سازی بدتر بودند و زمان محاسبه را به میزان قابل توجهی افزایش دادند. نتایج را در نمودار بالا ببینید. درک داده های ما مهمترین بخش در اجرای یک تجزیه و تحلیل موفق است.

مقدمه ای بر نشانه های بدون علامت (آسان شده)

اگر از سابقه علوم کامپیوتر نیستید ، ممکن است این را پیدا کنید مفهوم کمی پیچیده تر از حد معمول است. جای نگرانی نیست! من شما را تحت پوشش قرار دادم.

بنابراین ، علامت بدون علامت چیست؟ > ما نمی توانیم دو الگوریتم را مستقیماً در کنار یکدیگر مقایسه کنیم. این بستگی زیادی به ابزارها و سخت افزاری دارد که برای مقایسه استفاده می کنیم ، مانند سیستم عامل ، مدل CPU ، تولید پردازنده و غیره. تحت تأثیر تغییرات نامحسوس در محیط سیستم قرار می گیریم.

بنابراین ، ما از تجزیه و تحلیل مجانبی برای مقایسه پیچیدگی فضا و زمان استفاده می کنیم. این دو الگوریتم را بر اساس تغییرات در عملکرد آنها در مورد افزایش یا کاهش اندازه ورودی تجزیه و تحلیل می کند.

در ابتدا سه نوع علامت بدون علامت وجود دارد:

نماد Big-Oh (O) . علامت بزرگ امگا (Ω). علامت Big Theta (Θ)-به طور گسترده استفاده می شود.

علامت Big-Oh/Big-O (O)

نماد big-O در سال 1894 توسط پل باخمن معرفی شد. او بدون بحث این بحث را در بحث خود در مورد آن معرفی کردتقریبی یک تابع. n) <= c*g (n) برای همه n> = n0}

در اینجا 'n' مقدار حد بالا را می دهد. اگر یک تابع O (n) است ، آن O (n²) ، O (n³) نیز هست.

این رایج ترین نماد برای تجزیه و تحلیل مجانبی است. این محدوده بالایی یک تابع را تعریف می کند ، یعنی حداکثر زمان صرف شده توسط یک الگوریتم یا بدترین پیچیدگی زمانی یک الگوریتم. به عبارت دیگر ، حداکثر مقدار خروجی (big-O) را برای یک ورودی مربوطه می دهد.

توسط مدیسن استنکویچ (Dev.to)

امگا بزرگ (Ω) نماد:

 از تعریف: تابع f (n) Ω (g (n) است ) در صورت وجود اعداد مثبت c و N ، به عنوان مثال f (n) ≥ cg (n) برای همه n ≥ N. 

محدوده پایینی یک تابع را تعریف می کند - یعنی حداقل زمان یک الگوریتم حداقل مقدار خروجی (big-Ω) را برای ورودی مربوطه می دهد.

نمودار توسط Hacker Earth

Big Theta (Θ) نماد:

 در صورت وجود اعداد مثبت c1 ، c2 ، f (n) Θ (g (n)) است و N به گونه ای که c1g (n) ≤ f (n) ≤ c2g (n) برای همه n ≥ N 

محدوده پایینی و بالایی یک تابع را تعریف می کند ، یعنی در هر دو وجود دارد ، بیشترین و حداقل مرزهای یک مقدار ورودی داده شده.

نمودار توسط Hacker Earth < /img> توجه:-Big-O بر حسب ≤ و Ω بر حسب ≥ تعریف می کند. = در هر دو نابرابری گنجانده شده است. این روش محدود کردن مجموعه ای از محدوده های ممکن پایین و بالا را پیشنهاد می کند. این محدودیت با نماد Big Theta (Θ) انجام می شود.

بهترین مورد ، بدترین مورد و میانگین مورد در تحلیل بدون علامت:

تصویر نویسنده بهترین مورد: این شرط را تعریف می کند که به الگوریتم اجازه می دهد تا اجرای دستورات را در حداقل مقدار کامل کند از زمان در این حالت ، زمان اجرا به عنوان محدودیت پایینی بر پیچیدگی زمان الگوریتم عمل می کند. به در این حالت ، زمان اجرا به عنوان حد پایین و بالا در پیچیدگی زمانی الگوریتم عمل می کند. بدترین مورد: این شرط را تعریف می کند که به یک الگوریتم اجازه می دهد تا اجرای دستورات را در حداکثر مقدار کامل کند. از زمان در این مورد ، زمان اجرا به عنوان یک محدوده بالا بر پیچیدگی زمانی الگوریتم عمل می کند.

وقتی برنامه نویسی را شروع کردم ، مفهوم پیچیدگی فضا و زمان همیشه برای من قدم بود. بنابراین امروز ، من فکر کردم بحث ساده ای را در مورد چگونگی تأثیر این دو عامل بر الگوریتم ایجاد کنم.

از شما برای خواندن این داستان و دیدار مجدد متشکرم. در صورت داشتن هر گونه نظر ، بازخورد یا پیشنهادی در مورد آن ، نظر خود را بنویسید!

منابع

پیچیدگی فضایی یک الگوریتم - Studytonight چرا پیچیدگی زمانی ضروری است و پیچیدگی زمانی چیست؟ - Greatlearning پیچیدگی زمان و مکان - HackerEarth راهنمای کامل درک پیچیدگی زمان و مکان الگوریتم ها - جریان کد را بیاموزید چگونه سرعت صفحه را افزایش دهیم - نیل Patel الگوریتم های مرتب سازی - LAMFO

روح و شناسه: درک مشکل سخت هوشیاری

روح و شناسه: درک مشکل سخت هوشیاری

نه ، ذهن شما نمی تواند در رایانه بارگذاری شود

متأسفیم ، اما جاودانگی دیجیتالی با بارگذاری غیرممکن است

تصویر گرد آلتمن

دوست داشتن آهنگ می گوید: "همه می خواهند روی یک مهر پست باشند ، اما هیچ کس نمی خواهد بمیرد."

تعطیل شدن کامپیوتر یک نفره | نحوه مقابله با اعتیاد به اینترنت

تعطیل شدن کامپیوتر یک نفره | نحوه مقابله با اعتیاد به اینترنت

انگشت اشاره من دردناک است که پیکان را به سمت "خاموش" می کشاند.

من روی "خاموش کردن" کلیک می کنم.

من به صندلی تکیه می دهم تا یک نفس عمیق بکشم ، اما پس از آن صدای بلند می شود ، "آیا می خواهید تغییرات ایجاد شده در" لیست شیطان یا زیبا #3.xlsb "را ذخیره کنید؟

من به جلو خم می شوم تا روی" ذخیره "کلیک کنم ، در مورد اینکه آیا تصمیم درستی گرفته ام.

خاموش شدن کامپیوتر از سر گرفته می شود. صفحه سیاه می شود. لپ تاپ را می بندم و در کیف می گذارم.

احساس پیروزی می کنم!

من به خانه رانندگی می کنم و ساعت 10 شب از در عبور می کنم. کیفم را روی صندلی ام می اندازم و ناخودآگاه همانطور که همیشه ... انگشت اشاره زخمی ام برای روشن شدن آن دراز می کند ...

< p> من از آن خارج می شوم و جلوی خود را می گیرم! "اوف ، این نزدیک بود."

"وای آنتونی ، خیلی جالب!" من دوش می گیرم ، چای می کشم ، کشش می کنم ، مدیتیشن می کنم ، چراغ ها را خاموش می کنم و Kindle خود را در رختخواب می خوانم تا زمانی که احساس کنم به اندازه کافی خسته شده ام که بخوابم.

وقتی امروز صبح بیدار شدم ، احساس خوبی داشتم- استراحت کرد.

"آنتونی خیلی دیوانه است. شما واقعاً باید این رمان را به یک رمان هیجان انگیز تبدیل کنید! "

درسته ، این داستان چندان جالب نیست ، اما من فکر می کنم که درس اینجا عمیق است.

آیا می توانید حدس بزنید چه چیزی است؟ آیا؟

"اوه ، پس این یک داستان پلیسی است؟"

دلیل خاموش کردن کامپیوتر قبل از آمدن به خانه این بود که در اعتدال خوب نیستم ، به ویژه در عصر. من عادت کردم که به خانه بیایم و در شبکه های اجتماعی شرکت کنم و در یوتیوب گشت و گذار کنم. من درگیر این چیزها می شوم من فکر نمی کنم این چیزها ذاتاً بد باشند ، پس از همه من یک کانال YouTube دارم که در سراسر رسانه های اجتماعی تبلیغ می کنم: LIKE ، SUBSCRIBE و SHARE!

فقط یکی از محدودیت های خود را به عنوان انسان ؛ تلاش زیادی می کند تا بتوانم خودم را از صفحه نمایش دور کنم. آنچه در نهایت اتفاق می افتد این است که من به خودم می گویم که باید برای خوابیدن در ساعت 12 صبح آماده شوم ، اما بعد در مقاله ای غرق می شوم و ساعت 12 صبح به سرعت ساعت 12:15 صبح می شود و سپس ساعت 12:45 صبح ساعت 1 صبح.

من در نهایت خیلی رد می شوم از روال عصرانه من به نفع خواب ، و سپس روز بعد با این وضوح شروع نمی کنم.

متوجه می شوم که فردا امشب شروع می شود.

بسیاری را امتحان کردم راه هایی برای کنترل خودم مانند نصب Chrome Browser Extension StayFocusd ، که زمان استفاده از وب سایت های خاص را محدود می کند. من همچنین برنامه ریزی کردم که مک من به طور خودکار ساعت 12 صبح خاموش شود.

این تاکتیک ها در ابتدا کار می کردند ، اما در نهایت مرورگر ناشناس را بیشتر و بیشتر برای خودم توجیه می کردم که برای "اهداف تحقیقاتی" توجیه می شود. .

سپس پنجره خاموش کردن برنامه را لغو می کنم اعلان فقط برای اینکه بتوانم ابتدا کاری را که انجام می دادم به پایان برسانم ، تا اینکه البته آن چیز به چیز دیگری و سپس به مورد دیگری منتهی شود ...

"کامپیوترمانند کوکائین الکترونیکی است. " - پیتر چرابرو ، مدیر موسسه سمل برای علوم اعصاب

من همچنین یک تلفن هوشمند دارم ، اما به ندرت از آن استفاده می کنم و باعث ناراحتی مادربزرگم می شود که می پرسد: "چرا بیشتر به مادربزرگ زنگ نمی زنی؟" من همچنین به خودم اجازه نمی دهم بازی ها را بارگیری کنم ، زیرا می دانم که به آنها معتاد شده و در نهایت با مشت آهنین تمام Farmville را اداره می کنم!

بنابراین در مقایسه با بسیاری از همسالانم ، من واقعاً مانند یک راهب زندگی کنید ، اما من زندگی را به این دلیل انتخاب می کنم زیرا با ویژگی های اعتیادآور خود آگاه هستم و در تشخیص آنها می توانم خودم را کنترل کنم.

بنابراین ، در مورد استفاده از رایانه من عصر متوجه شدم که باید به خودم یک NO سخت بدهم.

به طور خاص گفتم ، "بعد از اینکه عصر به خانه آمدم تا زمانی که به 1K مشترک YouTube نرسیدم ، از رایانه خود استفاده نخواهم کرد." سپس آن را امضا و تاریخ گذاری کردم تا احساس رسمی تری داشته باشم.

من تا زمانی که به 1K مشترکین نرسیدم ، به خودم هدفی دادم زیرا این یک امتیاز اضافی است که به من انگیزه می دهد تا بیشتر در جهت رسیدن به هدفم تلاش کنم ، اما مهمتر از همه ، پایبند ماندن عهد را باورپذیرتر می کند زیرا اگر به سادگی گفته بودم ، "من عصرها از آن استفاده نخواهم کرد" ، پس از آنکه بتوانم راه خود را برای خروج از آن منطقی کنم ، موضوع زمان بود.

"هر پینگ می تواند فرصتی اجتماعی ، جنسی یا حرفه ای باشد ، و ما برای جواب دادن به زنگ یک پاداش کوچک ، یک دوپامین دریافت می کنیم. این پاداش ها به منزله تکان های انرژی است که موتور اجبار را دوباره شارژ می کند ، درست مانند فرایسی که یک قمارباز با دریافت یک کارت جدید روی میز دریافت می کند. در مجموع ، این اثر قوی است و مقاومت در برابر آن دشوار است. " - جودیت دونات ، محقق رسانه ای MIT

من نذرم را جلوی میز کارم نگه می دارم ، بنابراین هر زمان که تمایل به شکستن آن را داشتم ، آن را می بینم.

فرو ریختن سوزن دیجیتال ... حداقل برای عصر… وقتم را برای برداشتن یک کتاب و قلم آزاد کرده ام ، که در نهایت ، پایان خوبی برای روزم رقم می زند.

از خواندن شما متشکرم! امیدوارم از این داستان پلیسی هیجان انگیز لذت برده باشید! درباره مبارزه و استراتژی اینترنتی خود نظر بدهید.