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

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از شماره 11 تا 16 , از مجموع 16

موضوع: نكاتي در مورد ساختمان داده

  1. #11
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : نكاتي در مورد ساختمان داده

    زیر برنامه های اضافه کردن و حذف کردن از پشته i ام در پشته های چندگانه:

    کد PHP:
         void addq(items k)
    {
        if (
    rear==n-1)
            
    queufull();
        else
            
    q[++rear]=k;


    کد PHP:
         void delq()
    {
        if (
    front==rear)
            
    queuempty();
        else
            
    reaturn q[++front];


    مشکل اصلی صف ها در این است که صف در یک لحظه می تونه پر و خالی (همزمان) باشه. مثلاً اگر n=5 داده را در یک صف 5 خانه ای ریخته و سپس آنها را بخوانیم در حالتی که r=f=5 داریم:
    صف خالی است چون: r=f
    صف پر است چون: r=n=5
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  2. #12
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : نكاتي در مورد ساختمان داده

    صف حلقوی:
    صف حلقوی همون صف ساده است ولی با این تفاوت که مشکل فوق رو نداره. تمام مقادیر اون با صف ساده یکسان هست مگر شرط پر بودن آن که به شکل زیر هست:
    if Front=(Rear+1) mod n
    زیر برنامه های حذف و اضافه کرن به صف حلقوی عبارتند از:
    کد PHP:

         void delq
    ()
    {
        if (
    front==rear)
            
    queuempty();
        else {
            
    front=(front+1)%n;        
             
    reaturn q[front];

         
    کد:
         
    void addq(items k)
    {
        if (
    front==(rear+1)%n)
            
    queufull();
        else {
            
    rear=(rear+1)%n;        
             
    q[rear]=k;


    در صف حلقوی در هر لحظه حداکثر n-1 عنصر وجود داره و بدین ترتیب می توان بین حالت پر و خالی تمایز قائل شد.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  3. #13
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : نكاتي در مورد ساختمان داده

    مفهوم لیست پیوندی:
    غالباً برای ذخیره تعداد زیادی داده ها از آرایه استفاده می کنند. ولی به دلیل ایستا بودن ساختار آرایه و محدودیت کار با آن از ساختار دیگه ای استفاده می شه به نام linked list یا همون لیست پیوندی.
    عناصر لیست پیوندی از نوع پویا بوده و عناصر اون الزاماً در کنارهم نمی باشند. (بر عکس آرایه) . به همین دلیل اعمال درج و حذف در اون به راحتی و سریعتر از آرایه است. در مقابل برخی از اعمال مثل جستجو یا مرتب سازی در آرایه سریع تر از لیست پیوندی است.
    هر عنصر یا گره (node) حداقل از دو فیلد داده (Data)و اشاره گری به گره بعدی (Link) تشکیل شده است.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  4. #14
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : نكاتي در مورد ساختمان داده

    فرم کلی گره ها در زبان c:


    کد PHP:
    typedef struct NODE *p_node;
    typedef struct NODE{
      
    char name[21];
      
    int num;
      
    p_node link;

    ایجاد زنجیر و دستیابی به فیلدها:

    در تکه کد زیر مفهوم زنجیر و طرز ایجاد آنرا بیان می کنیم:


    کد PHP:
    var 
       
    x,y,z:p_node;
    begin
       
    new(x);
       
    x^.name:='ali';
       
    x^.num:=123;
       
    x^link:=nil;

       
    z:=x;
       
       new (
    y);
       
    y^.name:='mohsen';
       
    y^.num:=456;
       
    y^link:=nil;
       
    x^.link=y;
    end
    با دستور new می توان یک نود جدید را در زنجیر ساخت.
    در انتهای برنامه دو نود داریم . نود اول با نام ali و نود دوم با نام mohsen.
    لیست ها را از 3 من ظر می توان تقسیم کرد:
    1- یا یکطرفه هستند یا دو طرفه.
    2- یا خطی هستند یا حلقوی.
    3- یا بدون Head هستند یا Head دارند.
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  5. #15
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : نكاتي در مورد ساختمان داده

    انواع ليست پيوندي
    1)ليست پيوندي يك طرفه خطي
    2)ليست پيوندي يك طرفه حلقوي
    3)ليست پيوندي دوطرفه خطي
    4) ليست پيوندي دوطرفه حلقوي
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

  6. #16
    کـــــــاربر فــــعال
    رشته تحصیلی
    کامپیوتر(مهندسی نرم افزار)
    نوشته ها
    18,304
    ارسال تشکر
    4,182
    دریافت تشکر: 19,008
    قدرت امتیاز دهی
    220
    Array

    پیش فرض پاسخ : نكاتي در مورد ساختمان داده

    هر لیست پیوندی با اشاره گر سر لیست مشخص می شود که معمولا آن رابا (First) یا (Head) مشخص می کنند .(First) یا (Head) اشاره گری است که آدرس گره اول لیست پیوندی را مشخص می کند ، همچنین آخرین گره از لیست پیوندی بخش اشاره گرش (Link) مقدار تهی خواهد داشت که در زبان پاسکال با (Nil) ودر زبان C با (Null) مشخص می شود. (شكل 1 رو ببينيد بزرگه)
    به مثال زير توجه كنيد.( شكل 2 رو ببينيد كوچيكه)


    کد PHP:
    Data (X) = ?                       (70)
    Link (X) = ?                         (Y)
    Data Link (x) ) = ?           (60)
    Link Link (w) ) = ?           (Y)
    Link (Z) = ?                     (Null)
    Data First ) = ?                 (50)
    Link First ) = ?                  (X
    Link Data (y) ) = ?    بی معنی 




    ویرایش توسط آبجی : 13th April 2010 در ساعت 01:27 AM
    شنبه : یارب العالمین 1شنبه : یا ذاالجلال والاکرام
    2شنبه : یا قاضی الحاجات 3شنبه : یاارحم الراحمین
    4شنبه : یا حی یاقیوم 5شنبه : لا اله الا الله الملک الحق المبین
    جمعه : اللهم صل علی محمد وال محمد وعجل فرجهم

صفحه 2 از 2 نخستنخست 12

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. معرفی: هر چي سوال در مورد اختراع داري بيا تو !
    توسط hossien در انجمن سایر موضوعات اختراعات و نوآوری
    پاسخ ها: 47
    آخرين نوشته: 26th April 2012, 08:11 PM
  2. ** خدا و صفات الهی **
    توسط آبجی در انجمن مقالات مذهبی
    پاسخ ها: 19
    آخرين نوشته: 11th March 2010, 01:00 AM
  3. سازه های متداول برای ساختمانهای بلند
    توسط ØÑтRдŁ§ در انجمن مهندسی معماری
    پاسخ ها: 0
    آخرين نوشته: 23rd October 2009, 02:06 AM
  4. مقاله: VPN - Virtual private network چيست ؟
    توسط engeneer_19 در انجمن سایر مقالات بخش کامپیوتر
    پاسخ ها: 0
    آخرين نوشته: 26th July 2009, 08:31 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •