ورود ثبت

وارد حساب کاربری خود شوید

نام کاربری *
رمز عبور *
مرا به خاطر بسپار

ایجاد یک حساب کاربری

تکمیل کردن تمام فیلدهای مشخص شده با (*) لازم است.
نام *
نام کاربری *
رمز عبور *
تایید رمز عبور *
ایمیل *
تایید ایمیل *
کد امنیتی *

دانلود کتاب

  

  

دانلود رایگان کتاب با لینک مستقیم

 کتاب، مقاله و مطلب خود را در 30000 عنوان کتاب، مقاله، مجله و ... سایت روبوک جستجو و با لینک مستقیم دانلود نمایید.

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

  

  

سفارش ترجمه و تایپ

سفارش ترجمه و تایپ

پنج شنبه, 21 فروردين 1393 ساعت 02:12

ساختمان داده

نوشته شده توسط
این مورد را ارزیابی کنید
(6 رای‌ها)
ساختمان داده - 5.0 out of 5 based on 6 votes

جزوه آموزش ساختمان داده

خلاصه جزوه آموزش ساختمان داده

آموزشکده فنی شهید رجایی کاشان

تنظیم و تهیه : مهندس محمودی

گروه کامپیوتر

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

شما می توانید به منظور بحث و بررسی جزوه آموزش ساختمان داده  به انجمن مهندسی کامپیوتر مراجعه نمایید.

 از این به بعد فايل هايي که براي دانلود قرار می گیرند چندين بار قبل و بعد از قرار گرفتن بر روي سرور توسط تیم پوپول تست می گردد در نتيجه فايل ها کاملآ سالم هستند اما در برخي مواقع به دليل هاي مختلف فايل ها دچار مشکل مي شوند بدين صورت که پس از دانلود و استخراج فايل ها از   سوي نرم افزار Winrar با اخطار CRC رو به رو ميشوند. اما جاي نگراني نيست چون فايل ها به گونه اي فشرده شده اند که داراي قابليت بازيابي هستند. به همين منظور کافيست که فايل معيوب را با استفاده از نرم افزار Winrar اجرا کنيد و سپس با انتخاب گزينه Repair اقدام به تعمير فايل فشرده نماييد.

تمامی فایل ها قابلیت ریکاوری تا 5% را دارند.

 لینک دانلود مستقیم فایل

حجم فایل: 1.40 مگا بایت

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

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

جمعه, 22 آذر 1392 ساعت 01:01

ساختمان داده

نوشته شده توسط
این مورد را ارزیابی کنید
(3 رای‌ها)
ساختمان داده - 5.0 out of 5 based on 3 votes

ساختمان داده

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

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

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

خصوصیات یک الگوریتم
تمام الگوریتم‌ها باید شرایط و معیارهای زیر را دارا باشند

  •     ورودی : یک الگوریتم باید هیچ یا چندین پارامتر را به عنوان ورودی بپذیرد؛
  •     خروجی : الگوریتم بایستی حداقل یک کمیت به عنوان خروجی (نتیجه عملیات) تولید کند؛
  • قطعیت : دستورات الگوریتم باید با زبانی دقیق، و بی‌ابهام بیان شوند. هر دستورالعمل نیز باید انجام‌پذیر باشد.

دستورهایی نظیرمقدار ۶ یا ۷ را به x اضافه کنید یا حاصل تقسیم پنج بر صفر را محاسبه کنید مجاز نیستند؛ چرا که در مورد مثال اول، معلوم نیست که بالاخره چه عددی باید انتخاب شود، و در خصوص مثال دوم هم تقسیم بر صفر در ریاضیات تعریف نشده‌است.

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


ریشه واژهٔ الگوریتم
واژه الگوریتم از نام ریاضیدان و ستاره‌شناس و جغرافی‌دان نامی ایرانی، ابوجعفر محمد بن موسی خوارزمی (الخوارزمی)، گرفته شده است، که در خوارزم زاده شد و در دانشگاه بیت الحکمه بغداد به اوج شهرت رسید. خوارزم یکی از شهرهای ایران بزرگ بود، که امروزه در ازبکستان واقع شده است و خیوه نام دارد. رساله‌ای که خوارزمی در قرن ۹ میلادی به عربی نگاشته بود،

در قرن ۱۲ به لاتین با نام Algoritmi de numero Indorum  یعنی کتابی بدست الگوریتمی در مورد اعداد هندی"، که «الگوریتمی» نام الخوارزمی بود که مترجم آن را در تبدیل به لاتین چنین آورده بود. در قرن ۱۳ میلادی واژه الگوریسموس(algorismus) به معنای سیستم شمارش عربی (دهدهی) (یعنی اعداد ۱ تا ۹ به علاوه صفر، و نیز مفهوم اعشار) بود؛ که هنوز هم یکی از معانی واژه الگوریسم(algorism) است.

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

حتی روش انجام دستی تقسیم و جذر گرفتن (رادیکال) هم الگوریسم نامیده می‌شود. در قرن ۱۹ این کلمه در فرانسوی به algorithme تغییر شکل پیدا کرد، البته معنایش ثابت ماند. طولی نکشید که این کلمه به شکل algorithm وارد زبان انگلیسی شد؛ ولی فقط در اواخر قرن ۱۹ میلادی بود که معنای عام‌تر امروزی‌اش را یافت، و به «هر مجموعه قواعدی برای انجام یک رویه محاسباتی یا روال رایانه‌ای به کار رود» الگوریتم گفته شد.

تبدیل نام الخوارزمی به الگوریسم و سپس الگوریتم احتمالا تحت تأثیر واژه یونانی arithmos (به معنای عدد) و arithmetic (به معنای محاسباتی) بوده است. برخی منابع هم کلمه لگاریتم را هم در تبدیل الگوریسم و الگوریتم بی تأثیر ندانسته‌اند.


نقش الگوریتم‌ها در علوم رایانه
در علوم رایانه، یک الگوریتم را یک روال محاسباتی خوش‌تعریف می‌دانند، که مقدار یا مجموعه‌ای از مقادیر را به عنوان ورودی (Input) دریافت کرده و پس از طی چند گام محاسباتی، ورودی را به خروجی (Output) تبدیل می‌کند. بجز این، الگوریتم را ابزاری برای حل مسائل محاسباتی نیز تعریف کرده‌اند. ساخت و طراحی الگوریتم مناسب در مرکز فعالیت‌های برنامه‌سازی رایانه قرار دارد. یک برنامه رایانه‌ای، بیان یک یا چند الگوریتم با یک زبان برنامه‌نویسی است.


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

برای توضیح کامل مطلب و لینک دانلود جزوه و حل تمرین ساختمان داده ها  لطفا کلیک کنید تا به  ادامه مطلب بروید. 

آخرین ویرایش در جمعه, 22 آذر 1392 ساعت 01:01
چهارشنبه, 03 مهر 1392 ساعت 12:48

ساختمان داده

نوشته شده توسط
این مورد را ارزیابی کنید
(5 رای‌ها)
ساختمان داده - 5.0 out of 5 based on 5 votes

ساختمان داده

جزوه ساختمان داده (دکتر دهقان دانشگاه امیر کبیر)

ساختمان داده‌ها   Data Structure‏

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


موارد زیر از جمله مهمترین ساختمان داده‌ها هستند

  •     آرایه (Array)
  •     صف (Queue)
  •     پشته (Stack)
  •     لیست پیوندی (Linked list)
  •     گراف (Graph)
  •     درخت (Tree)
  •     مرتب‌سازی (Sorting Algorithm

 

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

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

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

خروج به ترتیب ورود
 FIFO یا First In, First Out
یکی از روش‌های سازماندهی کنترل داده با توجه به زمان و اولویت‌بندی است. این اصطلاح، اصل تکنیک پردازش صف یا برآوردن تقاضای عرضه شده به وسیله راهکار اولین ورودی، اولین دریافت کننده خدمات (FCFS) را توصیف می‌نماید

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

بنا بر این، این موضوع شبیه رفتار صف بندی انسان‌ها است، جاییکه افراد صف را به ترتیب ورودشان ترک می‌نمایند. یازمانیکه در پشت چراغ راهنمایی منتظر نوبت خود می‌شوند. FCFS  نیز نام دیگری برای الگوریتم زمانبندی سیستم‌عامل FIFO است. روشی که به هر فرایندی زمانی از زمان پردازنده را مطابق با ترتیب ورودش اختصاص می‌دهد.

در معنای وسیع تر، سرواژه LIFO یا «آخرین ورودی، اولین خروجی» متضاد FIFO است. با در نظر گرفتن واژه FILO به معنای «اولین ورودی، آخرین خروجی» تفاوت این دو واژه آشکار تر می‌شود. در واقع هر دو حالت خاصی از یک لیست عام هستند. تفاوت در داده‌ها وجود ندارد. بلکه در قواعد برای دستیابی به محتوا است.

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


struct fifo_node
{
  struct fifo_node *next;
  value_type value;
};
 
class fifo
{
  fifo_node *front;
  fifo_node *back;
  fifo_node *dequeue(void)
  {
    fifo_node *tmp = front;
    front = front->next;
    return tmp;
  }
  queue(value)
  {
    fifo_node *tempNode = new fifo_node;
    tempNode->value = value;
    back->next = tempNode;
    back = tempNode;
  }
};

اول سر یا ته
برنامه نویسان و کاربران صف FIFO بایستی توجه زیادی به کاربرد واژگان head و tail برای اشاره به دو سر صف داشته باشند. برای بسیاری از افراد داده‌ها باید از tail وارد صف شوند و تا زمانیکه به head برسند در صف بمانند و صف را از آنجا ترک نمایند. این نقطه نظر را می‌توان با صف افرادی که برای در یافت سرویس خاصی منتظر مانده‌اند قیاس نمود و به کاربرد دو واژه «جلو» و «عقب» در این مثال تشبیه نمود. اگر چه، افراد دیگر عقیده دارند که داده‌ها از head وارد صف می‌شوند و از tail آن را ترک می‌نمایند. همجون ترتیب عبور غذا در درون یک مار. صف‌هایی که به این طریق پیاده سازی شده‌اند، در جایگاه‌هایی مانند سیستم‌عامل GNU/Linux ظاهر می‌شوند.


زمانبندی دیسک
کنترل کنندگان دیسک از FIFO به عنوان یک الگوریتم زمانبندی استفاده می‌کنند تا مطابق با آن خدمات مربوط به درخواست‌های ورود و خروج اطلاعات را ارائه کنند. First Input First Output در این حالت اولین پردازه که وارد می شود همان پردازه نیز پردازش می شود و تا زمانی که این پردازه تمام نشود و یا نیاز به یک منبع جدید نداشه باشد پردازنده را در اختیار خود می گیرد تا به پایان برسد و در این زمان پردازنده آزاد شده و به پردازه های دیگر اختصاص می یابد.

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

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

برای توضیح کامل مطلب و لینک دانلود جزوه ساختمان داده لطفا کلیک کنید تا به ادامه مطلب  بروید.

این مورد را ارزیابی کنید
(11 رای‌ها)
اصول ساختمان داده(سیمور لیپ شوتز) ابراهیم زاده قلزم (457 مسله حل شده) - 4.5 out of 5 based on 11 votes

 اصول ساختمان داده(سیمور لیپ شوتز) ابراهیم زاده قلزم (457 مسله حل شده)

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

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

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

معرفی فصل های کتاب

فصل های کتاب عمدتا براساس میزان پیچیدگی مطالب تنظیم شده اند. فصل 1، معرفی و مرور کلی بر مطالب تمام کتاب خواهد داشت و فصل 2، زمینه ریاضی و نمادهای کامپیوتری را جهت ارائه و تجیزیه و تحلیل الگوریتم ها فراهم می آورد. فصل 3، که در مورد تطبیق الگوست، فصل مستفلی است که به صورت حاشیه ای با متن ارتباط دارد و از این رو در مطالعه اول کتاب این فصل را حذف کرد یا خواندن آن را تا زمان دیگر تعویق انداخت. فصل های 4 تا 8 شامل مطالب اصلی درس ساختمان داده هاست. مخصوصا این که در فصل 4، آرایه ها Arrays، رکوردها Records مورد بررسی قرار می گیرد. فصل 5 راجع به لیستهای پیوندی Linked Lists است. فصل 6 حاوی مطالبی در زمینه پشته ها Stacks  و صفهای Queues و همچنین زیربرنامه های بازگشتی Recursion است، فصل 7 در مورد درخت های دودویی Binary Trees  و فصل 8 درباره پرافها Graphs و کاربردهای آن است. اگر چه مرتب کردن Sorting و جستجوی اطلاعات Searching hc  از ابتدا تا انتهای کتاب در داخل مجموعه ای از ساختمان داده مخصوص مانند جستجوی دودویی با آرایه های خطی، QuickList با پشته ها و صفها، و Heap Sort  با درختهای دودیی، مورد بحث و بررسی قرار گرفته است اما در فصل 9، که آخرین فصل کتاب را نیز تشکیل می دهد الگوریتم های اضافی و تکمیلی مرتب کردن اطلاعات و جستجوی آنها نظیر ادغام و مرتب کردم Merge-Sort و درهم سازی Hashing معرفی و بحث و بررسی شده است.

الگوریتم ها به صورت ارائه شده اند که مستقل از نوع کامپیوتر و زبان های برنامه نویسی است. علاوه بر این، این الگوریتم ها برای دستورهای کنترلی، عمدتا با استفاده از قطعه برنامه های REPEAT – WHILE – IF- THEN- ELSE نوشته شده اند و همچنین جهت سهولت در خواندن و درک فهم ساده آنها، از الگوی تورفته و پله ای استفاده شده است. بنابراین، هر یک از الگوریتم های کتاب را تقریبا می توان به سادگی، به تمام زبان های متعارف و موجود برنامه نویسی ترجمه کرد.

برای فهرست کامل مطالب و لینک دانلود لطفا به ادامه مطلب بروید.

خبرنامه

آدرس ایمیل خود را در کادر زیر وارد نمایید تا از آخرین اخبار مطلع شوید.

تماس با ما

اطلاعات تماس گروه روبوک

  • شماره پیامکی: 50002853627180
  • شماره تماس : 09387137519 (9 صبح الی 4 بعدازظهر)
  • آدرس ایمیل : این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید

با ما در تماس باشید

ما را در صفحات اجتماعی دنبال نمایید...