Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
#1

обход дерева - C++

16.01.2013, 14:57. Просмотров 548. Ответов 9
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct SAcson
{
    int l,c; // строка, столбец
    float x; // заряд
    bool e; // возбуждающий или тормозящий
};
struct SSinapc
{
    int l,c; // строка, столбец
};
struct SNeiron
{
    float w; // весы
    float c; // заряд
    vector <SAcson> a; // аксон
    vector <SSinapc> s; // синапс
    inline bool operator== (SNeiron * n) {return (n == this) ? true : false;}
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void SNetAI::bypass(vector<SAcson* > &ns,  vector<SNeiron* > &nw ,vector <SNeiron> :: iterator n, bool nerr)
 {
    
    for (vector <SSinapc> ::iterator i = n->s.begin() ; i < n->s.end(); i++)
    {
        for (vector <SAcson> ::iterator j = neirons[i->c][i->l].a.begin(); j < neirons[i->c][i->l].a.end(); j++)
        {
            if(j->e != nerr) continue;
            vector <SNeiron> :: iterator n2 = neirons[j->c].begin() + j->l;
            if (n2 == n)
            {
                ns.push_back(&j[0]);
                nw.push_back(&n2[0]);
                break;
            }
        }
        vector <SNeiron> :: iterator n2 = neirons[i->c].begin() + i->l;
        bypass(ns, nw,  n2, nerr);
    }
 }
данные - мы получаем указатель на выводящий нейрон(последний слой) и получаем r (она обозначает интересует нас возбуждающая сеть или тормозящая).
моя задача сделать так чтоб в ns попали все подчёркнутые палочки(аксоны), а в nw попали все подчёркнутые кружочки(нейроны). О ВЕЛИКИЕ подредактируйте пожалуйста мою функцию или напишите свою, которая решила бы данную задачу
Миниатюры
обход дерева  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 14:57     обход дерева
Посмотрите здесь:

Обход дерева по образцу - C++
Помогите осуществить обход дерева по образцу.

Обход n-арного дерева - C++
вопрос какой алгоритм использовать в плане КАК? знаю как хранить и как обходить, но алгоритм Лево Корень Право, а тут распечатывать...

Симметрический обход дерева - C++
Кто знает - симметрический обход дерева - это тоже самое что и сортировка? Получается так.

Обход нагруженного дерева (бора) - C++
Здравствуйте,прошу помощи в объяснении как сделать обход такого дерева. В итоге должно вывести на екран: cat,car,it,is,all. В каждого узла...

Рекурсивный обход НЕбинарного дерева - C++
Имеется функция, которая рекурсивно обходит одну папку. void GetFileList(LPTSTR sPath, Object* fsParser) { WIN32_FIND_DATA...

Бинарное Дерево(обход дерева) - C++
добрый вечер всем!) в универе задали написать бинарное дерево со всеми видами обхода и т.п. я их написал.. но еще дали 1 вывод его надо...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
16.01.2013, 14:58  [ТС]     обход дерева #2
в данном случаи у нас r = 0(тоесть тормоз)
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
16.01.2013, 15:11     обход дерева #3
Van111, Чувак, зачем дублировать темы? А так, гугл ит! Алгоритмов обходоа дерева-масса.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
16.01.2013, 15:12  [ТС]     обход дерева #4
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Чувак, зачем дублировать темы?
модераторы говорят - одна задача - одна тема

Цитата Сообщение от Invader_Zim Посмотреть сообщение
А так, гугл ит! Алгоритмов обходоа дерева масса.
тут не совсем обычное дерево
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
16.01.2013, 15:15     обход дерева #5
Van111, У меня многомерное дерево, обхожу нефиг делать с помощью рекурсии и многопоточности. Фантазию надо подключать, когда Скайнет делаешь.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
16.01.2013, 15:17  [ТС]     обход дерева #6
Цитата Сообщение от Invader_Zim Посмотреть сообщение
У меня многомерное дерево, обхожу нефиг делать с помощью рекурсии и многопоточности
у меня тоже в основе рекурсия. просто хотел обойтись без введения указателей, но придётся с ними
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
16.01.2013, 15:18     обход дерева #7
Интересно, как это, дерево и без указателей? Расскажешь?)Скайп в подписи(XD)
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
16.01.2013, 15:21  [ТС]     обход дерева #8
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Интересно, как это, дерево и без указателей
в том то и дело, дерево мутант)). соеденения возможны как на рисунки выше
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
16.01.2013, 15:22     обход дерева #9
Дерево не обязано быть двоичным)
Дерево-это частный случай графа. Так что действуй. Если что-стучи в скайп.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2013, 15:46     обход дерева
Еще ссылки по теме:

НЕрекурсивный обход бинарного дерева - C++
уважаемые программисты! нужно написать алгоритм обхода бинарного дерева без использования рекурсии, а с помощью стека. Проверить на...

Рекурсивный обход небинарного дерева - C++
Здравствуйте. бьюсь над задачей уже долго, но без помощи, чувствую, никак. Есть дерево, представлено этими двумя структурами. Нужно...

Хитрый обход дерева в глубину - C++
По условию необходимо обойти дерево так чтобы найти путь max длины не имеющий кратных вершин, приэтом советуют пользоваться алгоритмом с...

Как осуществлять обход бинарного дерева? - C++
Хочу создать клас бинарное дерево, но не знаю чем это дерево я буду проходить, как двигатса от одного узла к дргому.(без создания...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Avazart
Эксперт С++
7122 / 5299 / 273
Регистрация: 10.12.2010
Сообщений: 23,453
Записей в блоге: 17
16.01.2013, 15:46     обход дерева #10
C++
1
2
vector <SAcson> a; // аксон
    vector <SSinapc> s; // синапс
Может
C++
1
2
vector <SAcson  * > a; // аксон
vector <SSinapc * > s; // синапс
??

Добавлено через 3 минуты
Вообще тема ближе к теории графов нежели к конкретно деревьям
Yandex
Объявления
16.01.2013, 15:46     обход дерева
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru