|
|
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
rstudio мне не оч. интересно заниматься довольно рутинной работой. Я просто показал что рекурсию можно довольно просто переписывать итеративно. я уже выше упоминал, что сабжевый алгоритм легко преобразовать в итеративный. а вот итеративной ф-и Аккермана я нигде не нашел. а так, как ты упомянул выше, что понял как она реализуется, то я и попросил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 18:34:44 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNrstudio мне не оч. интересно заниматься довольно рутинной работой. Я просто показал что рекурсию можно довольно просто переписывать итеративно. а вот итеративной ф-и Аккермана я нигде не нашел. может быть здесь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 18:38:07 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
rstudio, извиняюсь что морочил тебе голову, просто вспомнил упражнение которое не смог сделать, и подумал что то была ф-я Аккермана. а задача была такая: автор Упражнение 3.18. Напишите процедуру, которая рассматривает список и определяет, содержится ли в нем цикл, то есть, не войдет ли программа, которая попытается добраться до конца списка, продвигаясь по полям cdr, в бесконечный цикл. Такие списки порождались в упражнении 3.13. Упражнение 3.19. Переделайте упражнение 3.18, используя фиксированное количество памяти. (Тут нужна доста- точно хитрая идея.) сидел целый час, но ничего не придумал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 18:50:32 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
rstudio, и в каком из тех решений, занимаемая память не зависит от n? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 18:54:17 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
итеративной реализации ф-и Аккермана, наверное не существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 18:59:18 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
Итеративных там несколько вариантов, но с минимумом памяти это нужно исследовать алгоритм в специализированной тулзе. Например кое что о алгоритме может рассказать Research Studio, токма Анкермана нужно переписать на васике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 19:06:58 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
От смотри, от список вызовов функций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 19:30:40 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
От как менялся от функции к функции параметр Ret ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 19:31:21 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
Ну и собсно васиковская реализация Анкермана в эмуляторе RS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 19:32:06 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
void __fastcall TForm1::Button1Click(TObject *Sender) { const int n_symbols = 3; char buf[ n_symbols + 1]; int imax = pow( 26, n_symbols); for( int i = 0; i < imax; i++) { char* p = buf; for( int k = 0, s = i; k < n_symbols ; k++) { *p ++ = s % 26 + 'a'; s /= 26; } *p = 0; strrev( buf); Memo1->Lines->Add( buf); } return; } > плюс что делать если надо генерить варианты 20 символьных строк. поставить n_symbols = 20, если надо то использовать __int64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 01:10:38 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 08:41:17 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
ну яvoid __fastcall TForm1::Button1Click(TObject *Sender) { const int n_symbols = 3; char buf[ n_symbols + 1]; int imax = pow( 26, n_symbols); for( int i = 0; i < imax; i++) { char* p = buf; for( int k = 0, s = i; k < n_symbols ; k++) { *p ++ = s % 26 + 'a'; s /= 26; } *p = 0; strrev( buf); Memo1->Lines->Add( buf); } return; } > плюс что делать если надо генерить варианты 20 символьных строк. поставить n_symbols = 20, если надо то использовать __int64 не прокатит даже с инт64 2^64 =18446744073709551616 26^20 =19928148895209409152340197376 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:11:16 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, классический боянчик для linked list'ов. Рекурсивно будет где-то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:13:55 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
rstudio, ткни меня носом. не нашел я там алгоритма с константным потреблением памяти. чем отличается итеративный алгоритм от рекурсивного советую почитать. не рекурсией или итерациями, а именно потребляемой памятью. те алгоритмы которые названы итеративными потребляют стек или длинную арифметику, то есть пользы от переписывания нет. жаль там не пишут потребляемую память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:14:14 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNитеративной реализации ф-и Аккермана, наверное не существует. Мне тоже не верится. Но не в итерации. А в реализацию Аккермана на конечных автоматах, для заранее неизвестного (m,n). Использование стеков, списков, variable arrays - будет фейком по определению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:35:57 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
Такшо мне Нобелевку дадут если я Анкермана запишу итеративно с фиксированным или линейным потреблением памяти ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:39:16 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
Я скажу спасиб. И попрошу исходник в свою коллекцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:42:04 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
Курите скрины с Ресерч Студио. Определенные закономерности она уже показала, например как меняется М. 222 11 00 1111 0000 1111111 000000 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 10:52:46 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
rstudio, c фиксированным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2010, 13:53:08 |
|
||
|
алгоритм последовательной генерации строк aaa-zzz
|
|||
|---|---|---|---|
|
#18+
fleandr, Нашел, писал когда - то на си шарпе, и вот такое у себя нашел :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. Зачем эту шняку написал, даже вспомнил. Надо было с эксел работать, я начал столбцы перебирать по буквам, и тут захотелось мне универсальности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2010, 00:26:31 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36688517&tid=1343619]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 448ms |

| 0 / 0 |
