рекурсивный вызов функции.

Discussion in 'Болталка' started by AnGeI, 6 Dec 2010.

  1. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    457
    Likes Received:
    80
    Reputations:
    16
    Хорошо или плохо с точки зрения оптимизации (быстродействия, ресурсоемкости).
    [SIZE=-1]Любой ЯП.[/SIZE]
     
  2. [Alteza]

    [Alteza] Banned

    Joined:
    21 Apr 2010
    Messages:
    66
    Likes Received:
    113
    Reputations:
    16
    Рекурсивные функции стоит использовать только там, где это действительно необходимо, например когда решение задачи (математический алгоритм) имеет рекурсивную природу. С точки зрения производительности - это довольно медленно (* относительно)
     
  3. drim

    drim Member

    Joined:
    27 Aug 2009
    Messages:
    361
    Likes Received:
    30
    Reputations:
    3
    это не только медленно, т.к. накладные расходы на множественный вызов функций, но ещё и по памяти накладно. Единственный плюс - лаконичность записи.
     
  4. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,126
    Likes Received:
    459
    Reputations:
    38
    Ану покажите мне как построить дерево всех файлов\папок в указанной директории без рекурсии?
     
  5. barnaki

    barnaki Level 8

    Joined:
    2 Nov 2008
    Messages:
    670
    Likes Received:
    113
    Reputations:
    4
    вот без рекурсии на php . только не работает. добрые люди сказали что не работает потому что это shell. но в принципе алгоритм такой.
    PHP:
    $dir opendir("../books");
    while((
    $file readdir($dir)) !== false )
     
         {
         
         
         echo 
    "$file<br />";
         if (
    $file != '.' || $file != '..' ) {
         
    $bookdir opendir("./$file");
         
         while ((
    $link readdir($bookdir)) !== false)
         {
         echo 
    "$link <br />";
         }                                  
         
    closedir($bookdir);                  }
         
             
         
         }
         
    closedir($dir);
     
  6. modestus

    modestus New Member

    Joined:
    12 Oct 2010
    Messages:
    35
    Likes Received:
    4
    Reputations:
    5
    В ФП применяется везде.
    А так, то не вижу ничего страшного - просто постоянно вызывается функция, иногда существенно упрощает жизнь.
     
Loading...