Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

Преобразование выражений   Найти похожие ветки 

 
Kerk ©   (2007-02-27 20:36) [0]

Необходимо проводить такие вот преобразования:
НормальнаяЗапись => ОбратнаяПольскаяЗапись => НормальнаяЗапись
Причем важно, чтоб до и после преобразования в ОПЗ нормальные записи были идентичны.

Может кто-то видел готовый алгоритм [ОбратнаяПольскаяЗапись => НормальнаяЗапись]? Нет времени самому все детали прорабатывать.


 
TUser ©   (2007-02-27 20:42) [1]

Реализуешь дерево, там обход, главное право и лево не перепутать, больше никаких деталей нет. За пол-часа - час вроде уложиться можно, имхо. На форуме всяко дольше будет, имхо.


 
Ketmar ©   (2007-02-27 20:45) [2]

15 минут. recursive descent parsing.


 
TUser ©   (2007-02-27 20:48) [3]

> 15 минут

Ты крут. Что будет, когда придут Мастера?


 
Kerk ©   (2007-02-27 20:52) [4]

Да. Действительно просто дерево. Но надо еще как-то порядок операндов хранить будет.


 
TUser ©   (2007-02-27 20:57) [5]

Дерево бинарное, один операнд - правый, другой - левый. Ну и при разборе обратной польской и в Дейкстре не перепутать.


 
Ketmar ©   (2007-02-27 20:57) [6]

не надо. само хранится. потому что дерево. очень похожее на двоичное. строй по правилам, обходи по правилам -- всё получится автоматически. из дерева можно сгенерировать необходимое представление.

или ещё проще: нафиг деревья. сразу преобразовывай в постфикс. никакие деревья для этого не нужны: чито прочитали, то и напечатали. постфикс же в нормальный преобразуется простой стековой машиной.


 
Ketmar ©   (2007-02-27 20:58) [7]

> TUser ©   (27.02.07 20:48) [3]
знаешь, сколько раз я такой код писал? для меня это уже no-brainer work...


 
Kerk ©   (2007-02-27 21:06) [8]

Осталось закодить все это на этом гребанном PL/SQL


 
Ketmar ©   (2007-02-27 21:11) [9]

ой. вот с этого и начинать надо было. %-)) тут время сразу возрастает часов до 8.



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
15-1172946626
Vikos
2007-03-03 21:30
2007.03.25
Delphi: (дата1-дата2)-выходные=кол.дней


8-1152074992
Аман
2006-07-05 08:49
2007.03.25
Ошибка частой перерисовки Image


15-1172499171
Petr V. Abramov
2007-02-26 17:12
2007.03.25
С почином!


15-1171998702
Radgar
2007-02-20 22:11
2007.03.25
Корень числа


2-1172914538
Нуб
2007-03-03 12:35
2007.03.25
динамическое окно + динамическая кнопка