User Tag List

Ցույց են տրվում 1 համարից մինչև 15 համարի արդյունքները՝ ընդհանուր 536 հատից

Թեմա: C++

Ծառի տեսքով դիտում

Նախորդ գրառումը Նախորդ գրառումը   Հաջորդ գրառումը Հաջորդ գրառումը
  1. #11
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում soultaker-ի խոսքերից Նայել գրառումը
    Ուշադրություն դարձրու թե բազմապատկում քանի անգամ կկատարվի առաջին դեպքում, ու քանի անգամ` երկրորդ դեպքում:
    Նույն քանակով է կատարվում:
    Սենց հաշվենք` m[i][j] պարագայում կատարվում է i*j անգամ: *p=m[i] դեպքում կատարվում է i անգամ, իսկ քանի որ յուրաքանչյուր p[i] համար, ինչպես ցույց տվեցի, կատարվում է j անգամ, ուստի նույնպես կատարվում է i*j անգամ
    Բայց քանի որ յուրաքանչյուր տողի համար կատարվում է *p=m[i], ապա i անգամ կատարվում է հղման փոփոխականի վերագրում և հասցեի տրամադրում: Հենց սա էլ դանդաղացնում է:
    Համ էլ արդեն գտել եմ` Դեյտելից գտա զանգվածների հետ ցուցիչներով ու հղումներով աշխատելու համեմատականությունը:
    Ծրագրի համարժեքության տեսանկյունից այսպես է.
    Օրինակ` ունենք
    int b[5];
    int x;
    int *bPrt = b;
    Ուզում ենք դիմել 3-րդ էլէմենտին
    Իրար համարժեք են
    1. x = b[2]
    2. x = *(b+2)
    3. x = bPtr[2]
    4. x = *(bPtr+2)

    Բայց այս գործողութոյւններից ավելի արագ են կատարվում առաջին 2-ը, քանի որ չկա միջանկյալ *bPtr = b գործողութունը, որն էլ իր հերթին է տակտեր վերցնում պրոցեսորից:

    աղբյուր` Դեյտել C++ էջ 346-347
    Լոխ մունք ենք, մնացածը` լոխ են...

  2. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    soultaker (05.04.2012)

Թեմայի մասին

Այս թեման նայող անդամներ

Այս պահին թեմայում են 2 հոգի. (0 անդամ և 2 հյուր)

Էջանիշներ

Էջանիշներ

Ձեր իրավունքները բաժնում

  • Դուք չեք կարող նոր թեմաներ ստեղծել
  • Դուք չեք կարող պատասխանել
  • Դուք չեք կարող կցորդներ տեղադրել
  • Դուք չեք կարող խմբագրել ձեր գրառումները
  •