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



جزوه درس ساختمان داده ها – مهندس محمدی - آموزشکده فنی شهید رجایی کاشان

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

 

عنوان جزوه : ساختمان داده ها

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

زبان : پارسی

کیفیت جزوه : تایپ شده

تعداد صفحات : ۷۰

ساختار فایل : PDF

حجم فایل : ۱.۳ مگابایت

مطالب بررسی شده در این جزوه :

بررسی پیچیدگی زمانی یک برنامه
آرایه ها
پشته و صف
لیست های پیوندی
درخت ها
گراف ها
مرتب سازی و جستجو
تعداد بازديد : 744
آموزش c++(نحوه تغییر متغییرها)

مرجع برنامه نویسی

 

نحوه تعریف متغیرها:

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

تعداد بازديد : 764
سورس برنامه ضرب ماتریس سه بعدی

این برنامه یک ماتریس سه بعدی از ورودی گرفته و ضرب عناصر آنرا در یک آرایه یک بعدی ذخیره و چاپ میکند.
تعداد بازديد : 2684
برنامه ی محاسبه روز های گذشته سال
برنامه ای که با دریافت تاریخ یک روز سال جاری، تعداد روز های گذشته از ابتدای سال را مشخص میکند. این برنامه برای سال های کبیسه جواب اشتباه می دهد.
تعداد بازديد : 2127
یادآوری: نحوه عملکرد strncmp و _strnicmo یا strnicmp

برنامه ای که نحوه عملکرد دو تابع strncmp و _strnicmp (در کامپایلر های بورلند: strnicmp) را نشان میدهد.
تعداد بازديد : 1197
تمرین رشته های کاراکتری
یه تمرین جالب برای کار با آرایه های کاراکتری:

- برنامه ای بنویسید که ابتدا عددی به عنوان تعداد کاراکتر رشته گرفته و سپس به طور کاملا تصادفی یک رشته ی کاراکتری با طول عدد گرفته شده درست کرده و سپس از کاربر بپرسد که آن رشته چیست و کاربر با وارد کردن هر حرف، آن حرف به جای - قرار میگیرد و یک نمره ی مثبت یا منفی در نظر گرفته میشود و در آخر، رشته ی ایجاد شده و امتیاز کاربر را نمایش دهد.
تعداد بازديد : 1703
تعیین مثلثی بودن ماتریس
برنامه ای که با گرفتن یک ماتریس، مثلثی بودن یا نبودن آن را حساب میکند
تعداد بازديد : 1620
برنامه انداختن تاس با دستور randomize() و random()
این برنامه تا زمانی که کاربر Enter بزنه، شروع به ریختن تصادفی تاس میکنه و عدد اون رو نمایش میده.
تعداد بازديد : 3431
الگوريتم های مرتب سازی

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

مرتب سازی حبابی

مرتب سازی انتخابی

مقايسه الگوريتم های مرتب سازی


الگوریتم های مرتب سازی اغلب بر اساس زیر دسته بندی می شوند:

• پیچیدگی زمانی مقایسه عناصر برحسب اندازه لیست (n) . معمولا برای یک الگوریتم مرتب سازی عادی O(n log n) بهترین حالت و O(n2) بدترین حالت است. زمان ایده آل O(n) است.
• پیچیدگی زمانی تعداد جابه جائی ها برای الگوریتم های درجا (in place).
• مصرف حافظه (و استفاده از منابع دیگر سیستم). برخی از الگوریتم های مرتب سازی برون از جا (out place) هستند. که به محل کمکی برای نگهداری داده های موقت علاوه بر داده های در حال مرتب شدن نیاز دارند.
• بعضی از الگوریتم ها بازگشتی یا غیر بازگشتی یا هردو هستند.
• پايداری. الگوریتم های مرتب سازی پايدار ترتیب نسبی رکوردها با کلیدهای مساوی را برقرار می کنند. یعنی اگر دو رکورد R و S با یک کلید وجود داشته باشد و R قبل از S در لیست اصلی آمده باشد، در لیست مرتب شده هم R قبل از S می آید.
• متد کلی. روش مرتب سازی داده ها که می تواند درج،‌ تعویض، انتخاب، ادغام و غیره باشد. برای مثال مرتب سازی حبابی و سریع مرتب سازی تعویضی هستند.



تعداد بازديد : 5117