Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Ilya Potrepalov                      2:5020/400     31 Jan 2002  13:11:33
 To : Ilya Potrepalov
 Subject : Re: Посоветуйте алгоритм, очень надо!!!
 -------------------------------------------------------------------------------- 
 
 Ilya Potrepalov сообщил в новостях следующее:
 
 > Можно и так. Hо тут можно и по-другому попробовать. Сам я далек от этого, но
 > кое-какие мысли у меня появились.
 >
 > Для начала нужно сделать предварительную обработку исходной строки:
 > 1. Закрывающиеся скобки в начале строки дополнить открывающимися (и удалить,
 > т.е. дальше их учитывать не нужно).
 > 2. Открывающиеся скобки в конце строки дополнить закрывающимися (и удалить;
 > напимер: '])[[()(][()][))[([' -> '[]()[[()(][()][))[]()[]' ->
 > '[[()(][()][))' ).
 > 3. Удалить внутренние парные скобки (напимер: '[[()(][()][))' -> '[[(][))',
 > это довольно просто и быстро).
 >
 > А далее... Тут можно проанализировать, как человек решает такую задачу.
 
 Здесь еще можно шаг добавть. Если ближайшая к началу закрывающаяся (к
 окончанию - открывающаяся) скобка не имеет соответствующей 'парной' скобки, то
 ее тоже легко можно дополнить и удалить. Hапример: '((]([(]]' ->
 '()()[]()[()]]' -> ']' -> '[]' (круглые скобки не имеют соответствующих
 закрывающихся скобок, поэтому они сразу дополняются; а вот из квадратных -
 только одна не имела соответствующей открывающейся скобки).
 
 > Я ее решаю так: смотрю на начальную последовательность открывающихся скобок
 > (до первой закрывающейся) и ищу _максимально_ длинную соответствующую
 > последовательность закрывающихся скобок. И тоже их 'сокращаю'. Hапример:
 
 Опс. А вот здесь не так. Сначала нужно искать максимально длинную
 последовательность скобок одного направления (открывающихся или
 закрывающихся). А потом уже искать ближайшую максимально длинную
 последовательность соответствующих скобок. Пример:
 
 ([(](((]))))) -> ([( ] ((( ]  ))))) ->
 
 ->  ([(]  (((  ]  )))  ))  ->  ([(] ))  -> ([  (  ])  )
 
 > ([)])[(])]  ->  ([  )  ])   [(])]        (пробелы для наглядности)
 > ([(([)]])])  ->  ([(  ([)]]  )])
 > [[(][))  ->  [  [  (  ]  [))    или   [[  (  ][  )  )   - оба разбиения дают
 > одинаковый результат
 
 С учетом дополнения, строки '[[(][))' на этом этапе быть не должно.  Она
 должна на предыдущем этапе сократиться до '[[(]))'.
 
 > ([(([)]]))][)  ->  (  [(([  )]  ]))]  [)
 
 И здесь:
 
 ([(([)]]))][) -> ([(([)]]))][]) -> ([(([ )] ]))])
 
 Так что основная сложность - правильно разбить исходную строку на отдельные
 фрагменты.
 
 Илья
 
 --- ifmail v.2.15dev5
  * Origin: In God we trust. Others must pay. (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Посоветуйте алгоритм, очень надо!!!   Aleksey Nilov   24 Jan 2002 20:46:28 
 Re: Посоветуйте алгоритм, очень надо!!!   Grandalf Gray   25 Jan 2002 19:44:12 
 Re: Посоветуйте алгоритм, очень надо!!!   Grandalf Gray   25 Jan 2002 20:52:01 
 Re: Посоветуйте алгоритм, очень надо!!!   Aleksey Nilov   26 Jan 2002 03:00:47 
 Re^2: Посоветуйте алгоритм, очень надо!!!   Sergey Politov   26 Jan 2002 06:50:50 
 Посоветуйте алгоритм, очень надо!!!   Max Alekseyev   25 Jan 2002 23:15:54 
 Посоветуйте алгоритм, очень надо!!!   Max Alekseyev   26 Jan 2002 03:40:34 
 Посоветуйте алгоритм, очень надо!!!   Max Alekseyev   25 Jan 2002 22:08:58 
 Re: Посоветуйте алгоритм, очень надо!!!   Grandalf Gray   26 Jan 2002 12:46:42 
 Посоветуйте алгоритм, очень надо!!!   Max Alekseyev   26 Jan 2002 02:30:30 
 Re: Посоветуйте алгоритм, очень надо!!!   Grandalf Gray   26 Jan 2002 12:46:43 
 Посоветуйте алгоритм, очень надо!!!   Max Alekseyev   25 Jan 2002 22:04:28 
 Посоветуйте алгоритм, очень надо!!!   Aleksey Nilov   29 Jan 2002 01:53:54 
 Посоветуйте алгоритм, очень надо!!!   Max Alekseyev   28 Jan 2002 16:49:14 
 Re: Посоветуйте алгоритм, очень надо!!!   Sergey Politov   29 Jan 2002 06:34:29 
 Re: Посоветуйте алгоритм, очень надо!!!   Aleksey Nilov   31 Jan 2002 02:43:30 
 Re: Посоветуйте алгоритм, очень надо!!!   Ilya Potrepalov   31 Jan 2002 09:41:58 
 Re: Посоветуйте алгоритм, очень надо!!!   Ilya Potrepalov   31 Jan 2002 13:11:33 
 Re^2: Посоветуйте алгоритм, очень надо!!!   Sergey Politov   01 Feb 2002 06:43:50 
 Re: Re^2: Посоветуйте алгоритм, очень надо! !!   Ilya Potrepalov   01 Feb 2002 15:46:36 
 Посоветуйте алгоритм, очень надо!!!   Sergey Ezhov   26 Jan 2002 14:03:07 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   27 Jan 2002 02:28:38 
 Посоветyйте алгоpитм, очень надо!!!   Sergey Ezhov   27 Jan 2002 22:36:11 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   28 Jan 2002 14:08:18 
 Re: Посоветyйте алгоpитм, очень надо!!!   Sergey Politov   30 Jan 2002 07:23:33 
 Посоветyйте алгоpитм, очень надо!!!   Sergey Ezhov   30 Jan 2002 22:54:47 
 Посоветуйте алгоритм, очень надо!!!   Nickita A Startcev   30 Jan 2002 02:18:38 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   27 Jan 2002 02:39:02 
 Re: Посоветyйте алгоpитм, очень надо!!!   Sergey Politov   27 Jan 2002 06:23:28 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   28 Jan 2002 03:18:38 
 Re: Посоветyйте алгоpитм, очень надо!!!   Sergey Politov   28 Jan 2002 06:46:54 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   29 Jan 2002 15:25:24 
 Посоветyйте алгоpитм, очень надо!!!   Oleg Yanchenkov   30 Jan 2002 22:03:08 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   01 Feb 2002 02:45:34 
 re: Посоветyйте алгоpитм, очень надо!!!   Valentin Kononov   30 Jan 2002 00:07:05 
 Re: Посоветyйте алгоpитм, очень надо!!!   Andrew Ezhguroff   31 Jan 2002 01:40:00 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   31 Jan 2002 02:19:28 
 Re^2: Посоветyйте алгоpитм, очень надо!!!   Sergey Politov   31 Jan 2002 05:25:21 
 re: Посоветyйте алгоpитм, очень надо!!!   Valentin Kononov   31 Jan 2002 23:44:04 
 re:Посоветyйте алгоpитм, очень надо!!!   Valentin Kononov   04 Feb 2002 00:16:36 
 Re: re:Посоветyйте алгоpитм, очень надо!!!   Ilya Potrepalov   05 Feb 2002 07:58:56 
 Посоветyйте алгоpитм, очень надо!!!   Oleg Yanchenkov   28 Jan 2002 08:30:07 
 Re: Посоветyйте алгоpитм, очень надо!!!   Sergey Politov   29 Jan 2002 06:08:00 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   29 Jan 2002 15:27:40 
 Re: Посоветуйте алгоритм, очень надо!!!   Michael Leontyev   29 Jan 2002 14:46:19 
 Посоветyйте алгоpитм, очень надо!!!   Stanislav Aranovsky   30 Jan 2002 04:25:30 
 Re: Посоветyйте алгоpитм, очень надо!!!   Michael Leontyev   30 Jan 2002 10:45:03 
 Re^2: Посоветуйте алгоритм, очень надо!!!   Sergey Politov   30 Jan 2002 07:55:24 
 Посоветyйте алгоpитм, очень надо!!!   Oleg Yanchenkov   01 Feb 2002 00:31:21 
 Re: Посоветуйте алгоритм, очень надо!!!   Zapadinsky Anatoly \\(ZAB\\)   30 Jan 2002 18:06:09 
 Re: Посоветуйте алгоритм, очень надо!!!   Michael Leontyev   30 Jan 2002 18:59:35 
Архивное /ru.algorithms/64866b09f518.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional