نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اشتباهات
  • الگوریتم های آماده انواع الگوریتم در علوم کامپیوتر: مثال

الگوریتم های آماده انواع الگوریتم در علوم کامپیوتر: مثال

دلفی - الگوریتم های آماده - استیون آر. - 2004.

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

مقدمه.
فصل 1. مفاهیم اساسی
الگوریتم ها چیست؟
تجزیه و تحلیل سرعت اجرا، الگوریتم ها
حافظه یا زمان
برآورد تا سفارش
تعریف پیچیدگی
پیچیدگی الگوریتم های بازگشتی
متوسط ​​و بدترین حالت.
توابع کلی برآورد پیچیدگی.
لگاریتم ها
سرعت الگوریتم در شرایط واقعی
دسترسی به فایل پیجینگ
خلاصه.
فصل 2 لیست ها
مفاهیم اساسی در مورد لیست ها
لیست های ساده.
تغییر اندازه آرایه ها
لیست اندازه متغیر
کلاس SimpleList.
لیست های نامرتب
لیست های مرتبط
افزودن عناصر
حذف عناصر
فصل 3 پشته ها و صف ها
پشته ها
پشته روی لیست های مرتبط.
صف ها
صف های چرخه ای
صف ها بر اساس لیست های پیوندی
صف های اولویت دار
صف های چند رشته ای
خلاصه.
فصل 4 آرایه ها
آرایه های مثلثی
عناصر مورب
آرایه های نامنظم
نمایش خطی با اشاره گر
لیست های مرتبط نامنظم
آرایه های پویا دلفی
آرایه های پراکنده
نمایه سازی آرایه
آرایه های بسیار پراکنده.
خلاصه.
فصل 5 بازگشت
بازگشت چیست
محاسبه بازگشتی فاکتوریل ها تحلیل پیچیدگی
محاسبه بازگشتی
بزرگترین مقسوم علیه مشترک
تحلیل پیچیدگی
محاسبه بازگشتی اعداد فیبوناچی
تحلیل پیچیدگی
ساخت بازگشتی منحنی های هیلبرت
تحلیل پیچیدگی
ساخت بازگشتی منحنی های سیرپینسکی.
تحلیل پیچیدگی
مضرات بازگشت.
بازگشت بی نهایت
از دست دادن حافظه
استفاده غیر منطقی از بازگشت
زمان استفاده از بازگشت
از بین بردن بازگشت دم
محاسبه غیر بازگشتی اعداد فیبوناچی
از بین بردن بازگشت در مورد کلی.
ایجاد غیر بازگشتی منحنی های هیلبرت.
خلاصه ساخت غیر بازگشتی منحنی های سیرپینسکی.
فصل 6 درختان
تعاریف
نمایش درخت
گره های کامل
لیست گره های فرزند
نمایش با شماره گذاری پیوندها.
درختان کامل
پیمایش درخت.
درختان سفارش داده شده
افزودن عناصر
حذف عناصر
پیمایش درختان سفارش داده شده
درختان با پیوند
ویژگی های کار.
درختان کیو.
تغییر مقدار MAXQTREENODES
درختان اکتال.
خلاصه.
فصل 7 درختان متعادل
متعادل کردن.
درختان AVL
اضافه کردن گره ها به درخت AVL.
حذف گره ها از درخت AVL.
درختان B.
عملکرد درخت B.
حذف عناصر از درخت B
افزودن عناصر به درخت B
انواع درخت B.
بهبود درختان B.
مشکلات دسترسی به دیسک
پایگاه داده B+tree
خلاصه.
فصل 8 درختان تصمیم
جستجو در درختان بازی
شمارش حداقلی
بهینه سازی جستجو در درختان تصمیم
جستجو کردن راه حل های غیر استاندارد
شاخه ها و مرزها.
ابتکاری.
وظایف دشوار
وظیفه امکان سنجی.
مشکل پارتیشن
مشکل یافتن مسیر همیلتونی.
مشکل فروشنده دوره گرد
مشکل ایستگاه آتش نشانی
شرح مختصری از کارهای چالش برانگیز
خلاصه
فصل 9 مرتب سازی
اصول کلی.
جداول اشاره گر
ترکیب و فشرده سازی کلیدها
نمونه برنامه
مرتب سازی انتخابی
مخلوط کردن
مرتب سازی درج
درج در لیست های پیوندی
مرتب سازی حبابی
مرتب سازی سریع
ادغام مرتب سازی.
مرتب سازی هرمی
اهرام.
صف های اولویت دار
الگوریتم مرتب سازی پشته
مرتب سازی شمارش
دسته بندی بلوکی
مرتب‌سازی را با استفاده از فهرست‌های پیوندی مسدود کنید
خلاصه
فصل 10 جستجو کردن
نمونه های برنامه
نیروی بی رحم
تکرار بر روی لیست های مرتب شده.
تکرار بر روی لیست های پیوندی
جستجوی باینری.
جستجوی درون یابی
داده های رشته ای
جستجوی ردیابی
ردیابی و جستجو باینری
جستجوی ردیابی درون یابی
خلاصه.
فصل 11 هش کردن
الزام آور.
مزایا و معایب صحافی
بلوک ها
ذخیره جداول هش روی دیسک
پیوند دادن بلوک ها
حذف عناصر
مزایا و معایب استفاده از آدرس دهی باز بلوک ها
بررسی خط.
چک مربع
بررسی شبه تصادفی
حذف عناصر
خلاصه.
فصل 12 الگوریتم های شبکه
تعاریف
نماهای شبکه
مدیریت گره و پیوند
دور زدن شبکه
کوچکترین قاب یک درخت،
کوتاه ترین راه
قرار دادن برچسب ها
تصحیح برچسب
گزینه هایی برای یافتن کوتاه ترین مسیر
استفاده از الگوریتم برای یافتن کوتاه ترین مسیر.
حداکثر جریان
حوزه های کاربرد.
خلاصه
فصل 13 روش های شی گرا
مزایای OOP
کپسوله سازی.
پلی مورفیسم
استفاده مجدد و وراثت
پارادایم های OOP.،.
کنترل اشیاء
کنترل شی
اشاره گر،.
کلاس دوستانه
رابط
نما
کارخانه.
تنها شی
سریال سازی
خلاصه مدل پارادایم/نما/کنترلر.
پیوست 1. آرشیو نمونه ها
مطالب آرشیو با مثال
الزامات سخت افزاری
اجرای برنامه های نمونه
اطلاعات و پشتیبانی کاربر
پیوست 2. فهرست برنامه های نمونه
نمایه موضوعی

دانلود رایگان کتاب الکترونیکیکه در فرمت مناسب، تماشا کنید و بخوانید:
دانلود کتاب دلفی - الگوریتم های آماده - Stevens R. - fileskachat.com دانلود سریع و رایگان.

djvu را دانلود کنید
در ادامه می توانید این کتاب را خریداری کنید بهترین قیمتبا تخفیف با تحویل در سراسر روسیه.


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

نام:ویژوال بیسیک. الگوریتم های آماده (+ مثال)
استیون آر.
ناشر:مطبوعات DKM
سال: 2000
صفحات: 377
قالب: DJVU
اندازه: 20.3 مگابایت
شابک: 5-94074-001-4
کیفیت:عالی
سریال یا شماره:برای برنامه نویسان

مقدمه
فصل 1. مفاهیم اساسی
الگوریتم چیست
تجزیه و تحلیل سرعت اجرای الگوریتم
منابع و زمان
برآورد تا سفارش
یافتن بخش های مشکل ساز یک الگوریتم
پیچیدگی الگوریتم های بازگشتی
بدترین و متوسط ​​ترین حالت
توابع ارزیابی سفارش پیچیدگی
لگاریتم ها
سرعت الگوریتم در شرایط واقعی
دسترسی به فایل پیجینگ
شبه اشاره گرها، ارجاع به اشیا و مجموعه ها
خلاصه
فصل 2. فهرست ها
سوالات اصلی فصل
لیست های ساده
مجموعه ها
لیست اندازه متغیر
کلاس SimpleList
لیست های نامرتب
لیست های مرتبط
افزودن عناصر
حذف عناصر
از بین بردن لیست پیوندی
برچسب های سیگنال
کپسوله سازی لیست پیوندی
دسترسی به سلول
انواع لیست های مرتبط
لیست های پیوند خورده دایره ای
مسئله مراجع دایره ای
لیست های دارای پیوند دوگانه
جریان ها
سایر ساختارهای مرتبط
شبه اشاره گر
خلاصه
فصل 3 - پشته ها و صف ها
پشته ها
پشته های متعدد
صف ها
صف های چرخه ای
صف ها بر اساس لیست های پیوندی
استفاده از مجموعه ها به عنوان صف
صف های اولویت دار
صف های چند رشته ای
خلاصه
فصل 4. آرایه ها
آرایه های مثلثی
عناصر مورب
آرایه های نامنظم
نمایش خطی با اشاره گر
لیست های مرتبط نامنظم
آرایه های پراکنده
نمایه سازی آرایه
آرایه های بسیار کم
خلاصه
فصل 5. بازگشت
بازگشت چیست
محاسبه بازگشتی فاکتوریل ها
محاسبه بازگشتی بزرگترین مقسوم علیه مشترک
تحلیل زمان اجرای برنامه
محاسبه بازگشتی اعداد فیبوناچی
تحلیل زمان اجرای برنامه
ساخت بازگشتی منحنی های هیلبرت
تحلیل زمان اجرای برنامه
ساخت بازگشتی منحنی های سیرپینسکی
تحلیل زمان اجرای برنامه
مضرات بازگشت
بازگشت بی نهایت
از دست دادن حافظه
استفاده غیر منطقی از بازگشت
زمان استفاده از Recursion
بازگشت دم
محاسبه غیر بازگشتی اعداد فیبوناچی
حذف عود به طور کلی
ساخت غیر بازگشتی منحنی های هیلبرت
ساخت غیر بازگشتی منحنی های سیرپینسکی
خلاصه
فصل 6
اصطلاحات اساسی
نمادهای درختی
گره های کامل
فهرست نوادگان
نمایش شماره گذاری رابطه
درختان کامل
پیمایش درخت
درختان سفارش داده شده
افزودن عناصر
حذف عناصر
پیمایش درختان سفارش داده شده
درختان با پیوند
ویژگی های کار
درختان کیو
تعداد عناصر یک گره را تغییر دهید
استفاده از شبه اشاره گر
درختان اکتال
خلاصه
فصل 7 درختان متعادل
تعادل درخت
درختان AVL
اضافه کردن یک گره
حذف یک گره
درختان B
عملکرد درختان B
درج عناصر
حذف عناصر
انواع درختان B
افزایش عملکرد درختان B
متعادل کردن
مشکلات دیسک
پایگاه داده B+tree
خلاصه
فصل 8 درختان تصمیم
جستجو در درختان بازی
جستجوی Minimax
بهینه سازی جستجو
جستجوی راه حل های غیر استاندارد
روش شاخه و صحافی
اکتشافی
وظایف دشوار
مشکل امکان سنجی
مشکل پارتیشن
مشکل یافتن مسیر همیلتونی
مشکل فروشنده دوره گرد
مشکل ایستگاه آتش نشانی
شرح مختصری از وظایف پیچیده
خلاصه
فصل 9 مرتب سازی
اصول کلی
جداول اشاره گر
ترکیب و فشرده سازی کلیدها
نمونه های برنامه
مرتب سازی انتخابی
مخلوط کردن
مرتب سازی درج
درج در لیست های پیوندی
مرتب سازی حبابی
مرتب سازی سریع
ادغام مرتب سازی
مرتب سازی هرمی
اهرام
صف های اولویت دار
الگوریتم مرتب سازی پشته
مرتب سازی شمارش
دسته بندی بلوکی
مرتب‌سازی را با استفاده از فهرست پیوندی مسدود کنید
مرتب سازی بلوکی بر اساس آرایه
خلاصه
فصل 10
نمونه های برنامه
جستجوی نیروی بی رحم
جستجو در لیست های مرتب شده
جستجو در لیست های مرتبط
جستجوی باینری
جستجوی درون یابی
داده های رشته ای
جستجوی ردیابی
جستجوی ردیابی درون یابی
خلاصه
فصل 11 هش کردن
الزام آور
مزایا و معایب صحافی
بلوک ها
ذخیره جداول هش روی دیسک
پیوند دادن بلوک ها
حذف عناصر
مزایا و معایب استفاده از بلوک ها
آدرس دهی باز
بررسی خط
چک مربع
بررسی شبه تصادفی
حذف عناصر
خلاصه
فصل 12. الگوریتم های شبکه
اصطلاحات اساسی
نماهای شبکه
گره ها و اتصالات عامل
دور زدن شبکه
کوچکترین قاب درخت
کوتاه ترین مسیر
برچسب زدن
تصحیح برچسب
گزینه هایی برای یافتن کوتاه ترین مسیر
اپلیکیشن هایی که از روش یافتن کوتاه ترین مسیر استفاده می کنند
حداکثر جریان
برنامه های کاربردی
خلاصه
فصل 13. روش های شی گرا
مزایای OOP
کپسوله سازی
پلی مورفیسم
ارث و استفاده مجدد
پارادایم های OOP
کنترل اشیاء
کنترل شی
اشاره گر
کلاس دوستانه
رابط
نما
شی والد
تنها شی
سریال سازی
مدل پارادایم/نما/کنترل کننده
خلاصه
پیوست 1. آرشیو با مثال
پیوست 2. فهرست برنامه های نمونه
فهرست الفبایی

دانلود ویژوال بیسیک. الگوریتم های آماده (+ مثال)

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

مفهوم

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

اغلب، الگوریتم‌ها در ریاضیات برای حل مسائل خاص استفاده می‌شوند. بنابراین، بسیاری از مردم الگوریتم حل معادلات درجه دوم را با جستجوی ممیز می دانند.

خواص

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

از جمله ویژگی های اصلی الگوریتم ها، باید موارد زیر را برجسته کرد:

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

روش های ضبط

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

  1. کلامی
  2. کلامی فرمولی.
  3. گرافیک.
  4. زبان الگوریتم

متداول ترین الگوریتم به تصویر کشیده شده در قالب فلوچارت است که با استفاده از نامگذاری های خاصتوسط GOST ها ثابت شده است.

انواع اصلی

سه طرح اصلی وجود دارد:

  1. الگوریتم خطی
  2. الگوریتم انشعاب یا شاخه ای.
  3. چرخه ای.

خطی

این ساده ترین در علوم کامپیوتر در نظر گرفته شده است. اجازه دهید ساده ترین مثال از این نوع الگوریتم را ارائه دهیم. بیایید آن را "رسیدن به مدرسه" بنامیم.

1. زمانی که زنگ هشدار به صدا در می آید از جای خود بلند می شویم.

2. خودمان را میشویم.

3. مسواک بزنید.

4. تمرینات را انجام می دهیم.

5. لباس بپوشید.

6. ما غذا می خوریم.

7. کفش بپوشید و به مدرسه بروید.

8. پایان الگوریتم.

الگوریتم انشعاب

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

به عنوان مثال، بیایید وضعیت زیر را در نظر بگیریم - یک عابر پیاده که از جاده عبور می کند.

1. به چراغ راهنمایی نزدیک می شویم.

2. ما به چراغ راهنمایی نگاه می کنیم.

3. باید سبز باشد (این شرط است).

4. در صورت احراز شرط از جاده عبور می کنیم.

4.1 اگر نه، صبر کنید تا چراغ سبز روشن شود.

4.2 از جاده عبور می کنیم.

5. پایان الگوریتم.

الگوریتم چرخه ای

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

بیایید یک مثال ساده بزنیم. اگر سری اعداد از 1 تا 100 باشد. ما باید همه چیز را پیدا کنیم، یعنی آنهایی که بر یک و خودشان بخش پذیر هستند. بیایید الگوریتم را «اعداد اول» بنامیم.

1. عدد 1 را بردارید.

2. بررسی کنید که آیا کمتر از 100 است.

3. اگر بله، بررسی کنید که آیا این عدد اول است یا خیر.

4. در صورت احراز شرط آن را یادداشت کنید.

5- عدد 2 را بردارید.

6. بررسی کنید که آیا کمتر از 100 است.

7. بررسی کنید که آیا ساده است.

…. عدد 8 را می گیریم.

بررسی کنید که آیا کمتر از 100 است.

بررسی اینکه آیا عدد اول است یا خیر.

نه، از آن می گذریم.

عدد 9 را می گیریم.

بنابراین، روی همه اعداد تا 100 تکرار کنید.

همانطور که می بینید، مراحل 1 تا 4 چندین بار تکرار می شود.

در بین الگوریتم‌های چرخه‌ای، الگوریتم‌هایی با پیش‌شرط وجود دارند، زمانی که شرط در ابتدای چرخه بررسی می‌شود، یا با شرط پس‌شرط، زمانی که بررسی در پایان چرخه است.

گزینه های دیگر

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

نمادها در بلوک دیاگرام

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

  1. ابتدا و انتهای الگوریتم در یک قاب بیضی شکل نوشته شده است.
  2. هر دستور در یک مستطیل ثابت می شود.
  3. شرط با الماس نوشته شده است.
  4. تمام قسمت های الگوریتم با استفاده از فلش ها به هم متصل می شوند.

نتیجه گیری

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

برترین مقالات مرتبط