Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
#1

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

16.01.2013, 14:57. Просмотров 570. Ответов 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 попали все подчёркнутые кружочки(нейроны). О ВЕЛИКИЕ подредактируйте пожалуйста мою функцию или напишите свою, которая решила бы данную задачу
0
Миниатюры
обход дерева  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 14:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос обход дерева (C++):

Обход дерева - C++
Вот начал читать про деревья и способы их обхода (PreOrder, InOrder и PostOrder). С алгоритмами проблем нет, но видно, как бы это сказать...

Обход дерева) - C++
Прога работает) но сказали, что нужно сделать отдельную функцию обхода дерева) можете помочь) или пример)) #include &lt;iostream.h&gt; ...

обход дерева - C++
Здравствуйте! У меня вопрос: Есть класс: class D { vector &lt;A*&gt; count; }; ...

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

Обход произвольного дерева - C++
struct tree { char info; struct tree *left; struct tree *right; }; так, вопрос глупый -меня просто сомнения берут. вот...

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

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

Цитата Сообщение от Invader_Zim Посмотреть сообщение
А так, гугл ит! Алгоритмов обходоа дерева масса.
тут не совсем обычное дерево
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
16.01.2013, 15:15 #5
Van111, У меня многомерное дерево, обхожу нефиг делать с помощью рекурсии и многопоточности. Фантазию надо подключать, когда Скайнет делаешь.
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
16.01.2013, 15:17  [ТС] #6
Цитата Сообщение от Invader_Zim Посмотреть сообщение
У меня многомерное дерево, обхожу нефиг делать с помощью рекурсии и многопоточности
у меня тоже в основе рекурсия. просто хотел обойтись без введения указателей, но придётся с ними
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
16.01.2013, 15:18 #7
Интересно, как это, дерево и без указателей? Расскажешь?)Скайп в подписи(XD)
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,598
Записей в блоге: 12
16.01.2013, 15:21  [ТС] #8
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Интересно, как это, дерево и без указателей
в том то и дело, дерево мутант)). соеденения возможны как на рисунки выше
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
16.01.2013, 15:22 #9
Дерево не обязано быть двоичным)
Дерево-это частный случай графа. Так что действуй. Если что-стучи в скайп.
0
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,047
Записей в блоге: 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 минуты
Вообще тема ближе к теории графов нежели к конкретно деревьям
0
16.01.2013, 15:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2013, 15:46
Привет! Вот еще темы с ответами:

Обход дерева Хаффмана - C++
Добрый вечер. Имеем кодовое дерево Хаффмана.(в изображении) До каждого узла данного дерева есть путь из 0 и 1 . Для узла 12 ,...

Обход бинарного дерева - C++
Прошу Вас, помогите школьнику, незнающему деревья, завтра срочно надо сдать работу, я никак не могу реализовать... 1. В заданном...

Обход дерева в ширину - C++
имеется такой кусок программы. требуется обойти дерево в ширину. библиотека #include &lt;queue&gt; подключена void...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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