Самый простой способ сделать простой связанный граф - это соединить узел со всеми другими узлами графа:
for v in G.keys():
if v != '1' and '1' not in G[v]:
G['1'].append(v)
G[v].append('1')
Здесь мы не использовали DFS или BFS , Код очень прост, но количество добавляемых ребер не минимально. Этот код может использоваться только в простых графах (потому что определение связности отличается для ориентированных графов).
Временная сложность этого алгоритма составляет O (| V | + | E |) или O (n + m). Если вы используете DFS или BFS, сложность времени будет такой же.
Не уверенный, если я понял Ваш вопрос правильно.
Принятие Вас запросит на основе идентификатора A, как насчет того, чтобы писать запрос в ibatis, который присоединяется к этим двум таблицам?
select *
from a, a_to_b_map
where a.id = #id# and a.id = a_to_b_map.a_id
Можно затем использовать 'queryForMap' для возврата hashmap a_id по сравнению с (набор записей от запроса). Используйте пользовательский метод преобразовать эту структуру данных в объект
Ну, я мог найти немного полезной информации в документации iBatis 2 разработчика по http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/en/iBATIS-SqlMaps-2_en.pdf (specificatlly, страницы 36,37)